Login

Subversion Repositories NedoOS

Rev

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


; ╨в╨░╨▒╨╗╨╕╤Ж╨░ ╨╕╨╝╨╡╨╜
; ----------------------------------------------------------------------
name_table:

    defw        0
    defw        name_add,   name_or,    name_adc,   name_sbb        ; 1
    defw        name_and,   name_sub,   name_xor,   name_cmp        ; 5
    defw        name_push,  name_pop,   name_daa,   name_das        ; 9
    defw        name_aaa,   name_aas,   name_lock,  name_repnz      ; 13
    defw        name_repz,  name_inc,   name_dec,   name_pusha      ; 17
    defw        name_popa,  name_bound, name_arpl,  name_imul       ; 21
    defw        name_insb,  name_insw,  name_outsb, name_outsw      ; 25
    defw        name_hlt,   name_cmc,   name_clc,   name_stc        ; 29
    defw        name_cli,   name_sti,   name_cld,   name_std        ; 33
    defw        name_jo,    name_jno,   name_jb,    name_jnb        ; 37
    defw        name_je,    name_jne,   name_jbe,   name_ja         ; 41
    defw        name_js,    name_jns,   name_jp,    name_jnp        ; 45
    defw        name_jl,    name_jnl,   name_jle,   name_jg         ; 49
    defw        name_test,  name_xchg,  name_mov,   name_nop        ; 53
    defw        name_lea,   name_cbw,   name_cwd,   name_call       ; 57
    defw        name_fwait, name_pushf, name_popf,  name_sahf       ; 61
    defw        name_lahf,  name_movsb, name_movsw, name_cmpsb      ; 65
    defw        name_cmpsw, name_stosb, name_stosw, name_lodsb      ; 69
    defw        name_lodsw, name_scasb, name_scasw, name_ret        ; 73
    defw        name_retf,  name_iret,  name_aam,   name_aad        ; 77
    defw        name_salc,  name_xlat,  name_les,   name_lds        ; 81
    defw        name_enter, name_leave, name_int3,  name_int1       ; 85
    defw        name_int,   name_into,  name_loopnz,name_loopz      ; 89
    defw        name_loop,  name_jcxz,  name_in,    name_out        ; 93
    defw        name_jmp

name_table_ext:

    defw        name_rdtsc, name_movzx, name_movsx, name_cmov

name_cmovccc:

    defw        name_o,     name_no,    name_b,     name_nb
    defw        name_z,     name_nz,    name_be,    name_a
    defw        name_s,     name_ns,    name_p,     name_np
    defw        name_l,     name_ge,    name_le,    name_g

name_modrm_table:

    defw        name_r_m0, name_r_m1, name_r_m2, name_r_m3
    defw        name_r_m4, name_r_m5, name_r_m6, name_r_m7
    defw        name_byte, name_word

name_r8:

    defw        name_r8_0, name_r8_1, name_r8_2, name_r8_3
    defw        name_r8_4, name_r8_5, name_r8_6, name_r8_7

name_r16:

    defw        name_r16_0, name_r16_1, name_r16_2, name_r16_3
    defw        name_r16_4, name_r16_5, name_r16_6, name_r16_7

name_seg:

    defw        0
    defw        name_es, name_cs, name_ss, name_ds, name_fs, name_gs

name_shift:

    defw        name_rol, name_ror, name_rcl, name_rcr
    defw        name_shl, name_shr, name_sal, name_sar

name_f6:

    defw        name_test, name_test, name_not, name_neg
    defw        name_mul,  name_imul, name_div, name_idiv

name_f7:

    defw        name_inc, name_dec,  name_call, name_callf
    defw        name_jmp, name_jmpf, name_push, name_inv

operand_proc:

    defw        0
    defw        show_modrm          ; 1
    defw        show_aluim          ; 2
    defw        show_405f           ; 3
    defw        show_rel8           ; 4 ╨Ю╤В╨╜╨╛╤Б╨╕╤В╨╡╨╗╤М╨╜╤Л╨╣ ╨┐╨╡╤А╨╡╤Е╨╛╨┤ 8 bit
    defw        show_pushpopseg     ; 5
    defw        show_grp80          ; 6
    defw        show_grp81          ; 7
    defw        show_grp83          ; 8
    defw        show_mov8           ; 9
    defw        show_mov16          ; 10
    defw        show_xchgw          ; 11
    defw        show_r16rm          ; 12
    defw        show_rmr16          ; 13
    defw        show_i16            ; 14
    defw        show_i8             ; 15
    defw        show_i8sgn          ; 16
    defw        show_imulrm16       ; 17
    defw        show_imulrm8        ; 18
    defw        show_segoff16       ; 19 jmp far
    defw        show_rel16          ; 20
    defw        show_enter          ; 21
    defw        show_alm8           ; 22
    defw        show_axm16          ; 23
    defw        show_m8al           ; 24
    defw        show_m16ax          ; 25
    defw        show_rmsreg         ; 26
    defw        show_segrm          ; 27
    defw        show_rm16           ; 28
    defw        show_rmi8           ; 29
    defw        show_rmi16          ; 30
    defw        show_acimm          ; 31
    defw        show_acdx           ; 32
    defw        show_immac          ; 33
    defw        show_dxac           ; 34
    defw        show_grpc0          ; 35
    defw        show_grpd0          ; 36
    defw        show_grpd2          ; 37
    defw        show_grpf6          ; 38
    defw        show_grpfe          ; 39
    defw        show_grpff          ; 40
    defw        show_0fextend       ; 41
    defw        show_fpu            ; 42

; ╨в╨░╨▒╨╗╨╕╤Ж╨░ ╨╝╨╜╨╡╨╝╨╛╨╜╨╕╨║
; ----------------------------------------------------------------------
name_add:       defb    "add",0     ; 1
name_or:        defb    "or",0      ; 2
name_adc:       defb    "adc",0     ; 3
name_sbb:       defb    "sbb",0     ; 4
name_and:       defb    "and",0     ; 5
name_sub:       defb    "sub",0     ; 6
name_xor:       defb    "xor",0     ; 7
name_cmp:       defb    "cmp",0     ; 8
name_push:      defb    "push",0    ; 9
name_pop:       defb    "pop",0     ; 10
name_daa:       defb    "daa",0     ; 11
name_das:       defb    "das",0     ; 12
name_aaa:       defb    "aaa",0     ; 13
name_aas:       defb    "aas",0     ; 14
name_lock:      defb    "lock ",0   ; 15
name_repnz:     defb    "repnz ",0  ; 16
name_repz:      defb    "repz ",0   ; 17
name_inc:       defb    "inc",0     ; 18
name_dec:       defb    "dec",0     ; 19
name_pusha:     defb    "pusha",0   ; 20
name_popa:      defb    "popa",0    ; 21
name_bound:     defb    "bound",0   ; 22
name_arpl:      defb    "arpl",0    ; 23
name_imul:      defb    "imul",0    ; 24
name_insb:      defb    "insb",0    ; 25
name_insw:      defb    "insw",0    ; 26
name_outsb:     defb    "outsb",0   ; 27
name_outsw:     defb    "outsw",0   ; 28
name_hlt:       defb    "hlt",0     ; 29
name_cmc:       defb    "cmc",0     ; 30
name_clc:       defb    "clc",0     ; 31
name_stc:       defb    "stc",0     ; 32
name_cli:       defb    "cli",0     ; 33
name_sti:       defb    "sti",0     ; 34
name_cld:       defb    "cld",0     ; 35
name_std:       defb    "std",0     ; 36
name_jo:        defb    "jo",0      ; 37
name_jno:       defb    "jno",0     ; 38
name_jb:        defb    "jb",0      ; 39
name_jnb:       defb    "jnb",0     ; 40
name_je:        defb    "je",0      ; 41
name_jne:       defb    "jne",0     ; 42
name_jbe:       defb    "jbe",0     ; 43
name_ja:        defb    "ja",0      ; 44
name_js:        defb    "js",0      ; 45
name_jns:       defb    "jns",0     ; 46
name_jp:        defb    "jp",0      ; 47
name_jnp:       defb    "jnp",0     ; 48
name_jl:        defb    "jl",0      ; 49
name_jnl:       defb    "jnl",0     ; 50
name_jle:       defb    "jle",0     ; 51
name_jg:        defb    "jg",0      ; 52
name_test:      defb    "test",0    ; 53
name_xchg:      defb    "xchg",0    ; 54
name_mov:       defb    "mov",0     ; 55
name_nop:       defb    "nop",0     ; 56
name_lea:       defb    "lea",0     ; 57
name_cbw:       defb    "cbw",0     ; 58
name_cwd:       defb    "cwd",0     ; 59
name_call:      defb    "call",0    ; 60
name_fwait:     defb    "fwait",0   ; 61
name_pushf:     defb    "pushf",0   ; 62
name_popf:      defb    "popf",0    ; 63
name_sahf:      defb    "sahf",0    ; 64
name_lahf:      defb    "lahf",0    ; 65
name_movsb:     defb    "movsb",0   ; 66
name_movsw:     defb    "movsw",0   ; 67
name_cmpsb:     defb    "cmpsb",0   ; 68
name_cmpsw:     defb    "cmpsw",0   ; 69
name_stosb:     defb    "stosb",0   ; 70
name_stosw:     defb    "stosw",0   ; 71
name_lodsb:     defb    "lodsb",0   ; 72
name_lodsw:     defb    "lodsw",0   ; 73
name_scasb:     defb    "scasb",0   ; 74
name_scasw:     defb    "scasw",0   ; 75
name_ret:       defb    "ret",0     ; 76
name_retf:      defb    "retf",0    ; 77
name_iret:      defb    "iret",0    ; 78
name_aam:       defb    "aam",0     ; 79
name_aad:       defb    "aad",0     ; 80
name_salc:      defb    "salc",0    ; 81
name_xlat:      defb    "xlatb",0   ; 82
name_les:       defb    "les",0     ; 83
name_lds:       defb    "lds",0     ; 84
name_enter:     defb    "enter",0   ; 85
name_leave:     defb    "leave",0   ; 86
name_int3:      defb    "int3",0    ; 87
name_int1:      defb    "int1",0    ; 88
name_int:       defb    "int",0     ; 89
name_into:      defb    "into",0    ; 90
name_loopnz:    defb    "loopnz",0  ; 91
name_loopz:     defb    "loopz",0   ; 92
name_loop:      defb    "loop",0    ; 93
name_jcxz:      defb    "jcxz",0    ; 94
name_in:        defb    "in",0      ; 95
name_out:       defb    "out",0     ; 96
name_jmp:       defb    "jmp",0     ; 97
; ╨Т ╨│╤А╤Г╨┐╨┐╨░╤Е
name_not:       defb    "not",0     ; 98
name_neg:       defb    "neg",0     ; 99
name_mul:       defb    "mul",0     ; 100
name_div:       defb    "div",0     ; 101
name_idiv:      defb    "idiv",0    ; 102
name_callf:     defb    "callf",0   ; 103
name_jmpf:      defb    "jmpf",0    ; 104
name_inv:       defb    "<inv>",0   ; 105

; ╨Ф╨╛╨┐╨╛╨╗╨╜╨╕╤В╨╡╨╗╤М╨╜╤Л╨╡ 0Fh xxx
name_rdtsc:     defb    "rdtsc",0   ; 0
name_movzx:     defb    "movzx",0   ; 1
name_movsx:     defb    "movsx",0   ; 2
name_cmov:      defb    "cmov",0   ; 3

; ╨в╨░╨▒╨╗╨╕╤Ж╨░ ╨┤╨╗╤П modrm: rm-╤З╨░╤Б╤В╤М
name_r_m0:      defb    "bx+si",0
name_r_m1:      defb    "bx+di",0
name_r_m2:      defb    "bp+si",0
name_r_m3:      defb    "bp+di",0
name_r_m4:      defb    "si",0
name_r_m5:      defb    "di",0
name_r_m6:      defb    "bp",0
name_r_m7:      defb    "bx",0
name_byte:      defb    "byte",0
name_word:      defb    "word",0

; 8-╨▒╨╕╤В╨╜╤Л╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л
name_r8_0:      defb    "al",0
name_r8_1:      defb    "cl",0
name_r8_2:      defb    "dl",0
name_r8_3:      defb    "bl",0
name_r8_4:      defb    "ah",0
name_r8_5:      defb    "ch",0
name_r8_6:      defb    "dh",0
name_r8_7:      defb    "bh",0

; 16-╨▒╨╕╤В╨╜╤Л╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л
name_r16_0:     defb    "ax",0
name_r16_1:     defb    "cx",0
name_r16_2:     defb    "dx",0
name_r16_3:     defb    "bx",0
name_r16_4:     defb    "sp",0
name_r16_5:     defb    "bp",0
name_r16_6:     defb    "si",0
name_r16_7:     defb    "di",0

; ╨б╨╡╨│╨╝╨╡╨╜╤В╨╜╤Л╨╡ ╨┐╤А╨╡╤Д╨╕╨║╤Б╤Л
name_es:        defb    "es",0
name_cs:        defb    "cs",0
name_ss:        defb    "ss",0
name_ds:        defb    "ds",0
name_fs:        defb    "fs",0
name_gs:        defb    "gs",0

; ╨б╨┤╨▓╨╕╨│╨╛╨▓╤Л╨╡
name_rol:       defb    "rol",0
name_ror:       defb    "ror",0
name_rcl:       defb    "rcl",0
name_rcr:       defb    "rcr",0
name_shl:       defb    "shl",0
name_shr:       defb    "shr",0
name_sal:       defb    "sal",0
name_sar:       defb    "sar",0

; ╨г╤Б╨╗╨╛╨▓╨╕╤П
name_o:         defb    "o",0       ; 0
name_no:        defb    "no",0      ; 1
name_b:         defb    "b",0       ; 2
name_nb:        defb    "nb",0      ; 3
name_z:         defb    "z",0       ; 4
name_nz:        defb    "nz",0      ; 5
name_be:        defb    "be",0      ; 6
name_a:         defb    "a",0       ; 7
name_s:         defb    "s",0       ; 8
name_ns:        defb    "ns",0      ; 9
name_p:         defb    "p",0       ; a
name_np:        defb    "np",0      ; b
name_l:         defb    "l",0       ; c
name_ge:        defb    "ge",0      ; d
name_le:        defb    "le",0      ; e
name_g:         defb    "g",0       ; f