【发布时间】:2019-02-25 18:06:38
【问题描述】:
我正在学习关于 yasm 和 nasm 的 x86_64 汇编代码,我遇到了这些表达式,我无法弄清楚这里发生了什么,请有人解释一下吗?让我们以这些 sn-p 为例:
section .data
word db "Hello, Guys!", 0xa
global _start
section .text
_start:
mov rax, word
...
...
...
与
section .data
word db "Hello, Guys!", 0xa
global _start
_start:
mov rax, [word]
...
...
...
将单词变量移动到括号中的rax和不使用括号有什么区别?我已经知道第一个是将值从word复制到rax寄存器,带括号的是有效地址
但我不明白那里到底发生了什么,如果有人能解释一下,我将不胜感激,谢谢!,我已经在这里阅读了一些关于堆栈溢出的解释,但他们都没有回答我的问题
【问题讨论】:
-
无括号 = 地址,括号 = 内存中的值。很简单。
标签: assembly nasm x86-64 brackets yasm