ASM

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » A » 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 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