FreeBasic: Welche Asm-Befehle und -Optionen stecken in fbc.exe?

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.

Was macht dieses Programm?

Bearbeiten

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

Ergebnisse

Bearbeiten
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.