1
下面的指令是message:
是否正確?具體而言,因爲「Hello,World」總共爲12
字節,但是,右操作數具有「10」。db,mov,字符串文字
我想知道這是否是錯誤。如果沒有,爲什麼它將10指定爲正確的操作數?我從這裏得到了這段代碼:(http://cs.lmu.edu/~ray/notes/x86assembly/)
另外,在mov rdx,13
爲什麼它指定13個字節而不是實際大小message
?
global _start
section .text
_start:
; write(1, message, 13)
mov rax, 1 ; system call write is 1
mov rdi, 1 ; 1 is stdout
mov rsi, message ; address of string
mov rdx, 13 ; number of bytes
syscall ; invoke operating system call
; exit(0)
mov eax, 60 ; system call 60 is exit
xor rdi, rdi ; exit code 0
syscall ; invoke exit
message:
db "Hello, World", 10