FreeBasic: Inline-Assembling

Aus Wikibooks

Was ist Inline-Assembling?[Bearbeiten]

Inline-Assembling gibt uns die Möglichkeit, eigenen Assembler-Code in unsere Programme einzubauen. Assembler-Code ist oft 10 mal schneller, als jeder FreeBasic-Code und die Ergebnisse sind viel kleiner. Wenn man ein paar wichtige Stellen im Programm in Assembler umschreibt, kann dadurch das Programm enorm beschleunigt werden. Das ist ein sehr schweres Thema und wer keine Ahnung von Assembler hat, sollte lieber die Finger davon lassen. Man kann so ziemlich alle Assembler-Befehle, die normalerweise zur Verfügung stehen, benutzen.

ASM
Asm-Code....
END ASM

oder zeilenweise

ASM Asm-Code....
ASM Asm-Code....
ASM Asm-Code....

Jeweils ein Beispiel:

Dim x As Integer 
x=0 
Do 
  Print x;" "; 
  ASM
    mov eax, [x] 
    inc eax
    mov [x], eax 
  End ASM 
Loop Until x=20 
Sleep
Dim x As Integer 
x=0 
Do 
  Print x;" "; 
  ASM inc dword ptr [x] 
Loop Until x=20 
Sleep