如何从数据部分获取最后一个值的地址?
How to Get Address of Last Value From Data Section?
我正在使用 'as' 汇编程序和以下 .section .data
items:
.long 5,6,8,10
如何获取值为 10 的地址?
您可以使用汇编程序指令 .
来获取您当前的位置地址,或者您可以使用类似 lea items(,%rax, 4), %rdi
的方式将项目数组的第 %rax
个位置地址加载到 %rdi
.
如何使用 . ?
点符号(独立)指的是当前地址,当 GAS 到达指向 assemble 的那个点时。其他 assemblers 使用“$”字符。
示例:
...
.data
...
items: .long 5,6,8,10 # Every ".long" is 4 bytes long
lastitem = . - 4 # https://sourceware.org/binutils/docs/as/Dot.html#Dot
...
.text
...
movl (lastitem), %eax
...
我正在使用 'as' 汇编程序和以下 .section .data
items:
.long 5,6,8,10
如何获取值为 10 的地址?
您可以使用汇编程序指令 .
来获取您当前的位置地址,或者您可以使用类似 lea items(,%rax, 4), %rdi
的方式将项目数组的第 %rax
个位置地址加载到 %rdi
.
如何使用 . ?
点符号(独立)指的是当前地址,当 GAS 到达指向 assemble 的那个点时。其他 assemblers 使用“$”字符。
示例:
...
.data
...
items: .long 5,6,8,10 # Every ".long" is 4 bytes long
lastitem = . - 4 # https://sourceware.org/binutils/docs/as/Dot.html#Dot
...
.text
...
movl (lastitem), %eax
...