我需要设置一些标签地址/偏移量的最高位。
我试过:
测试.nasm:
BITS 32
dw mylabel | 0x8000
mylabel:
dd 0
但是当试图组装这个时,我得到:
nasm -f bin test.nasm
test.nasm:3: error: `|' operator may only be applied to scalar values
为什么它不将mylabel视为标量值?我认为标签只是被汇编器替换为它们的地址(标量值)。
如果这很重要,我正在使用 nasm v 2.09.04。
提前感谢您的帮助。
编辑: 我已经能够使用+而不是| . 看起来好像按位运算符不适用于标签。你怎么看,这是故意的还是错误的?