美元的意思签到gnu汇编标签

时间:2017-04-24 15:55:21

标签: gcc assembly

在gnu装配标签前面有一个美元符号的含义是什么?

例如,mov msg, %simov $msg, %si

之间有什么区别

(有关更多背景信息,我正在使用x86裸机示例:https://github.com/cirosantilli/x86-bare-metal-examples/blob/master/bios_hello_world.S

#include "common.h"
BEGIN
    mov $msg, %si
    mov $0x0e, %ah
loop:
    lodsb
    or %al, %al
    jz halt
    int $0x10
    jmp loop
halt:
    hlt
msg:
    .asciz "hello world"

What do the dollar ($) and percentage (%) signs represent in assembly intel x86?讨论了寄存器之前的%和常量之前的$的一般用法;但是,我认为它不会像下面的答案一样清楚地使用带标签的$。

1 个答案:

答案 0 :(得分:6)

在寻址常数时使用$(美元)符号,例如: movl $1, %eax(将1置于%eax注册) 或者在处理某个变量的地址时,例如:movl $var, %eax(这意味着地址 var 标签并将其放入{{1注册)。 如果您不使用美元符号,这意味着“从 %eax 标签中获取值并将其注册”。