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 nur ASM-Anweisung für x86 Prozessoren unterstützt.
Der Assembler-Code unterliegt der INTEL-Syntax. Es wird der gesamte IA32-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 Integer mit Assembler
Function Mal(ByVal x As Integer, ByVal y As Integer) As Integer
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 Integer 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