我正在yasm和nasm上学习x86_64汇编代码,我遇到了这些表达式,我无法弄清这里发生了什么,有人可以解释一下吗?让我们以这些代码段为例:>
section .data
word db "Hello, Guys!", 0xa
global _start
section .text
_start:
mov rax, word
...
...
...
AND
section .data
word db "Hello, Guys!", 0xa
global _start
_start:
mov rax, [word]
...
...
...
将word变量放在方括号中和不放在方括号中之间,有什么区别?我已经知道第一个将值从word复制到rax寄存器,带括号的是有效地址
但是我不明白那里到底发生了什么,如果有人可以向我解释这一点,我将不胜感激,谢谢!我已经在这里阅读了一些有关堆栈溢出的解释,但是没有一个人回答了我的问题
答案 0 :(得分:-3)
此行mov rax, word
将单词的内容放入rax寄存器,知道单词的起始地址为“ Hello,Guys!”。
`mov rax, [word]` put content of address pointed by word