Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]


Referenz - ASM

Referenz-Navigation

 

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 BefehlsreferenzeintragHochkomma " ' " und nicht das in ASM übliche Semilkolon " ; "

Wenn Sie ASM-Code innerhalb einer BefehlsreferenzeintragFUNCTION 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 FUNCTION

Unterschiede zu QB: neu in FreeBASIC

Unterschiede unter den FB-Dialektformen:
In der Dialektform Befehlsreferenzeintrag-lang qb steht ASM nicht zur Verfügung und kann nur über __ASM aufgerufen werden.

Siehe auch:
BefehlsreferenzeintragInline-Assembler, BefehlsreferenzeintragNAKED


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 25.06.2007 von RedakteurVolta angelegt.
  • Die aktuellste Version wurde am 08.07.2010 von Redakteurnemored gespeichert.
  Versionen Versionen