Ich muss das höchste Bit einer Etikettenadresse/eines Offsets setzen.
Ich habe es versucht:
test.nasm:
BITS 32
dw mylabel | 0x8000
mylabel:
dd 0
Aber wenn ich versuche, dies zusammenzusetzen, erhalte ich:
nasm -f bin test.nasm
test.nasm:3: error: `|' operator may only be applied to scalar values
Warum sieht es nicht mylabel als Skalarwert? Ich dachte, Etiketten werden vom Assembler einfach durch ihre Adresse (Skalarwert) ersetzt.
Ich verwende nasm v 2.09.04, falls das eine Rolle spielt.
Vielen Dank im Voraus für jede Hilfe.
EDIT: Ich habe die Möglichkeit + anstelle von | . Es sieht so aus, als ob die bitweisen Operatoren nicht mit Bezeichnungen funktionieren. Was denken Sie, ist das Absicht oder ein Fehler?