我有一个64位的NASM程序集指定大写(所有字母应该是小写字母,除了在句子开头的那些字母)输入文本的字母。我完全新的汇编,我不能在任何地方我应该怎么读字符串中的每个字符逐渐发现,当我读到这样的文字:如何从字符串中读取每个字符NASM程序集64bit linux
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的特殊符号王?谢谢您的回答。
'sys_read'(系统调用0)返回'rax' IIRC中读取的字符数。 – Michael