我在使用
设置的程序集文件中有一个变量.set CODE_SELECTOR 0x08
.global CODE_SELECTOR
然后我有一个CDE文件,CODE_SELECTOR声明为extern,我试图简单地访问它应该是0x08的值。 当我实际使用CODE_SELECTOR作为参数调用C函数时,C将其视为我想要内存位置CODE_SELECTOR的内容,并且我最终得到以下汇编代码
mov 0x8,%eax
sub $0xc,%esp
push %eax
call 0x284
如果我使用显式数字(如0x08)调用相同的函数,我最终得到预期的代码
sub $0xc,%esp
push $0x8
call 0x284
那么我应该如何正确访问CODE_SELECTOR的“值”而不是CODE_SELECTOR的内容?我认为这可能与装配符号类型有关,但我无法弄明白。