Unter x64 kann das Laden von einer absoluten 64-Bit-Adresse (dh das Dereferenzieren eines direkten 64-Bit) durch
erfolgen %Vor% Wenn das Zielregister jedoch ein anderes als rax
ist, gibt der Assembler die Fehlermeldung operand size mismatch for movabs
aus. Was vermisse ich?
Auf keinen Fall. Es kann nur von Areg geladen werden
MOVABS
ist der GAS-Opcode-Name für dieMOV
-Opcode-FormulareMOV Areg, [Offs64]
undMOV [Offs64], Areg
.
In Yasms NASM-Syntaxmodus können Sie dieses Formular erhalten, indem SieMOV AX, [qword xxx]
sagen. Yasms GAS-Syntax-Modus akzeptiertMOVABS
(für GAS-Kompatibilität).
Beachten Sie, dass dieses Formular nur mit Areg (AL / AX / EAX / RAX) als Quell- / Zielregister gültig ist. *