FreeBasic: Welche Asm-Befehle und -Optionen stecken in fbc.exe?
Aus Wikibooks
Ein kleines Programm in freeBASIC ist recht hilfreich gewesen um einmal zu sehen, welche Assemblerbefehle fbc.exe (=der FB-Compiler) erkennt und welche Optionen / Anweisungen der InlineAssembler von FBC annimmt.
[Bearbeiten] Was macht dieses Programm?
Das Programm macht nichts anderes als die fbc.exe binär zu öffnen und nach Text zu scannen. Dieser erkannte Text, mindestens 2 Zeichen lang, wird dann in der Datei asmtxt.txt abgespeichert. Das Ergebnis kanst du dir dann mit einem Texteditor ansehen.
Option Explicit Dim x as ubyte Ptr Dim i As Integer, f As Integer, flen As Integer, b As Integer Dim text As String f = FreeFile Open "fbc.exe" For Binary As #f flen = lof(f) Dim membuff(flen-1) As UByte Get #f, 1, membuff() Close #f f = FreeFile Open "asmtxt.txt" For Output As #f text="" x=@membuff(0) For i = 324000 To flen-1 b = x[ i ] Select Case b Case 0 To 31,34,127 To 255 If Len(text)>1 Then Print #f, text End if text="" Case 32,33,35 to 126 text=text+CHR$(b) End Select Next Close #f Print "Verdisch..." Sleep
[Bearbeiten] Ergebnisse
byte word dword qword ptr offset void ptr byte ptr word ptr dword ptr qword ptr .byte .short .int .quad .float .double .ascii .asciz
und die Asm-Befehle komplett, "IA-32 instruction set, including MMX/SSE/SSE2" sowie "AMD x86 additions, including 3DNow!/Ext.3DNow!" zu viel um sie hier aufzuzählen. Sind auch in "fbc-v0.13b-src.zip", Datei "emit_x86.bas" aufgeführt.

