GetString:
mov bx, MyString ; Get pointer to the allocated space (100 bytes in this case)
.again:
mov ah, 0x00 ; BIOS.GetKeyboardKey
int 0x16 ; -> AX
cmp al, 13
je .done
mov [bx], al ; Only storing the character code (ASCII)
inc bx ; Incrementing the pointer by 1, size of an ASCII character
jmp .again
.done:
mov byte [bx], 0 ; Make the string zero-terminated
ret
...
MyString: times 100 db 0
1条答案
按热度按时间qf9go6mv1#
你的“简单”输入功能已经太复杂了!没有真实的使用所有这些标签和分支。接下来是更好的、功能等效的代码:
我如何得到输入结果并将其放入变量中?
这取决于你的用例。