Попытка скопировать строку из пользовательского ввода в .asm - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь написать программу сборки, чтобы скопировать строку, заданную пользователем, и вывести ее обратно. Однако каждый раз, когда я проверяю его, он выводит случайные символы вместо того, что указано.

Например:

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
...