Я пытаюсь написать программу сборки, чтобы скопировать строку, заданную пользователем, и вывести ее обратно. Однако каждый раз, когда я проверяю его, он выводит случайные символы вместо того, что указано.
Например:
Enter string: Hello
Copy of your string: --
Это код, который я до сих пор работал, и я уверен, это как-то связано со смещением. Я просто понятия не имею, что.
cr EQU 0dh ; carriage return character
Lf EQU 0ah ; line feed
.DATA
inputPrompt BYTE "Enter string: ", 0
string BYTE 20 DUP (?)
msg_copy BYTE cr, Lf, "Copy of your string: "
copy BYTE 11 DUP (?)
BYTE cr, Lf, 0
.CODE ; start of main program code
_start:
output inputPrompt ; prompt for string
input string, 20 ; read ASCII characters
mov copy, al ; copy to output byte
output msg_copy ; output message and string copy
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END ; end of source code