mtdbg: 1)minor optimisations

2)display contents of fpu registers. Warrning! Only labels are valid

git-svn-id: svn://kolibrios.org@4895 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2014-04-25 20:05:44 +00:00
parent e78b42e74a
commit e068c839b9

View File

@ -693,6 +693,7 @@ draw_register:
; ;
; in: esi->value, edx->string, ecx = string length, ebx = coord ; in: esi->value, edx->string, ecx = string length, ebx = coord
draw_fpu_register: draw_fpu_register:
push ebx
push edx push edx
push ecx push ecx
push esi push esi
@ -735,6 +736,7 @@ draw_fpu_register:
mov esi, ecx mov esi, ecx
pop ecx pop ecx
pop edx pop edx
pop ebx
add edx, ecx add edx, ecx
ret ret
@ -743,6 +745,7 @@ draw_fpu_register:
; ;
; in: esi->value, edx->string, ecx = string length, ebx = coord ; in: esi->value, edx->string, ecx = string length, ebx = coord
draw_mmx_register: draw_mmx_register:
push ebx
push edx push edx
push ecx push ecx
push esi push esi
@ -786,6 +789,7 @@ draw_mmx_register:
mov esi, ecx mov esi, ecx
pop ecx pop ecx
pop edx pop edx
pop ebx
add edx, ecx add edx, ecx
ret ret
@ -899,38 +903,44 @@ draw_main_registers:
add esi, _eip-_esp add esi, _eip-_esp
call draw_register call draw_register
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+112 mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+112
push cx
mov cl, 7 mov cl, 7
add esi, _eflags-_eip add esi, _eflags-_eip
call draw_register call draw_register
pop cx mov cl, 4
; MMX registers ; MMX registers
push 8
mov edx, mmx_strs mov edx, mmx_strs
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+142 mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+142
mov esi, _mm0 mov esi, _mm0
align 4
.draw_mmx_regs:
call draw_mmx_register call draw_mmx_register
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+152 add ebx, 10
add esi, _mm1-_mm0 add esi, 16
call draw_mmx_register dec dword [esp]
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+162 jnz .draw_mmx_regs
add esi, _mm2-_mm1
call draw_mmx_register ;FPU registers
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+172
add esi, _mm3-_mm2 mov [esp], byte 8
call draw_mmx_register mov edx, fpu_strs
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+182 mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+232
add esi, _mm4-_mm3 mov esi, _st0
call draw_mmx_register
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+192 align 4
add esi, _mm5-_mm4 .draw_fpu_regs:
call draw_mmx_register
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+202 call draw_fpu_register
add esi, _mm6-_mm5 add ebx, 10
call draw_mmx_register add esi, 16
mov ebx, (registers_x_pos+2)*10000h+registers_y_pos+212 dec dword [esp]
add esi, _mm7-_mm6 jnz .draw_fpu_regs
call draw_mmx_register pop eax ;restore stack
mov ecx, COLOR_TXT_INACTIVE mov ecx, COLOR_TXT_INACTIVE
cmp [debuggee_pid], 0 cmp [debuggee_pid], 0