GAS是否有任何评估类似于NASM的$令牌?

时间:2012-01-24 23:44:14

标签: assembly nasm gas binutils

我刚开始走下大会之路,并且是第一个“Hello,World!”之一。教程我发现http://asm.sourceforge.net/intro/hello.html,提供了一个很好的psudo方式 - 动态地获取字符串的长度以进入系统调用。

section .data
msg db 'Hello, World!",0xa
len equ $ - msg

这在nasm中非常有用,并且所有内容都可以组装,链接和运行。

当我试图找到一种方法在气体中做同样的事情时,问题出现了。

据我所知,在这种情况下,$是一个评估当前装配位置的标记http://www.csie.ntu.edu.tw/~comp03/nasm/nasmdoc3.html#section-3.5

这个表达式($ - msg)可以用气体表达,还是这个鼻子独有的语法糖?

1 个答案:

答案 0 :(得分:2)

对于x86,您可以以相同的方式使用“.”。 e.g。

    .data

msg:
    .ascii "Hello, World!"
    .byte 0xa
    .equ len, . - msg

(注意:其他平台不一定如此。gas支持许多平台,语法的各个方面因它们而异!)

相关问题