我有一个 64 位 NASM 汇编分配来大写输入文本的字母(所有字母都应该小写,除了那些在句子开头的字母)。我对汇编程序完全陌生,当我阅读这样的文本时,我无法在任何地方找到如何从字符串中增量读取每个字符:
section .data
prompt db "Enter your text: ", 10
length equ $ - prompt
text times 255 db 0
textsize equ $ - text
section .text
global main
main:
mov rax, 1
mov rdi, 1
mov rsi, prompt
mov rdx, length
syscall ;print prompt
mov rax, 0
mov rdi, 0
mov rsi, text
mov rdx, textsize
syscall ;read text input from keyboard
exit:
mov rax, 60
mov rdi, 0
syscall
另外,我不确定如何找出文本何时结束,因此我可以知道何时必须退出程序。我应该对文本大小进行一些操作还是有一些显示 EOL 的特殊符号之王?谢谢您的回答。