【发布时间】:2017-05-17 20:35:04
【问题描述】:
如果eax中有一个char数组的地址,0(%eax)和(%eax)有什么区别?还是一样,都是指数组的第一个元素?
【问题讨论】:
-
当您组装然后拆卸它们时,您发现它们有什么不同吗?
-
想想
0(%eax)是什么意思。这意味着与eax中的值有 0 的偏移量。现在,(%eax)是什么意思?表示eax中的值。所以只要x == x + 0,不,显然没有区别。 -
如果您在反汇编程序输出中看到类似
0(%eax)的内容(而不是汇编源代码),那么 0 可能是重定位的目标,当目标文件发生时会更改它的其他值已链接。
标签: assembly x86 cpu-registers att