forked from KolibriOS/kolibrios
mtdbg: improve output formatting
git-svn-id: svn://kolibrios.org@4906 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
8a789e9157
commit
cab8cf62a6
@ -96,7 +96,7 @@ cmdline_y_size equ 10
|
||||
|
||||
registers_x_pos equ (data_x_pos + messages_x_size + 4)
|
||||
registers_y_pos equ (title_y_pos + title_y_size - 3)
|
||||
registers_x_size equ 134
|
||||
registers_x_size equ 134+2*6
|
||||
registers_y_size equ (cmdline_y_pos + cmdline_y_size - registers_y_pos+1)
|
||||
|
||||
wnd_x_size equ (data_x_pos + messages_x_size + data_x_pos + registers_x_size+3)
|
||||
@ -658,11 +658,12 @@ draw_title:
|
||||
|
||||
; in: esi->value, edx->string, ecx = string length, ebx = coord
|
||||
draw_register:
|
||||
push esi
|
||||
push edx
|
||||
push ecx
|
||||
push esi
|
||||
mov eax, esi
|
||||
mov esi, ecx
|
||||
push ebp
|
||||
|
||||
mov ebp, ecx
|
||||
|
||||
mov ecx, (COLOR_TXT_INACTIVE or 0x40000000)
|
||||
cmp [debuggee_pid], 0
|
||||
@ -671,96 +672,43 @@ draw_register:
|
||||
jz .cd
|
||||
|
||||
mov ecx, (COLOR_TXT_NORMAL or 0x40000000)
|
||||
push edi
|
||||
mov edi, [eax]
|
||||
cmp dword [eax+oldcontext-context], edi
|
||||
pop edi
|
||||
jz .cd
|
||||
mov eax, [esi]
|
||||
cmp eax, dword [esi+oldcontext-context]
|
||||
je .cd
|
||||
mov ecx, (COLOR_TXT_CHANGED or 0x40000000)
|
||||
|
||||
.cd:
|
||||
push eax ;store reg value
|
||||
|
||||
mov esi, ebp
|
||||
; draw a text string in the window
|
||||
mcall 4
|
||||
|
||||
imul esi, 60000h
|
||||
lea edx, [ebx+esi]
|
||||
mov esi, ecx
|
||||
pop ecx
|
||||
|
||||
; draw a number in the window
|
||||
mcall 47, 80101h
|
||||
lea ebx, [edx+60000h*18]
|
||||
mov esi, ecx
|
||||
rol ecx, 16
|
||||
mcall 47, 0x00040100
|
||||
|
||||
shr ecx, 16
|
||||
add edx, (4*6+3) shl 16
|
||||
mcall 47
|
||||
|
||||
pop ebp
|
||||
pop ecx
|
||||
pop edx
|
||||
pop esi
|
||||
add edx, ecx
|
||||
ret
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Display FPU register (ST0 - ST7) content
|
||||
;
|
||||
; in: esi->value, edx->string, ecx = string length, ebx = coord
|
||||
draw_fpu_register:
|
||||
push ebx
|
||||
push edx
|
||||
push ecx
|
||||
push esi
|
||||
; in: ebp->index, ebx = coord
|
||||
|
||||
sub esp, 8
|
||||
|
||||
fld tword [esi]
|
||||
fistp qword [esp]
|
||||
|
||||
mov eax, esi
|
||||
mov esi, ecx
|
||||
|
||||
mov ecx, (COLOR_TXT_INACTIVE or 0x40000000)
|
||||
cmp [debuggee_pid], 0
|
||||
jz .cd
|
||||
cmp [bSuspended], 0
|
||||
jz .cd
|
||||
|
||||
mov ecx, (COLOR_TXT_NORMAL or 0x40000000)
|
||||
push edi
|
||||
mov edi, [eax]
|
||||
cmp dword [eax+oldcontext-context], edi
|
||||
pop edi
|
||||
jnz .scol
|
||||
push edi
|
||||
mov edi, [eax+4]
|
||||
cmp dword [eax+oldcontext-context+4], edi
|
||||
pop edi
|
||||
jz .cd
|
||||
|
||||
.scol:
|
||||
mov ecx, (COLOR_TXT_CHANGED or 0x40000000)
|
||||
|
||||
.cd:
|
||||
; draw a text string in the window
|
||||
mcall 4
|
||||
imul esi, 60000h
|
||||
lea edx, [ebx+esi]
|
||||
mov esi, ecx
|
||||
|
||||
mov ecx, esp
|
||||
|
||||
; draw a number in the window
|
||||
; color is the same as for previous text draw function
|
||||
; ebx : [20] show 16 chars set [30] bit - qword
|
||||
mcall 47, 40100101h
|
||||
add esp, 8
|
||||
pop ecx
|
||||
lea ebx, [edx+60000h*18]
|
||||
mov esi, ecx
|
||||
pop ecx
|
||||
pop edx
|
||||
pop ebx
|
||||
add edx, ecx
|
||||
ret
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Display FPU register (ST0 - ST7) content
|
||||
;
|
||||
; in: esi->value, ebx = coord
|
||||
draw_fpu_register_2:
|
||||
|
||||
.str_buf equ esp
|
||||
@ -1000,14 +948,11 @@ draw_fpu_register_2:
|
||||
;-----------------------------------------------------------------------------
|
||||
; Show FPU MMX register content
|
||||
;
|
||||
; in: esi->value, edx->string, ecx = string length, ebx = coord
|
||||
draw_mmx_register:
|
||||
push ebx
|
||||
push edx
|
||||
push ecx
|
||||
push esi
|
||||
mov eax, esi
|
||||
mov esi, ecx
|
||||
; in: ebp index, ebx = coord
|
||||
|
||||
draw_mmx_register_2:
|
||||
|
||||
shl ebp, 4
|
||||
|
||||
mov ecx, (COLOR_TXT_INACTIVE or 0x40000000)
|
||||
cmp [debuggee_pid], 0
|
||||
@ -1016,38 +961,56 @@ draw_mmx_register:
|
||||
jz .cd
|
||||
|
||||
mov ecx, (COLOR_TXT_NORMAL or 0x40000000)
|
||||
push edi
|
||||
mov edi, [eax]
|
||||
cmp dword [eax+oldcontext-context], edi
|
||||
pop edi
|
||||
jnz .scol
|
||||
push edi
|
||||
mov edi, [eax+4]
|
||||
cmp dword [eax+oldcontext-context+4], edi
|
||||
pop edi
|
||||
jz .cd
|
||||
|
||||
mov eax, dword [_mm0+ebp]
|
||||
cmp eax, dword [_mm0+(oldcontext-context)+ebp]
|
||||
jne .scol
|
||||
|
||||
mov eax, dword [_mm0+ebp+4]
|
||||
cmp eax, dword [_mm0+(oldcontext-context)+ebp+4]
|
||||
je .cd
|
||||
|
||||
.scol:
|
||||
mov ecx, (COLOR_TXT_CHANGED or 0x40000000)
|
||||
|
||||
.cd:
|
||||
; draw a text string in the window
|
||||
mcall 4
|
||||
mov eax, ebp
|
||||
shl eax, 16-4
|
||||
add eax, 'MM0='
|
||||
push eax ;write label into stack
|
||||
|
||||
; draw a text string in the window
|
||||
|
||||
mov eax, 4
|
||||
mov esi, eax
|
||||
mov edx, esp
|
||||
mov edi, COLOR_BG_NORMAL
|
||||
int 0x40
|
||||
|
||||
imul esi, 60000h
|
||||
lea edx, [ebx+esi]
|
||||
mov esi, ecx
|
||||
pop ecx
|
||||
; draw a number in the window
|
||||
; color is the same as for previous draw text function
|
||||
; ebx : [20] show 16 chars set [30] bit - qword
|
||||
mcall 47, 40100101h
|
||||
lea ebx, [edx+60000h*18]
|
||||
mov esi, ecx
|
||||
pop ecx
|
||||
pop edx
|
||||
mov [esp], ebx
|
||||
|
||||
mov ecx, dword [_mm0+ebp+4]
|
||||
rol ecx, 16
|
||||
lea edx, [ebx+0x180000]
|
||||
mov ebx, 0x00040100
|
||||
mcall 47 ;word #3
|
||||
|
||||
shr ecx, 16
|
||||
add edx, (4*6+3) shl 16
|
||||
mcall 47 ;word #2
|
||||
|
||||
mov ecx, dword [_mm0+ebp]
|
||||
rol ecx, 16
|
||||
add edx, (4*6+3) shl 16
|
||||
mcall 47 ;word #1
|
||||
|
||||
shr ecx, 16
|
||||
add edx, (4*6+3) shl 16
|
||||
mcall 47 ;word #0
|
||||
|
||||
pop ebx
|
||||
add edx, ecx
|
||||
|
||||
shr ebp, 4
|
||||
ret
|
||||
|
||||
; TODO add SSE registers
|
||||
@ -1171,23 +1134,22 @@ draw_main_registers:
|
||||
push ebp
|
||||
|
||||
push 8
|
||||
mov edx, mmx_strs
|
||||
xor ebp, ebp
|
||||
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+142
|
||||
mov esi, _mm0
|
||||
|
||||
align 4
|
||||
.draw_mmx_regs:
|
||||
|
||||
call draw_mmx_register
|
||||
call draw_mmx_register_2
|
||||
add ebx, 10
|
||||
add esi, 16
|
||||
inc ebp
|
||||
dec dword [esp]
|
||||
jnz .draw_mmx_regs
|
||||
|
||||
;FPU registers
|
||||
|
||||
;int3
|
||||
nop
|
||||
;nop
|
||||
|
||||
mov [esp], byte 8
|
||||
xor ebp, ebp
|
||||
|
@ -2300,15 +2300,6 @@ fpu_strs:
|
||||
db 'ST6='
|
||||
db 'ST7='
|
||||
|
||||
mmx_strs:
|
||||
db 'MM0='
|
||||
db 'MM1='
|
||||
db 'MM2='
|
||||
db 'MM3='
|
||||
db 'MM4='
|
||||
db 'MM5='
|
||||
db 'MM6='
|
||||
db 'MM7='
|
||||
sse_strs:
|
||||
db '-XMM0-'
|
||||
db '-XMM1-'
|
||||
@ -2334,7 +2325,7 @@ bSuspended db 0
|
||||
bAfterGo db 0
|
||||
temp_break dd 0
|
||||
reg_mode db 1
|
||||
_10000000 dd 100000000
|
||||
_10000000 dd 1000000000
|
||||
|
||||
include 'disasm_tbl.inc'
|
||||
|
||||
@ -2509,8 +2500,8 @@ oldavxcontext rb $-avx_context
|
||||
end if
|
||||
|
||||
|
||||
step_num dd 0
|
||||
proc_num dd 0
|
||||
step_num dd ?
|
||||
proc_num dd ?
|
||||
dumpread dd ?
|
||||
dumppos dd ?
|
||||
dumpdata rb dump_height*10h
|
||||
|
Loading…
Reference in New Issue
Block a user