Я пытаюсь отладить свою программу, чтобы справиться с проблемой HW.Проблема HW не имеет отношения к проблеме, поскольку я протестировал ее с 2 отдельными процедурами.
По существу, когда я пытаюсь отладить, я могу установить точку останова для первой процедуры, и она будет работать нормально.
Точка останова на второй процедуре будет через ошибку.
Код компилируется просто отлично.
Код прекрасно работает только с одной процедурой, и я протестировал основные процедуры.
INCLUDE Irvine32.inc
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.data
myString BYTE "Hello World",0dh,0ah
.code
main proc
;------DigitValue2ASCII-----
DigitValue2ASCII proc
mov eax, 0000h
mov edx, 0ch
mov al, 00h
cmp dl, 0ah
jae letter
cmp dl, 0ah
jb number
letter: add dl, 37h
jmp final
number: add dl, 30h
final: mov al, dl
call writechar
mov eax, 0000h
mov edx, 09h
mov al, 00h
cmp dl, 0ah
jae letter1
cmp dl, 0ah
jb number1
letter1: add dl, 37h
jmp final1
number1: add dl, 30h
final1: mov al, dl
call writechar
ret
DigitValue2ASCII endp
WriteHexByte proc
mov eax, 00h
ret
WriteHexByte endp
call DigitValue2ASCII
invoke ExitProcess,0
main endp
end main
Ошибка
'Project.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbols loaded.
'Project.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
The thread 0x2cd0 has exited with code 0 (0x0).
The thread 0x4f7c has exited with code 0 (0x0).
The thread 0x13a4 has exited with code 0 (0x0).
The program '[18384] Project.exe' has exited with code 57 (0x39).```