mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-12-16 11:52:34 +03:00
mtdbg: small improvements in disassembler (but it is still incomplete)
git-svn-id: svn://kolibrios.org@809 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
c8bb74ecc2
commit
37d1685bad
@ -1030,7 +1030,8 @@ draw_window:
|
||||
call draw_dump
|
||||
call draw_disasm
|
||||
; end redraw
|
||||
mov al, 12
|
||||
push 12
|
||||
pop eax
|
||||
push 2
|
||||
pop ebx
|
||||
mcall
|
||||
@ -3306,8 +3307,6 @@ disasm_loop1:
|
||||
|
||||
cop0:
|
||||
clock:
|
||||
crepnz:
|
||||
crep:
|
||||
csegcs:
|
||||
csegds:
|
||||
cseges:
|
||||
@ -3356,8 +3355,6 @@ cmd1:
|
||||
db 0xC9,5,'leave'
|
||||
db 0xCC,4,'int3'
|
||||
db 0xF0,4,'lock'
|
||||
db 0xF2,5,'repnz'
|
||||
db 0xF3,6,'rep(z)'
|
||||
db 0xF5,3,'cmc'
|
||||
db 0xF8,3,'clc'
|
||||
db 0xF9,3,'stc'
|
||||
@ -3367,17 +3364,17 @@ cmd1:
|
||||
db 0xFD,3,'std'
|
||||
cmd2:
|
||||
db 0x05,7,'syscall'
|
||||
db 0x06,4,'clts'
|
||||
db 0x31,5,'rdtsc'
|
||||
db 0x34,8,'sysenter'
|
||||
db 0xA2,5,'cpuid'
|
||||
db 0x77,4,'emms'
|
||||
endg
|
||||
jmp @f
|
||||
csysenter:
|
||||
csyscall:
|
||||
ccpuid:
|
||||
crdtsc:
|
||||
cemms:
|
||||
cop0_F:
|
||||
mov esi, cmd2
|
||||
@@:
|
||||
cmp al, [esi]
|
||||
@ -3418,13 +3415,7 @@ c66:
|
||||
or ch, 1
|
||||
jmp disasm_loop1
|
||||
|
||||
center:
|
||||
caam:
|
||||
cxlat:
|
||||
ccmpxchg:
|
||||
cbsf:
|
||||
cbsr:
|
||||
ccmpxchg8b:
|
||||
cunk:
|
||||
cerr:
|
||||
mov eax, '???'
|
||||
@ -3436,6 +3427,162 @@ cF:
|
||||
call disasm_get_byte
|
||||
jmp dword [disasm_table_2 + eax*4]
|
||||
|
||||
crep:
|
||||
push [disasm_cur_pos]
|
||||
call disasm_get_byte
|
||||
cmp al, 0x0F
|
||||
jz .sse
|
||||
mov dl, al
|
||||
mov eax, 'rep '
|
||||
stosd
|
||||
mov al, dl
|
||||
@@:
|
||||
and eax, not 1
|
||||
cmp al, 0x66
|
||||
jnz @f
|
||||
call disasm_get_byte
|
||||
mov dl, al
|
||||
jmp @b
|
||||
@@:
|
||||
cmp al, 0xA6
|
||||
jz .repz
|
||||
cmp al, 0xAE
|
||||
jz .repz
|
||||
cmp al, 0xA4
|
||||
jz .prefix
|
||||
cmp al, 0xAA
|
||||
jz .prefix
|
||||
cmp al, 0xAC
|
||||
jz .prefix
|
||||
cmp al, 0x6C
|
||||
jz .prefix
|
||||
cmp al, 0x6E
|
||||
jz .prefix
|
||||
.noprefix:
|
||||
pop [disasm_cur_pos]
|
||||
and byte [edi-1], 0
|
||||
ret
|
||||
.repz:
|
||||
mov byte [edi-1], 'z'
|
||||
mov al, ' '
|
||||
stosb
|
||||
.prefix:
|
||||
pop [disasm_cur_pos]
|
||||
jmp disasm_loop1
|
||||
.sse:
|
||||
pop eax
|
||||
call disasm_get_byte
|
||||
iglobal
|
||||
rep_sse_cmds:
|
||||
db 0x58,3,'add'
|
||||
db 0xC2,3,'cmp'
|
||||
db 0,0
|
||||
endg
|
||||
mov esi, rep_sse_cmds+1
|
||||
@@:
|
||||
movzx edx, byte [esi]
|
||||
cmp al, [esi-1]
|
||||
jz @f
|
||||
lea esi, [esi+edx+2]
|
||||
cmp byte [esi], 0
|
||||
jnz @b
|
||||
sub [disasm_cur_pos], 2
|
||||
mov eax, 'rep'
|
||||
stosd
|
||||
ret
|
||||
@@:
|
||||
push ecx
|
||||
mov ecx, edx
|
||||
inc esi
|
||||
rep movsb
|
||||
pop ecx
|
||||
mov al, 's'
|
||||
stosb
|
||||
jmp rep_sse_final
|
||||
|
||||
crepnz:
|
||||
call disasm_get_byte
|
||||
cmp al, 0x0F
|
||||
jz .sse
|
||||
mov dl, al
|
||||
mov eax, 'repn'
|
||||
stosd
|
||||
mov al, 'z'
|
||||
stosb
|
||||
mov al, ' '
|
||||
stosb
|
||||
movzx eax, dl
|
||||
cmp al, 0x6C
|
||||
jb crep.noprefix
|
||||
cmp al, 0x6F
|
||||
jbe .prefix
|
||||
cmp al, 0xA4
|
||||
jb crep.noprefix
|
||||
cmp al, 0xA7
|
||||
jbe .prefix
|
||||
cmp al, 0xAA
|
||||
jb crep.noprefix
|
||||
cmp al, 0xAF
|
||||
ja crep.noprefix
|
||||
.prefix:
|
||||
jmp cop0
|
||||
.sse:
|
||||
call disasm_get_byte
|
||||
mov esi, rep_sse_cmds+1
|
||||
@@:
|
||||
movzx edx, byte [esi]
|
||||
cmp al, [esi-1]
|
||||
jz .found0
|
||||
lea esi, [esi+edx+2]
|
||||
cmp byte [esi], 0
|
||||
jnz @b
|
||||
mov esi, sse_cmds2+1
|
||||
@@:
|
||||
movzx edx, byte [esi]
|
||||
cmp al, [esi-1]
|
||||
jz .found1
|
||||
lea esi, [esi+edx+2]
|
||||
cmp byte [esi], 0
|
||||
jnz @b
|
||||
sub [disasm_cur_pos], 2
|
||||
mov eax, 'repn'
|
||||
stosd
|
||||
mov al, 'z'
|
||||
stosb
|
||||
and byte [edi], 0
|
||||
ret
|
||||
.found0:
|
||||
push ecx
|
||||
mov ecx, edx
|
||||
inc esi
|
||||
rep movsb
|
||||
pop ecx
|
||||
mov al, 's'
|
||||
stosb
|
||||
mov al, 'd'
|
||||
jmp rep_sse_final
|
||||
.found1:
|
||||
push ecx
|
||||
mov ecx, edx
|
||||
inc esi
|
||||
rep movsb
|
||||
pop ecx
|
||||
mov al, 'p'
|
||||
stosb
|
||||
mov al, 's'
|
||||
rep_sse_final:
|
||||
stosb
|
||||
push ecx
|
||||
push 5
|
||||
pop ecx
|
||||
sub ecx, edx
|
||||
adc ecx, 1
|
||||
mov al, ' '
|
||||
rep stosb
|
||||
pop ecx
|
||||
or ch, 1
|
||||
jmp disasm_mmx1
|
||||
|
||||
macro disasm_set_modew
|
||||
{
|
||||
test al, 1
|
||||
@ -3838,10 +3985,27 @@ cpush22:
|
||||
stosd
|
||||
call disasm_get_byte
|
||||
movsx eax, al
|
||||
@@:
|
||||
call disasm_write_num
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
center:
|
||||
mov eax, 'ente'
|
||||
stosd
|
||||
mov eax, 'r '
|
||||
stosd
|
||||
xor eax, eax
|
||||
call disasm_get_word
|
||||
call disasm_write_num
|
||||
mov al, ','
|
||||
stosb
|
||||
mov al, ' '
|
||||
stosb
|
||||
xor eax, eax
|
||||
call disasm_get_byte
|
||||
jmp @b
|
||||
|
||||
cinc1:
|
||||
; inc reg32
|
||||
cdec1:
|
||||
@ -3984,6 +4148,23 @@ cshift1:
|
||||
stosw
|
||||
jmp disasm_i8u
|
||||
|
||||
caam:
|
||||
mov eax, 'aam '
|
||||
jmp @f
|
||||
caad:
|
||||
mov eax, 'aad '
|
||||
@@:
|
||||
stosd
|
||||
mov eax, ' '
|
||||
stosd
|
||||
xor eax, eax
|
||||
call disasm_get_byte
|
||||
cmp al, 10
|
||||
jz @f
|
||||
call disasm_write_num
|
||||
@@:
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
cmov3:
|
||||
; A0: mov al,[ofs32]
|
||||
@ -4117,6 +4298,25 @@ cop21:
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
carpl:
|
||||
xor edx, edx
|
||||
or ch, 0C1h
|
||||
mov eax, 'arpl'
|
||||
jmp cop22.d2
|
||||
|
||||
ccmpxchg:
|
||||
xor edx, edx
|
||||
disasm_set_modew
|
||||
or ch, 40h
|
||||
mov eax, 'cmpx'
|
||||
stosd
|
||||
mov eax, 'chg '
|
||||
jmp cop22.d1
|
||||
|
||||
cbsf:
|
||||
cbsr:
|
||||
or ch, 80h
|
||||
|
||||
cop22:
|
||||
disasm_set_modew
|
||||
or ch, 40h
|
||||
@ -4127,6 +4327,12 @@ cop22:
|
||||
mov esi, 'imul'
|
||||
cmp al, 0xAF
|
||||
jz @f
|
||||
mov esi, 'bsf '
|
||||
cmp al, 0BCh
|
||||
jz @f
|
||||
mov esi, 'bsr '
|
||||
cmp al, 0BDh
|
||||
jz @f
|
||||
mov esi, 'mov '
|
||||
cmp al, 88h
|
||||
jae @f
|
||||
@ -4141,8 +4347,10 @@ cop22:
|
||||
mov esi, [disasm_op2cmds+eax*4]
|
||||
@@:
|
||||
xchg eax, esi
|
||||
.d2:
|
||||
stosd
|
||||
mov eax, ' '
|
||||
.d1:
|
||||
stosd
|
||||
call disasm_get_byte
|
||||
dec [disasm_cur_pos]
|
||||
@ -4154,6 +4362,10 @@ cop22:
|
||||
jz @f
|
||||
cmp dl, 0x87
|
||||
jz @f
|
||||
cmp dl, 0xBC
|
||||
jz @f
|
||||
cmp dl, 0xBD
|
||||
jz @f
|
||||
test dl, 2
|
||||
jz .d0
|
||||
@@:
|
||||
@ -4173,6 +4385,14 @@ cop22:
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
cbound:
|
||||
mov edx, eax
|
||||
mov eax, 'boun'
|
||||
stosd
|
||||
mov eax, 'd '
|
||||
or ch, 0xC0
|
||||
jmp cop22.d1
|
||||
|
||||
cop23:
|
||||
disasm_set_modew
|
||||
xchg eax, edx
|
||||
@ -4332,8 +4552,51 @@ cjcc2:
|
||||
stosd
|
||||
mov eax, ' '
|
||||
stosd
|
||||
test ch, 1
|
||||
jnz @f
|
||||
call disasm_get_dword
|
||||
jmp disasm_rva
|
||||
@@:
|
||||
call disasm_get_word
|
||||
add eax, [disasm_cur_pos]
|
||||
and eax, 0xFFFF
|
||||
call disasm_write_num
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
ccallf:
|
||||
mov eax, 'call'
|
||||
stosd
|
||||
mov eax, ' '
|
||||
stosd
|
||||
mov al, 'd'
|
||||
test ch, 1
|
||||
jnz @f
|
||||
mov al, 'p'
|
||||
@@:
|
||||
stosb
|
||||
mov eax, 'word'
|
||||
stosd
|
||||
mov al, ' '
|
||||
stosb
|
||||
test ch, 1
|
||||
jnz .1
|
||||
call disasm_get_dword
|
||||
jmp .2
|
||||
.1:
|
||||
xor eax, eax
|
||||
call disasm_get_word
|
||||
.2:
|
||||
push eax
|
||||
xor eax, eax
|
||||
call disasm_get_word
|
||||
call disasm_write_num
|
||||
mov al, ':'
|
||||
stosb
|
||||
pop eax
|
||||
call disasm_write_num
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
iglobal
|
||||
op11codes dd 'test',0,'not ','neg ','mul ','imul','div ','idiv'
|
||||
@ -4343,28 +4606,59 @@ cop1:
|
||||
disasm_set_modew
|
||||
xchg eax, edx
|
||||
call disasm_get_byte
|
||||
movzx esi, al
|
||||
dec [disasm_cur_pos]
|
||||
shr al, 3
|
||||
and eax, 7
|
||||
cmp dl, 0xFE
|
||||
jnz @f
|
||||
cmp al, 1
|
||||
ja cunk
|
||||
jbe @f
|
||||
.0:
|
||||
inc [disasm_cur_pos]
|
||||
jmp cunk
|
||||
@@:
|
||||
and edx, 8
|
||||
add eax, edx
|
||||
cmp al, 11
|
||||
jz .callfar
|
||||
cmp al, 13
|
||||
jz .jmpfar
|
||||
mov eax, [op11codes+eax*4]
|
||||
test eax, eax
|
||||
jz cunk
|
||||
jz .0
|
||||
cmp eax, 'test'
|
||||
jz ctest
|
||||
@@:
|
||||
.2:
|
||||
stosd
|
||||
mov eax, ' '
|
||||
stosd
|
||||
call disasm_readrmop
|
||||
and byte [edi], 0
|
||||
ret
|
||||
.callfar:
|
||||
mov eax, 'call'
|
||||
.1:
|
||||
cmp esi, 0xC0
|
||||
jae .0
|
||||
stosd
|
||||
mov eax, ' '
|
||||
stosd
|
||||
mov eax, 'far '
|
||||
stosd
|
||||
mov al, 'd'
|
||||
test ch, 1
|
||||
jnz @f
|
||||
mov al, 'p'
|
||||
@@:
|
||||
stosb
|
||||
or ch, 1
|
||||
call disasm_readrmop
|
||||
and byte [edi], 0
|
||||
ret
|
||||
.jmpfar:
|
||||
mov eax, 'jmp '
|
||||
jmp .1
|
||||
|
||||
cpop2:
|
||||
or ch, 80h
|
||||
@ -4373,7 +4667,7 @@ cpop2:
|
||||
test al, 00111000b
|
||||
jnz cunk
|
||||
mov eax, 'pop '
|
||||
jmp @b
|
||||
jmp cop1.2
|
||||
|
||||
cloopnz:
|
||||
mov eax, 'loop'
|
||||
@ -4504,7 +4798,7 @@ ccbw:
|
||||
jnz @f
|
||||
mov eax, 'cwde'
|
||||
@@: stosd
|
||||
and byte [edi+1], 0
|
||||
and byte [edi], 0
|
||||
ret
|
||||
ccwd:
|
||||
mov eax, 'cwd '
|
||||
@ -4513,6 +4807,28 @@ ccwd:
|
||||
mov eax, 'cdq '
|
||||
jmp @b
|
||||
|
||||
ccmpxchg8b:
|
||||
call disasm_get_byte
|
||||
cmp al, 0xC0
|
||||
jae cerr
|
||||
shr al, 3
|
||||
and al, 7
|
||||
cmp al, 1
|
||||
jnz cerr
|
||||
dec [disasm_cur_pos]
|
||||
mov eax, 'cmpx'
|
||||
stosd
|
||||
mov eax, 'chg8'
|
||||
stosd
|
||||
mov al, 'b'
|
||||
stosb
|
||||
mov al, ' '
|
||||
stosb
|
||||
or ch, 40h
|
||||
call disasm_readrmop
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
iglobal
|
||||
fpuD8 dd 'add ','mul ','com ','comp','sub ','subr','div ','divr'
|
||||
endg
|
||||
@ -5052,8 +5368,67 @@ disasm_mmx1:
|
||||
mov ax, ', '
|
||||
stosw
|
||||
call disasm_readrmop
|
||||
cmp word [disasm_string], 'cm'
|
||||
jz .cmp
|
||||
and byte [edi], 0
|
||||
ret
|
||||
.cmp:
|
||||
call disasm_get_byte
|
||||
and eax, 7
|
||||
mov dx, 'eq'
|
||||
dec eax
|
||||
js @f
|
||||
mov dx, 'lt'
|
||||
jz @f
|
||||
mov dh, 'e'
|
||||
dec eax
|
||||
jnz .no2
|
||||
@@:
|
||||
xchg dx, word [disasm_string+3]
|
||||
mov word [disasm_string+5], dx
|
||||
and byte [edi], 0
|
||||
ret
|
||||
.no2:
|
||||
dec eax
|
||||
jnz @f
|
||||
add edi, 2
|
||||
push edi
|
||||
lea esi, [edi-3]
|
||||
lea ecx, [esi-(disasm_string+8)+2]
|
||||
std
|
||||
rep movsb
|
||||
cld
|
||||
mov cx, word [esi-3]
|
||||
mov dword [esi-3], 'unor'
|
||||
mov byte [esi+1], 'd'
|
||||
mov word [esi+2], cx
|
||||
pop edi
|
||||
and byte [edi+1], 0
|
||||
ret
|
||||
@@:
|
||||
mov edx, 'neq'
|
||||
dec eax
|
||||
jz @f
|
||||
mov edx, 'nlt'
|
||||
dec eax
|
||||
jz @f
|
||||
mov edx, 'nle'
|
||||
dec eax
|
||||
jz @f
|
||||
mov edx, 'ord'
|
||||
@@:
|
||||
push edi
|
||||
lea esi, [edi-1]
|
||||
lea ecx, [esi-(disasm_string+8)+2]
|
||||
std
|
||||
rep movsb
|
||||
cld
|
||||
mov cx, word [esi-3]
|
||||
mov dword [esi-3], edx
|
||||
mov word [esi], cx
|
||||
pop edi
|
||||
and byte [edi+1], 0
|
||||
ret
|
||||
|
||||
cpsrlw:
|
||||
mov eax, 'psrl'
|
||||
@ -5092,6 +5467,63 @@ cpsllq:
|
||||
stosd
|
||||
jmp disasm_mmx1
|
||||
|
||||
csse1:
|
||||
iglobal
|
||||
sse_cmds1:
|
||||
db 0x2F,4,'comi'
|
||||
db 0x54,3,'and'
|
||||
db 0x55,4,'andn'
|
||||
db 0x58,3,'add'
|
||||
db 0xC2,3,'cmp'
|
||||
endg
|
||||
mov esi, sse_cmds1+1
|
||||
.1:
|
||||
@@:
|
||||
movzx edx, byte [esi]
|
||||
cmp al, [esi-1]
|
||||
jz @f
|
||||
lea esi, [esi+edx+2]
|
||||
jmp @b
|
||||
@@:
|
||||
push ecx
|
||||
mov ecx, edx
|
||||
inc esi
|
||||
rep movsb
|
||||
pop ecx
|
||||
mov al, 's'
|
||||
cmp byte [edi-1], 'i'
|
||||
jz @f
|
||||
mov al, 'p'
|
||||
@@:
|
||||
stosb
|
||||
mov al, 'd'
|
||||
test ch, 1
|
||||
jnz @f
|
||||
mov al, 's'
|
||||
@@:
|
||||
stosb
|
||||
push ecx
|
||||
push 5
|
||||
pop ecx
|
||||
sub ecx, edx
|
||||
adc ecx, 1
|
||||
mov al, ' '
|
||||
rep stosb
|
||||
pop ecx
|
||||
or ch, 1 ; force XMM reg
|
||||
jmp disasm_mmx1
|
||||
|
||||
csse2:
|
||||
iglobal
|
||||
sse_cmds2:
|
||||
db 0xD0,6,'addsub'
|
||||
db 0,0
|
||||
endg
|
||||
test ch, 1
|
||||
jz cerr
|
||||
mov esi, sse_cmds2+1
|
||||
jmp csse1.1
|
||||
|
||||
cpshift:
|
||||
mov dl, al
|
||||
mov ax, 'ps'
|
||||
@ -5149,13 +5581,35 @@ cpshift:
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
iglobal
|
||||
grp15c1 dq 'fxsave ','fxrstor ','ldmxcsr ','stmxcsr ',0,0,0,'clflush '
|
||||
endg
|
||||
cgrp15:
|
||||
call disasm_get_byte
|
||||
cmp al, 0xC0
|
||||
jae cunk
|
||||
shr al, 3
|
||||
and eax, 7
|
||||
mov edx, eax
|
||||
mov eax, dword [grp15c1+eax*8]
|
||||
test eax, eax
|
||||
jz cerr
|
||||
dec [disasm_cur_pos]
|
||||
stosd
|
||||
mov eax, dword [grp15c1+4+edx*8]
|
||||
stosd
|
||||
or ch, 40h
|
||||
call disasm_readrmop
|
||||
and byte [edi], 0
|
||||
ret
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
caption_str db 'Kolibri Debugger',0
|
||||
caption_len = $ - caption_str
|
||||
begin_str db 'Kolibri Debugger, version 0.3',10
|
||||
begin_str db 'Kolibri Debugger, version 0.31',10
|
||||
db 'Hint: type "help" for help, "quit" for quit'
|
||||
newline db 10,0
|
||||
prompt db '> ',0
|
||||
@ -5475,21 +5929,21 @@ disasm_table_1:
|
||||
dd cdec1, cdec1, cdec1, cdec1, cdec1, cdec1, cdec1, cdec1
|
||||
dd cpush1,cpush1,cpush1,cpush1,cpush1,cpush1,cpush1,cpush1 ; 5x
|
||||
dd cpop1, cpop1, cpop1, cpop1, cpop1, cpop1, cpop1, cpop1
|
||||
dd cop0, cop0, cunk, cunk, csegfs,cseggs,c66, c67 ; 6x
|
||||
dd cop0, cop0, cbound,carpl, csegfs,cseggs,c66, c67 ; 6x
|
||||
dd cpush21,cimul1,cpush22,cimul1,cunk,cunk, cunk, cunk
|
||||
dd cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1 ; 7x
|
||||
dd cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1, cjcc1
|
||||
dd cop23, cop23, cop23, cop23, cop22, cop22, cop22, cop22 ; 8x
|
||||
dd cop22, cop22, cop22, cop22, cunk, cop22, cunk, cpop2
|
||||
dd cop0, cxchg1,cxchg1,cxchg1,cxchg1,cxchg1,cxchg1,cxchg1 ; 9x
|
||||
dd ccbw, ccwd, cunk, cop0, cop0, cop0, cop0, cop0
|
||||
dd ccbw, ccwd, ccallf,cop0, cop0, cop0, cop0, cop0
|
||||
dd cmov3, cmov3, cmov3, cmov3, cop0, cop0, cop0, cop0 ; Ax
|
||||
dd cop21, cop21, cop0, cop0, cop0, cop0, cop0, cop0
|
||||
dd cmov11,cmov11,cmov11,cmov11,cmov11,cmov11,cmov11,cmov11 ; Bx
|
||||
dd cmov12,cmov12,cmov12,cmov12,cmov12,cmov12,cmov12,cmov12
|
||||
dd cshift1,cshift1,cret2,cop0, cunk, cunk, cmov2, cmov2 ; Cx
|
||||
dd center,cop0, cunk, cunk, cop0, cint, cunk, cunk
|
||||
dd cshift2,cshift2,cshift3,cshift3,caam,cunk,cunk, cxlat ; Dx
|
||||
dd cshift2,cshift2,cshift3,cshift3,caam,caad,cunk, cxlat ; Dx
|
||||
dd cD8, cD9, cDA, cDB, cDC, cDD, cDE, cDF
|
||||
dd cloopnz,cloopz,cloop,cjcxz, cunk, cunk, cunk, cunk ; Ex
|
||||
dd ccall1,cjmp1, cunk, cjmp2, cunk, cunk, cunk, cunk
|
||||
@ -5497,18 +5951,18 @@ disasm_table_1:
|
||||
dd cop0, cop0, cop0, cop0, cop0, cop0, cop1, cop1
|
||||
|
||||
disasm_table_2:
|
||||
dd cunk, cunk, cunk, cunk, cunk, csyscall,cunk,cunk ; 0x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cop0_F,cop0_F,cunk ; 0x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk ; 1x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk ; 2x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cunk, crdtsc,cunk, cunk, csysenter,cunk,cunk, cunk ; 3x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, csse1
|
||||
dd cunk, crdtsc,cunk, cunk, cop0_F,cunk, cunk, cunk ; 3x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc ; 4x
|
||||
dd cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc,cmovcc
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk ; 5x
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cunk, cunk, cunk, cunk, csse1, csse1, cunk, cunk ; 5x
|
||||
dd csse1, cunk, cunk, cunk, cunk, cunk, cunk, cunk
|
||||
dd cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn ; 6x
|
||||
dd cpcmn, cpcmn, cpcmn, cpcmn, cunk, cunk, cmovd1,cmovq1
|
||||
dd cunk, cpshift,cpshift,cpshift,cpcmn,cpcmn,cpcmn,cemms ; 7x
|
||||
@ -5518,12 +5972,12 @@ disasm_table_2:
|
||||
dd csetcc,csetcc,csetcc,csetcc,csetcc,csetcc,csetcc,csetcc ; 9x
|
||||
dd csetcc,csetcc,csetcc,csetcc,csetcc,csetcc,csetcc,csetcc
|
||||
dd cunk, cunk, ccpuid,cbtx2, cshld, cshld, cunk, cunk ; Ax
|
||||
dd cunk, cunk, cunk, cbtx2, cshrd, cshrd, cunk, cop22
|
||||
dd cunk, cunk, cunk, cbtx2, cshrd, cshrd, cgrp15,cop22
|
||||
dd ccmpxchg,ccmpxchg,cunk,cbtx2,cunk, cunk, cmovzx,cmovzx ; Bx
|
||||
dd cunk, cunk, cbtx1, cbtx2, cbsf, cbsr, cmovsx,cmovsx
|
||||
dd cunk, cunk, cunk, cunk, cunk, cunk, cunk, ccmpxchg8b ; Cx
|
||||
dd cunk, cunk, csse1, cunk, cunk, cunk, cunk, ccmpxchg8b ; Cx
|
||||
dd cbswap,cbswap,cbswap,cbswap,cbswap,cbswap,cbswap,cbswap
|
||||
dd cunk, cpsrlw,cpsrlw,cpsrlq,cpcmn, cpcmn, cunk, cunk ; Dx
|
||||
dd csse2, cpsrlw,cpsrlw,cpsrlq,cpcmn, cpcmn, cunk, cunk ; Dx
|
||||
dd cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn
|
||||
dd cpcmn, cpsraw,cpsrad,cpcmn, cpcmn, cpcmn, cunk, cunk ; Ex
|
||||
dd cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn, cpcmn
|
||||
|
Loading…
Reference in New Issue
Block a user