例如,如果我们编写一个简单的hello world类型程序,.data部分可能包含如下内容:
section .data
msg db 'Enter something: '
len equ $ - msg这个例子中的$代表什么,为什么$ - msg等于字符串的长度?
发布于 2015-10-04 18:23:20
NASM文档
http://www.nasm.us/doc/nasmdoc3.html#section-3.5
NASM支持表达式中的两个特殊标记,允许计算涉及当前组装位置:$和$$标记。$计算到包含表达式的行开头的组装位置;因此您可以使用JMP $编写无限循环代码。
http://www.nasm.us/doc/nasmdoc3.html#section-3.2.4
EQU将符号定义为给定的常量值:当使用EQU时,源行必须包含一个标签。EQU的作用是将给定的标签名定义为其(仅)操作数的值。此定义是绝对的,以后不能更改。所以,比如说, 消息db 'hello,world‘msglen $-message 将msglen定义为常量12
https://stackoverflow.com/questions/10361231
复制相似问题