Referenz - ASM
Syntax A: ASM <ASSEMBLER-Code>
Syntax B:
ASM
<ASSEMBLER-Code>
END ASM
Typ: Befehl
Kategorie: Fremdsprachen
ASM bindet Maschinensprache-Code ins Programm ein. Es wird der gesamte IA32-Befehlssatz unterstützt.
Der Assembler-Code unterliegt der INTEL-Syntax. Da es nicht ausgeschlossen werden kann, dass zukünftige Versionen des FreeBASIC-Compilers auch Plattformen unterstützen, die einen anderen ASM-Befehlssatz verwenden, sollten ASM-Blöcke nur dann verwendet werden, wenn notwendig. Eine reine FreeBASIC-Lösung sollte, wenn möglich, bevorzugt werden.
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, der auf das Ergebnis der FUNCTION zeigt.
Beispiel: Multiplikation zweier Integer mit Assembler
DECLARE FUNCTION mulintegers(BYVAL x AS INTEGER, BYVAL y AS INTEGER) AS INTEGER
RANDOMIZE TIMER
DIM AS INTEGER a = RND * 100, b = RND * 100
PRINT a; " * "; b; " = "; mulintegers( a, b )
SLEEP
FUNCTION mulintegers(BYVAL x AS INTEGER, BYVAL y AS INTEGER) AS INTEGER
ASM
mov eax, [x]
imul eax, [y]
mov [FUNCTION], eax
END ASM
END FUNCTIONUnterschiede 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
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
|
||||





FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
Versionen