Rev 4913 | Rev 4924 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4913 | Rev 4914 | ||
---|---|---|---|
Line 154... | Line 154... | ||
154 | jz dodraw |
154 | jz dodraw |
155 | dec eax |
155 | dec eax |
156 | jz keypressed |
156 | jz keypressed |
157 | dec eax |
157 | dec eax |
158 | jnz waitevent |
158 | jnz waitevent |
- | 159 | ;button pressed |
|
- | 160 | mcall 17 |
|
- | 161 | test al, al |
|
- | 162 | jnz waitevent |
|
- | 163 | movzx eax, ah |
|
159 | ; button pressed - we have only one button (close) |
164 | jmp dword [.jmp_table+eax*4] |
- | 165 | ||
- | 166 | .close: |
|
160 | mcall -1 |
167 | mcall -1 |
- | 168 | .mmx: |
|
- | 169 | movzx edx, [fpu_mode] |
|
- | 170 | xor dl, 1 |
|
- | 171 | mov [fpu_mode], dl |
|
- | 172 | push edx |
|
- | 173 | jnz .fpu |
|
- | 174 | call draw_mmx_regs |
|
- | 175 | jmp .draw_label |
|
- | 176 | .fpu: |
|
- | 177 | call draw_fpu_regs |
|
- | 178 | .draw_label: |
|
- | 179 | pop edx |
|
- | 180 | mov edx, [btn2_tab+edx*4] |
|
- | 181 | mov edi, COLOR_BG_NORMAL |
|
- | 182 | mov ecx, (COLOR_TXT_NORMAL or 0x40000000) |
|
- | 183 | mov esi, 7 |
|
- | 184 | mov ebx, [registers_x_pos_dd] |
|
- | 185 | add ebx, 4*10000h+registers_y_pos+2 |
|
- | 186 | mcall 4 |
|
- | 187 | jmp waitevent |
|
- | 188 | ||
- | 189 | align 4 |
|
- | 190 | .jmp_table: |
|
- | 191 | dd waitevent |
|
- | 192 | dd .close |
|
- | 193 | dd .mmx |
|
- | 194 | ||
Line 161... | Line 195... | ||
161 | 195 | ||
162 | ; TODO: split in more independent function |
196 | ; TODO: split in more independent function |
163 | keypressed: |
197 | keypressed: |
164 | mov al, 2 |
198 | mov al, 2 |
Line 931... | Line 965... | ||
931 | 965 | ||
932 | .do_label: |
966 | .do_label: |
Line 933... | Line 967... | ||
933 | ; draw a text string in the window |
967 | ; draw a text string in the window |
934 | 968 | ||
935 | mov eax, 4 |
969 | mov eax, 4 |
936 | mov esi, 21 |
970 | mov esi, 23 |
937 | mov edx, .str_buf |
971 | mov edx, .str_buf |
Line 938... | Line 972... | ||
938 | mov edi, COLOR_BG_NORMAL |
972 | mov edi, COLOR_BG_NORMAL |
Line 949... | Line 983... | ||
949 | ; |
983 | ; |
950 | ; in: ebp index, ebx = coord |
984 | ; in: ebp index, ebx = coord |
Line 951... | Line 985... | ||
951 | 985 | ||
Line -... | Line 986... | ||
- | 986 | draw_mmx_register_2: |
|
- | 987 | ||
- | 988 | sub esp, 24 |
|
952 | draw_mmx_register_2: |
989 | lea edi, [esp+4] |
- | 990 | ||
- | 991 | shl ebp, 4 |
|
- | 992 | mov eax, ebp |
|
- | 993 | shl eax, 16-4 |
|
- | 994 | add eax, 'MM0:' |
|
- | 995 | mov [esp], eax |
|
- | 996 | ||
- | 997 | mov edx, dword [_mm0+ebp+4] |
|
- | 998 | call .hex_2_str |
|
- | 999 | mov al, ' ' |
|
- | 1000 | stosb |
|
- | 1001 | call .hex_2_str |
|
- | 1002 | mov al, ' ' |
|
- | 1003 | stosb |
|
- | 1004 | ||
- | 1005 | mov edx, dword [_mm0+ebp] |
|
- | 1006 | call .hex_2_str |
|
- | 1007 | mov al, ' ' |
|
Line 953... | Line 1008... | ||
953 | 1008 | stosb |
|
954 | shl ebp, 4 |
1009 | call .hex_2_str |
955 | 1010 | ||
956 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
1011 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
Line 970... | Line 1025... | ||
970 | je .cd |
1025 | je .cd |
Line 971... | Line 1026... | ||
971 | 1026 | ||
972 | .scol: |
1027 | .scol: |
973 | mov ecx, (COLOR_TXT_CHANGED or 0x40000000) |
1028 | mov ecx, (COLOR_TXT_CHANGED or 0x40000000) |
974 | .cd: |
- | |
975 | mov eax, ebp |
- | |
976 | shl eax, 16-4 |
- | |
977 | add eax, 'MM0=' |
- | |
978 | push eax ;write label into stack |
- | |
979 | 1029 | .cd: |
|
Line 980... | Line 1030... | ||
980 | ; draw a text string in the window |
1030 | ; draw a text string in the window |
981 | 1031 | ||
982 | mov eax, 4 |
1032 | mov eax, 4 |
983 | mov esi, eax |
1033 | mov esi, 23 |
984 | mov edx, esp |
1034 | mov edx, esp |
- | 1035 | mov edi, COLOR_BG_NORMAL |
|
- | 1036 | int 0x40 |
|
- | 1037 | shr ebp, 4 |
|
Line -... | Line 1038... | ||
- | 1038 | add esp, 24 |
|
985 | mov edi, COLOR_BG_NORMAL |
1039 | ret |
986 | int 0x40 |
1040 | |
987 | 1041 | align 4 |
|
988 | mov esi, ecx |
1042 | .hex_2_str: |
989 | mov [esp], ebx |
1043 | mov ecx, 4 |
990 | 1044 | @@: |
|
991 | mov ecx, dword [_mm0+ebp+4] |
1045 | xor eax, eax |
992 | rol ecx, 16 |
- | |
993 | lea edx, [ebx+0x180000] |
- | |
994 | mov ebx, 0x00040100 |
1046 | shld eax, edx, 4 |
995 | mcall 47 ;word #3 |
1047 | aaa |
996 | - | ||
997 | shr ecx, 16 |
- | |
998 | add edx, (4*6+3) shl 16 |
1048 | adc al, 0x30 |
999 | mcall 47 ;word #2 |
1049 | aad 16 |
1000 | - | ||
1001 | mov ecx, dword [_mm0+ebp] |
- | |
1002 | rol ecx, 16 |
- | |
1003 | add edx, (4*6+3) shl 16 |
1050 | shl edx, 4 |
1004 | mcall 47 ;word #1 |
- | |
1005 | - | ||
Line -... | Line 1051... | ||
- | 1051 | stosb |
|
- | 1052 | loop @B |
|
- | 1053 | ret |
|
- | 1054 | ||
- | 1055 | align 4 |
|
- | 1056 | draw_fpu_regs: |
|
- | 1057 | push ebp |
|
- | 1058 | push 8 |
|
- | 1059 | xor ebp, ebp |
|
- | 1060 | mov ebx, [registers_x_pos_dd] |
|
- | 1061 | add ebx, 2*10000h+registers_y_pos+142 |
|
- | 1062 | mov edi, COLOR_BG_NORMAL |
|
- | 1063 | .draw_regs: |
|
- | 1064 | call draw_fpu_register_2 |
|
- | 1065 | add ebx, 10 |
|
1006 | shr ecx, 16 |
1066 | inc ebp |
- | 1067 | dec dword [esp] |
|
Line -... | Line 1068... | ||
- | 1068 | jnz .draw_regs |
|
- | 1069 | pop eax ;restore stack |
|
- | 1070 | pop ebp |
|
- | 1071 | ret |
|
1007 | add edx, (4*6+3) shl 16 |
1072 | |
- | 1073 | align 4 |
|
- | 1074 | draw_mmx_regs: |
|
- | 1075 | push ebp |
|
- | 1076 | push 8 |
|
- | 1077 | xor ebp, ebp |
|
- | 1078 | mov ebx, [registers_x_pos_dd] |
|
- | 1079 | add ebx, 2*10000h+registers_y_pos+142 |
|
- | 1080 | ; mov edi, COLOR_BG_NORMAL |
|
- | 1081 | .draw_regs: |
|
- | 1082 | call draw_mmx_register_2 |
|
- | 1083 | add ebx, 10 |
|
1008 | mcall 47 ;word #0 |
1084 | inc ebp |
Line 1009... | Line 1085... | ||
1009 | 1085 | dec dword [esp] |
|
1010 | pop ebx |
1086 | jnz .draw_regs |
Line 1062... | Line 1138... | ||
1062 | mov esi, 7 |
1138 | mov esi, 7 |
1063 | cmp [reg_mode], REG_MODE_CPU |
1139 | cmp [reg_mode], REG_MODE_CPU |
1064 | jz @f |
1140 | jz @f |
1065 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
1141 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
1066 | @@: |
1142 | @@: |
1067 | mov edx, aMain |
1143 | movzx edx, [fpu_mode] |
- | 1144 | mov edx, [btn2_tab+edx*4] |
|
- | 1145 | ||
1068 | ; draw a text string in the window |
1146 | ; draw a text string in the window |
1069 | mov ebx, [registers_x_pos_dd] |
1147 | mov ebx, [registers_x_pos_dd] |
1070 | add ebx, 4*10000h+registers_y_pos+2 |
1148 | add ebx, 4*10000h+registers_y_pos+2 |
1071 | mcall 4 |
1149 | mcall 4 |
Line 1140... | Line 1218... | ||
1140 | add ebx, 2*10000h+registers_y_pos+112 |
1218 | add ebx, 2*10000h+registers_y_pos+112 |
Line 1141... | Line 1219... | ||
1141 | 1219 | ||
1142 | mov cl, 7 |
1220 | mov cl, 7 |
1143 | add esi, _eflags-_eip |
1221 | add esi, _eflags-_eip |
1144 | call draw_register |
- | |
1145 | mov cl, 4 |
- | |
1146 | - | ||
1147 | ; MMX registers |
- | |
1148 | - | ||
1149 | push ebp |
- | |
1150 | - | ||
1151 | push 8 |
- | |
1152 | xor ebp, ebp |
- | |
1153 | mov ebx, [registers_x_pos_dd] |
- | |
1154 | add ebx, 2*10000h+registers_y_pos+142 |
- | |
1155 | - | ||
1156 | align 4 |
- | |
1157 | .draw_mmx_regs: |
- | |
1158 | - | ||
1159 | call draw_mmx_register_2 |
- | |
1160 | add ebx, 10 |
- | |
1161 | inc ebp |
- | |
1162 | dec dword [esp] |
- | |
1163 | jnz .draw_mmx_regs |
- | |
1164 | - | ||
1165 | ;FPU registers |
- | |
1166 | - | ||
1167 | ;int3 |
- | |
1168 | ;nop |
- | |
1169 | - | ||
1170 | mov [esp], byte 8 |
- | |
1171 | xor ebp, ebp |
- | |
1172 | mov ebx, [registers_x_pos_dd] |
- | |
1173 | add ebx, 2*10000h+registers_y_pos+232 |
- | |
1174 | - | ||
1175 | align 4 |
- | |
1176 | .draw_fpu_regs: |
- | |
1177 | - | ||
1178 | call draw_fpu_register_2 |
- | |
1179 | add ebx, 10 |
- | |
1180 | inc ebp |
- | |
1181 | dec dword [esp] |
- | |
1182 | jnz .draw_fpu_regs |
- | |
1183 | pop eax ;restore stack |
- | |
Line -... | Line 1222... | ||
- | 1222 | call draw_register |
|
- | 1223 | ||
- | 1224 | cmp [fpu_mode], 1 |
|
- | 1225 | je .fpu |
|
- | 1226 | call draw_mmx_regs |
|
- | 1227 | jmp @f |
|
- | 1228 | .fpu: |
|
1184 | pop ebp |
1229 | call draw_fpu_regs |
1185 | 1230 | @@: |
|
1186 | mov ecx, COLOR_TXT_INACTIVE |
1231 | mov ecx, COLOR_TXT_INACTIVE |
1187 | cmp [debuggee_pid], 0 |
1232 | cmp [debuggee_pid], 0 |
1188 | jz @f |
1233 | jz @f |
Line 1772... | Line 1817... | ||
1772 | mov ebx, [data_x_size_dd+4] |
1817 | mov ebx, [data_x_size_dd+4] |
1773 | add ebx, (data_x_pos-2)*10000h + (data_x_pos+2) |
1818 | add ebx, (data_x_pos-2)*10000h + (data_x_pos+2) |
1774 | mov ecx, (disasm_y_pos-4)*10001h |
1819 | mov ecx, (disasm_y_pos-4)*10001h |
1775 | mcall |
1820 | mcall |
Line -... | Line 1821... | ||
- | 1821 | ||
- | 1822 | mov ebx, [registers_x_pos_dd] |
|
- | 1823 | add ebx, (4 shl 16) + 42 |
|
- | 1824 | mov ecx, (registers_y_pos shl 16) + 11 |
|
- | 1825 | mov edx, (1 shl 30)+2 |
|
- | 1826 | mov esi, 0x00808080 |
|
- | 1827 | mcall 8 |
|
- | 1828 | ||
1776 | 1829 | ||
1777 | ; redraw whole window again |
1830 | ; redraw whole window again |
1778 | call redraw_title |
1831 | call redraw_title |
1779 | call draw_registers |
1832 | call draw_registers |
1780 | call draw_dump |
1833 | call draw_dump |