繁体   English   中英

汇编器-EQU计算什么?

[英]Assembler - EQU calculate what?

在下面的代码中:

section .data
    sa db ’abxdefghxl’,0
    la  EQU $ - sa
    sb db ’abcdexghil’,0
section .text

正如我在程序中看到的那样,当我运行mov ecx时,la-然后我在ECX中得到了11。 我不明白为什么abxdefghxl的数量不是10。我们也算0?

假设sa0x400开始。 您已定义10( abxdefghxl ()加1 0在端),因此la wwould在开始0x40B $表示当前指令/指令地址。 因此$-sa = 0xB11

$代表当前位置。 并且由于当前位置在“ sa”的完整声明之后,因此表达式$ -sa为11。请记住,在汇编中没有像“ string”数据类型那样的内容,因此“ sa”只是字节的集合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM