我有一个汇编程序,它应该写 "你叫什么名字?",然后等待用户输入,然后打印 "你好"。 这是我的程序(Mac,nasm)。
section .data
question db "What's your name?"
answer db "Hello, "
ln db 10
section .bss
name resb 16
section .text
global start
start:
mov rsi, question
mov rdi, 17
call print
call getName
mov rsi, answer
mov rdi, 7
call print
mov rsi, ln
mov rdi, 1
call print
mov rax, 0x02000001
mov rdi, 0
syscall
print:
mov rax, 0x02000004
mov rdi, 1
syscall
ret
getName:
mov rax, 0x02000003
mov rdi, 0
mov rsi, name
mov rdx, 16
syscall
ret
但是这个程序写了 "你叫什么名字?",然后等待用户输入,为什么不在写 "你好 "之前等待用户输入?
我在启动时把rdx和rdi弄混了,忘了打印出名字。我的错.EDIT:由于某些原因,我不能接受这个答案,所以。这是公认的答案!