?login_element?

Subversion Repositories NedoOS

Rev

Rev 1285 | Blame | Compare with Previous | Last modification | View Log | Download

  1.  
  2. ; Таблица имен
  3. ; ----------------------------------------------------------------------
  4. name_table:
  5.  
  6.     defw        0
  7.     defw        name_add,   name_or,    name_adc,   name_sbb        ; 1
  8.     defw        name_and,   name_sub,   name_xor,   name_cmp        ; 5
  9.     defw        name_push,  name_pop,   name_daa,   name_das        ; 9
  10.     defw        name_aaa,   name_aas,   name_lock,  name_repnz      ; 13
  11.     defw        name_repz,  name_inc,   name_dec,   name_pusha      ; 17
  12.     defw        name_popa,  name_bound, name_arpl,  name_imul       ; 21
  13.     defw        name_insb,  name_insw,  name_outsb, name_outsw      ; 25
  14.     defw        name_hlt,   name_cmc,   name_clc,   name_stc        ; 29
  15.     defw        name_cli,   name_sti,   name_cld,   name_std        ; 33
  16.     defw        name_jo,    name_jno,   name_jb,    name_jnb        ; 37
  17.     defw        name_je,    name_jne,   name_jbe,   name_ja         ; 41
  18.     defw        name_js,    name_jns,   name_jp,    name_jnp        ; 45
  19.     defw        name_jl,    name_jnl,   name_jle,   name_jg         ; 49
  20.     defw        name_test,  name_xchg,  name_mov,   name_nop        ; 53
  21.     defw        name_lea,   name_cbw,   name_cwd,   name_call       ; 57
  22.     defw        name_fwait, name_pushf, name_popf,  name_sahf       ; 61
  23.     defw        name_lahf,  name_movsb, name_movsw, name_cmpsb      ; 65
  24.     defw        name_cmpsw, name_stosb, name_stosw, name_lodsb      ; 69
  25.     defw        name_lodsw, name_scasb, name_scasw, name_ret        ; 73
  26.     defw        name_retf,  name_iret,  name_aam,   name_aad        ; 77
  27.     defw        name_salc,  name_xlat,  name_les,   name_lds        ; 81
  28.     defw        name_enter, name_leave, name_int3,  name_int1       ; 85
  29.     defw        name_int,   name_into,  name_loopnz,name_loopz      ; 89
  30.     defw        name_loop,  name_jcxz,  name_in,    name_out        ; 93
  31.     defw        name_jmp
  32.  
  33. name_table_ext:
  34.  
  35.     defw        name_rdtsc, name_movzx, name_movsx, name_cmov
  36.  
  37. name_cmovccc:
  38.  
  39.     defw        name_o,     name_no,    name_b,     name_nb
  40.     defw        name_z,     name_nz,    name_be,    name_a
  41.     defw        name_s,     name_ns,    name_p,     name_np
  42.     defw        name_l,     name_ge,    name_le,    name_g
  43.  
  44. name_modrm_table:
  45.  
  46.     defw        name_r_m0, name_r_m1, name_r_m2, name_r_m3
  47.     defw        name_r_m4, name_r_m5, name_r_m6, name_r_m7
  48.     defw        name_byte, name_word
  49.  
  50. name_r8:
  51.  
  52.     defw        name_r8_0, name_r8_1, name_r8_2, name_r8_3
  53.     defw        name_r8_4, name_r8_5, name_r8_6, name_r8_7
  54.  
  55. name_r16:
  56.  
  57.     defw        name_r16_0, name_r16_1, name_r16_2, name_r16_3
  58.     defw        name_r16_4, name_r16_5, name_r16_6, name_r16_7
  59.  
  60. name_seg:
  61.  
  62.     defw        0
  63.     defw        name_es, name_cs, name_ss, name_ds, name_fs, name_gs
  64.  
  65. name_shift:
  66.  
  67.     defw        name_rol, name_ror, name_rcl, name_rcr
  68.     defw        name_shl, name_shr, name_sal, name_sar
  69.  
  70. name_f6:
  71.  
  72.     defw        name_test, name_test, name_not, name_neg
  73.     defw        name_mul,  name_imul, name_div, name_idiv
  74.  
  75. name_f7:
  76.  
  77.     defw        name_inc, name_dec,  name_call, name_callf
  78.     defw        name_jmp, name_jmpf, name_push, name_inv
  79.  
  80. operand_proc:
  81.  
  82.     defw        0
  83.     defw        show_modrm          ; 1
  84.     defw        show_aluim          ; 2
  85.     defw        show_405f           ; 3
  86.     defw        show_rel8           ; 4 Относительный переход 8 bit
  87.     defw        show_pushpopseg     ; 5
  88.     defw        show_grp80          ; 6
  89.     defw        show_grp81          ; 7
  90.     defw        show_grp83          ; 8
  91.     defw        show_mov8           ; 9
  92.     defw        show_mov16          ; 10
  93.     defw        show_xchgw          ; 11
  94.     defw        show_r16rm          ; 12
  95.     defw        show_rmr16          ; 13
  96.     defw        show_i16            ; 14
  97.     defw        show_i8             ; 15
  98.     defw        show_i8sgn          ; 16
  99.     defw        show_imulrm16       ; 17
  100.     defw        show_imulrm8        ; 18
  101.     defw        show_segoff16       ; 19 jmp far
  102.     defw        show_rel16          ; 20
  103.     defw        show_enter          ; 21
  104.     defw        show_alm8           ; 22
  105.     defw        show_axm16          ; 23
  106.     defw        show_m8al           ; 24
  107.     defw        show_m16ax          ; 25
  108.     defw        show_rmsreg         ; 26
  109.     defw        show_segrm          ; 27
  110.     defw        show_rm16           ; 28
  111.     defw        show_rmi8           ; 29
  112.     defw        show_rmi16          ; 30
  113.     defw        show_acimm          ; 31
  114.     defw        show_acdx           ; 32
  115.     defw        show_immac          ; 33
  116.     defw        show_dxac           ; 34
  117.     defw        show_grpc0          ; 35
  118.     defw        show_grpd0          ; 36
  119.     defw        show_grpd2          ; 37
  120.     defw        show_grpf6          ; 38
  121.     defw        show_grpfe          ; 39
  122.     defw        show_grpff          ; 40
  123.     defw        show_0fextend       ; 41
  124.     defw        show_fpu            ; 42
  125.  
  126. ; Таблица мнемоник
  127. ; ----------------------------------------------------------------------
  128. name_add:       defb    "add",0     ; 1
  129. name_or:        defb    "or",0      ; 2
  130. name_adc:       defb    "adc",0     ; 3
  131. name_sbb:       defb    "sbb",0     ; 4
  132. name_and:       defb    "and",0     ; 5
  133. name_sub:       defb    "sub",0     ; 6
  134. name_xor:       defb    "xor",0     ; 7
  135. name_cmp:       defb    "cmp",0     ; 8
  136. name_push:      defb    "push",0    ; 9
  137. name_pop:       defb    "pop",0     ; 10
  138. name_daa:       defb    "daa",0     ; 11
  139. name_das:       defb    "das",0     ; 12
  140. name_aaa:       defb    "aaa",0     ; 13
  141. name_aas:       defb    "aas",0     ; 14
  142. name_lock:      defb    "lock ",0   ; 15
  143. name_repnz:     defb    "repnz ",0  ; 16
  144. name_repz:      defb    "repz ",0   ; 17
  145. name_inc:       defb    "inc",0     ; 18
  146. name_dec:       defb    "dec",0     ; 19
  147. name_pusha:     defb    "pusha",0   ; 20
  148. name_popa:      defb    "popa",0    ; 21
  149. name_bound:     defb    "bound",0   ; 22
  150. name_arpl:      defb    "arpl",0    ; 23
  151. name_imul:      defb    "imul",0    ; 24
  152. name_insb:      defb    "insb",0    ; 25
  153. name_insw:      defb    "insw",0    ; 26
  154. name_outsb:     defb    "outsb",0   ; 27
  155. name_outsw:     defb    "outsw",0   ; 28
  156. name_hlt:       defb    "hlt",0     ; 29
  157. name_cmc:       defb    "cmc",0     ; 30
  158. name_clc:       defb    "clc",0     ; 31
  159. name_stc:       defb    "stc",0     ; 32
  160. name_cli:       defb    "cli",0     ; 33
  161. name_sti:       defb    "sti",0     ; 34
  162. name_cld:       defb    "cld",0     ; 35
  163. name_std:       defb    "std",0     ; 36
  164. name_jo:        defb    "jo",0      ; 37
  165. name_jno:       defb    "jno",0     ; 38
  166. name_jb:        defb    "jb",0      ; 39
  167. name_jnb:       defb    "jnb",0     ; 40
  168. name_je:        defb    "je",0      ; 41
  169. name_jne:       defb    "jne",0     ; 42
  170. name_jbe:       defb    "jbe",0     ; 43
  171. name_ja:        defb    "ja",0      ; 44
  172. name_js:        defb    "js",0      ; 45
  173. name_jns:       defb    "jns",0     ; 46
  174. name_jp:        defb    "jp",0      ; 47
  175. name_jnp:       defb    "jnp",0     ; 48
  176. name_jl:        defb    "jl",0      ; 49
  177. name_jnl:       defb    "jnl",0     ; 50
  178. name_jle:       defb    "jle",0     ; 51
  179. name_jg:        defb    "jg",0      ; 52
  180. name_test:      defb    "test",0    ; 53
  181. name_xchg:      defb    "xchg",0    ; 54
  182. name_mov:       defb    "mov",0     ; 55
  183. name_nop:       defb    "nop",0     ; 56
  184. name_lea:       defb    "lea",0     ; 57
  185. name_cbw:       defb    "cbw",0     ; 58
  186. name_cwd:       defb    "cwd",0     ; 59
  187. name_call:      defb    "call",0    ; 60
  188. name_fwait:     defb    "fwait",0   ; 61
  189. name_pushf:     defb    "pushf",0   ; 62
  190. name_popf:      defb    "popf",0    ; 63
  191. name_sahf:      defb    "sahf",0    ; 64
  192. name_lahf:      defb    "lahf",0    ; 65
  193. name_movsb:     defb    "movsb",0   ; 66
  194. name_movsw:     defb    "movsw",0   ; 67
  195. name_cmpsb:     defb    "cmpsb",0   ; 68
  196. name_cmpsw:     defb    "cmpsw",0   ; 69
  197. name_stosb:     defb    "stosb",0   ; 70
  198. name_stosw:     defb    "stosw",0   ; 71
  199. name_lodsb:     defb    "lodsb",0   ; 72
  200. name_lodsw:     defb    "lodsw",0   ; 73
  201. name_scasb:     defb    "scasb",0   ; 74
  202. name_scasw:     defb    "scasw",0   ; 75
  203. name_ret:       defb    "ret",0     ; 76
  204. name_retf:      defb    "retf",0    ; 77
  205. name_iret:      defb    "iret",0    ; 78
  206. name_aam:       defb    "aam",0     ; 79
  207. name_aad:       defb    "aad",0     ; 80
  208. name_salc:      defb    "salc",0    ; 81
  209. name_xlat:      defb    "xlatb",0   ; 82
  210. name_les:       defb    "les",0     ; 83
  211. name_lds:       defb    "lds",0     ; 84
  212. name_enter:     defb    "enter",0   ; 85
  213. name_leave:     defb    "leave",0   ; 86
  214. name_int3:      defb    "int3",0    ; 87
  215. name_int1:      defb    "int1",0    ; 88
  216. name_int:       defb    "int",0     ; 89
  217. name_into:      defb    "into",0    ; 90
  218. name_loopnz:    defb    "loopnz",0  ; 91
  219. name_loopz:     defb    "loopz",0   ; 92
  220. name_loop:      defb    "loop",0    ; 93
  221. name_jcxz:      defb    "jcxz",0    ; 94
  222. name_in:        defb    "in",0      ; 95
  223. name_out:       defb    "out",0     ; 96
  224. name_jmp:       defb    "jmp",0     ; 97
  225. ; В группах
  226. name_not:       defb    "not",0     ; 98
  227. name_neg:       defb    "neg",0     ; 99
  228. name_mul:       defb    "mul",0     ; 100
  229. name_div:       defb    "div",0     ; 101
  230. name_idiv:      defb    "idiv",0    ; 102
  231. name_callf:     defb    "callf",0   ; 103
  232. name_jmpf:      defb    "jmpf",0    ; 104
  233. name_inv:       defb    "<inv>",0   ; 105
  234.  
  235. ; Дополнительные 0Fh xxx
  236. name_rdtsc:     defb    "rdtsc",0   ; 0
  237. name_movzx:     defb    "movzx",0   ; 1
  238. name_movsx:     defb    "movsx",0   ; 2
  239. name_cmov:      defb    "cmov",0   ; 3
  240.  
  241. ; Таблица для modrm: rm-часть
  242. name_r_m0:      defb    "bx+si",0
  243. name_r_m1:      defb    "bx+di",0
  244. name_r_m2:      defb    "bp+si",0
  245. name_r_m3:      defb    "bp+di",0
  246. name_r_m4:      defb    "si",0
  247. name_r_m5:      defb    "di",0
  248. name_r_m6:      defb    "bp",0
  249. name_r_m7:      defb    "bx",0
  250. name_byte:      defb    "byte",0
  251. name_word:      defb    "word",0
  252.  
  253. ; 8-битные регистры
  254. name_r8_0:      defb    "al",0
  255. name_r8_1:      defb    "cl",0
  256. name_r8_2:      defb    "dl",0
  257. name_r8_3:      defb    "bl",0
  258. name_r8_4:      defb    "ah",0
  259. name_r8_5:      defb    "ch",0
  260. name_r8_6:      defb    "dh",0
  261. name_r8_7:      defb    "bh",0
  262.  
  263. ; 16-битные регистры
  264. name_r16_0:     defb    "ax",0
  265. name_r16_1:     defb    "cx",0
  266. name_r16_2:     defb    "dx",0
  267. name_r16_3:     defb    "bx",0
  268. name_r16_4:     defb    "sp",0
  269. name_r16_5:     defb    "bp",0
  270. name_r16_6:     defb    "si",0
  271. name_r16_7:     defb    "di",0
  272.  
  273. ; Сегментные префиксы
  274. name_es:        defb    "es",0
  275. name_cs:        defb    "cs",0
  276. name_ss:        defb    "ss",0
  277. name_ds:        defb    "ds",0
  278. name_fs:        defb    "fs",0
  279. name_gs:        defb    "gs",0
  280.  
  281. ; Сдвиговые
  282. name_rol:       defb    "rol",0
  283. name_ror:       defb    "ror",0
  284. name_rcl:       defb    "rcl",0
  285. name_rcr:       defb    "rcr",0
  286. name_shl:       defb    "shl",0
  287. name_shr:       defb    "shr",0
  288. name_sal:       defb    "sal",0
  289. name_sar:       defb    "sar",0
  290.  
  291. ; Условия
  292. name_o:         defb    "o",0       ; 0
  293. name_no:        defb    "no",0      ; 1
  294. name_b:         defb    "b",0       ; 2
  295. name_nb:        defb    "nb",0      ; 3
  296. name_z:         defb    "z",0       ; 4
  297. name_nz:        defb    "nz",0      ; 5
  298. name_be:        defb    "be",0      ; 6
  299. name_a:         defb    "a",0       ; 7
  300. name_s:         defb    "s",0       ; 8
  301. name_ns:        defb    "ns",0      ; 9
  302. name_p:         defb    "p",0       ; a
  303. name_np:        defb    "np",0      ; b
  304. name_l:         defb    "l",0       ; c
  305. name_ge:        defb    "ge",0      ; d
  306. name_le:        defb    "le",0      ; e
  307. name_g:         defb    "g",0       ; f
  308.  
  309.