Subversion Repositories Kolibri OS

Rev

Rev 4890 | Rev 4900 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4890 Rev 4895
Line 691... Line 691...
691
;-----------------------------------------------------------------------------
691
;-----------------------------------------------------------------------------
692
;                  Display FPU register (ST0 - ST7) content
692
;                  Display FPU register (ST0 - ST7) content
693
;
693
;
694
; in: esi->value, edx->string, ecx = string length, ebx = coord
694
; in: esi->value, edx->string, ecx = string length, ebx = coord
695
draw_fpu_register:
695
draw_fpu_register:
-
 
696
        push    ebx
696
        push    edx
697
        push    edx
697
        push    ecx
698
        push    ecx
698
        push    esi
699
        push    esi
699
        mov     eax, esi
700
        mov     eax, esi
700
        mov     esi, ecx
701
        mov     esi, ecx
Line 733... Line 734...
733
        mcall   47, 40100101h
734
        mcall   47, 40100101h
734
        lea     ebx, [edx+60000h*18]
735
        lea     ebx, [edx+60000h*18]
735
        mov     esi, ecx
736
        mov     esi, ecx
736
        pop     ecx
737
        pop     ecx
737
        pop     edx
738
        pop     edx
-
 
739
        pop     ebx
738
        add     edx, ecx
740
        add     edx, ecx
739
        ret
741
        ret
Line 740... Line 742...
740
 
742
 
741
;-----------------------------------------------------------------------------
743
;-----------------------------------------------------------------------------
742
;                      Show FPU MMX register content
744
;                      Show FPU MMX register content
743
;
745
;
744
; in: esi->value, edx->string, ecx = string length, ebx = coord
746
; in: esi->value, edx->string, ecx = string length, ebx = coord
-
 
747
draw_mmx_register:
745
draw_mmx_register:
748
        push    ebx
746
        push    edx
749
        push    edx
747
        push    ecx
750
        push    ecx
748
        push    esi
751
        push    esi
749
        mov     eax, esi
752
        mov     eax, esi
Line 784... Line 787...
784
        mcall   47, 40100101h
787
        mcall   47, 40100101h
785
        lea     ebx, [edx+60000h*18]
788
        lea     ebx, [edx+60000h*18]
786
        mov     esi, ecx
789
        mov     esi, ecx
787
        pop     ecx
790
        pop     ecx
788
        pop     edx
791
        pop     edx
-
 
792
        pop     ebx
789
        add     edx, ecx
793
        add     edx, ecx
790
        ret
794
        ret
Line 791... Line 795...
791
 
795
 
792
; TODO add SSE registers
796
; TODO add SSE registers
Line 897... Line 901...
897
        call    draw_register
901
        call    draw_register
898
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+102
902
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+102
899
        add     esi, _eip-_esp
903
        add     esi, _eip-_esp
900
        call    draw_register
904
        call    draw_register
901
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+112
905
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+112
902
        push    cx
-
 
-
 
906
 
903
        mov     cl, 7
907
        mov     cl, 7
904
        add     esi, _eflags-_eip
908
        add     esi, _eflags-_eip
905
        call    draw_register
909
        call    draw_register
906
        pop     cx
910
        mov     cl, 4
Line 907... Line 911...
907
 
911
 
-
 
912
    ; MMX registers
-
 
913
 
908
    ; MMX registers
914
        push    8
909
        mov     edx, mmx_strs
915
        mov     edx, mmx_strs
910
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+142
916
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+142
-
 
917
        mov     esi, _mm0
-
 
918
 
-
 
919
align 4
-
 
920
.draw_mmx_regs:
911
        mov     esi, _mm0
921
 
912
        call    draw_mmx_register
-
 
913
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+152
922
        call    draw_mmx_register
914
        add     esi, _mm1-_mm0
923
        add     ebx, 10
915
        call    draw_mmx_register
-
 
916
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+162
924
        add     esi, 16
917
        add     esi, _mm2-_mm1
925
        dec     dword [esp]
-
 
926
        jnz     .draw_mmx_regs
918
        call    draw_mmx_register
927
 
-
 
928
;FPU registers
919
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+172
929
 
920
        add     esi, _mm3-_mm2
930
        mov     [esp], byte 8
921
        call    draw_mmx_register
931
        mov     edx, fpu_strs
922
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+182
932
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+232
-
 
933
        mov     esi, _st0
-
 
934
 
923
        add     esi, _mm4-_mm3
935
align 4
924
        call    draw_mmx_register
-
 
925
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+192
-
 
-
 
936
.draw_fpu_regs:
926
        add     esi, _mm5-_mm4
937
 
927
        call    draw_mmx_register
938
        call    draw_fpu_register
928
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+202
939
        add     ebx, 10
929
        add     esi, _mm6-_mm5
940
        add     esi, 16
930
        call    draw_mmx_register
-
 
931
        mov     ebx, (registers_x_pos+2)*10000h+registers_y_pos+212
941
        dec     dword [esp]
932
        add     esi, _mm7-_mm6
942
        jnz     .draw_fpu_regs
Line 933... Line 943...
933
        call    draw_mmx_register
943
        pop     eax                         ;restore stack
934
 
944
 
935
        mov     ecx, COLOR_TXT_INACTIVE
945
        mov     ecx, COLOR_TXT_INACTIVE
936
        cmp     [debuggee_pid], 0
946
        cmp     [debuggee_pid], 0