Referenz - ASM
Syntax A: ASM <ASSEMBLER-Code>
Syntax B:
ASM
<ASSEMBLER-Code>
END ASM
Typ: Anweisung
Kategorie: Programmablauf
ASM bindet Maschinensprache-Code ins Programm ein. Derzeit werden ASM-Anweisung für x86 und x86_64 Architekturen unterstützt.
Der Assembler-Code verwendet die INTEL-Syntax. Es wird der gesamte IA32/AMD64-Befehlssatz unterstützt.
Kommentare in ASM-Blöcken verwenden dieselbe Syntax wie FreeBASIC-Kommentare. Verwenden Sie als Kommentarzeichen das Hochkomma " ' " und nicht das in ASM übliche Semikolon " ; "
Wenn Sie ASM-Code innerhalb einer FUNCTION einsetzen, können Sie das Symbol 'FUNCTION' als Pointer einsetzen (siehe Beispiel), der auf das Ergebnis der FUNCTION zeigt.
Beispiel: Multiplikation zweier 32-Bit Integer-Werte mit Assembler
Function Mal(ByVal x As Long, ByVal y As Long) As Long
Asm
mov eax, [x] 'hole x nach eax
imul eax, [y] 'Multipliziere mit y
mov [Function], eax 'Ergebnis als Rückgabewert
End Asm
End Function
Dim As Long a = 45, b = 54
Print Mal(a, b)
Sleep
Weitere Hinweise und Erkärungen finden Sie hier unter BASIC-Grundlagen Inline-Assembler.
Unterschiede zu QB: neu in FreeBASIC
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht ASM nicht zur Verfügung und kann nur über __ASM aufgerufen werden.
Siehe auch:
Inline-Assembler, NAKED, Verschiedenes
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|