2 Stimmen

NASM - Verlängerungsetikett mit Bit-Flag

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X