我是System Programming
的新手。我想得到一个输入字符串并将其保存在变量中然后显示它。我知道如何读取单个字符然后显示它但是无法弄清楚如何获取输入字符串,将其保存到变量中然后显示它。
这是我到目前为止尝试处理输入字符串
[bits 16]
[org 0x7c00]
mov si, msg
call print_string
call input_string
print_char:
mov ah, 0x0e
mov bh, 0x00
mov bl, 0x07
int 0x10
ret
print_string:
next_character:
mov al, [si]
inc si
cmp al, 0
je exit
call print_char
jmp next_character
ret
;code for reading user input
input_string:
mov si, input
read_next_input_char:
mov ah, 0x00
int 0x16
cmp al, 0x0D ; check if Enter key pressed
je display_input_string
mov [si], al
inc si
jmp read_next_input_char
ret
display_input_string:
mov si, input
call print_string
ret
exit:
ret
msg db "This is my tiny OS", 0
input
times 510 - ($ - $$) db 0
dw 0xaa55
我无法弄清楚我的代码有什么问题。任何帮助将不胜感激。