 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 12.09.2010, 11:53 Titel: WASM(Assembler Compiler + Interpreter) |
|
|
Hi
Eigentlich ist es nur eine Hausaufgabe für den Informatikunterricht, aber vielleicht kann es auch jemand von euch gebrauchen.
Es ist ein selbst geschriebener Assembler Compiler und Interpreter.
Der Compiler erzeugt eine .bas Datei, die dann von fbc(dem FreeBasic Compiler) kompiliert wird. Ihr müsst also den fbc installiert haben.
Die Sprache beherrscht 15 Befehle und kann 6 Register ansprechen(keine 'echten' Register, die Register werden über ein UDT im Code erstellt)
Ein 9-Seitiges Tutorial im .pdf Format liegt bei, in dem die Sprache erklärt wird. Ebenso habe ich 3 Beispiel dazu gepackt, die im Ordner 'examples' sind.
-Benutzung:
Startet das Programm 'WASM' über das Terminal. Dort gebt ihr den Dateinamen ein(ohne Dateiendung) und drückt danach 1 zum Interpretieren, 2 zum Kompilieren oder 3 zum Beenden.
Die Quellcodedateien müssen die Dateiendung .wasm haben.
-Der Interpreter:
Der Interpreter ist extrem umständlich programmiert. Jedoch kann man sich einen klaren Überblick schaffen, da ich jedem Code-Abschnitt eine Überschrift im Kommentar gegeben habe.
-Der Compiler:
Nicht ganz so umständlich geschrieben wie der Interpreter, allerdings unübersichtlicher, da ich den einzelnen Code-Abschnitten keine Überschrift gab.
-Beispiel:
Das ist das Beispiel "rechner.wasm", welches im Ordner "examples" zu finden ist:
Code: | .data db
mov db,Addition 4+8:
int print,db
mov ax,4
mov bx,8
add ax,bx
int print,ax
mov db,Subtraktion 8-4:
int print,db
mov ax,8
mov bx,4
sub ax,bx
int print,ax
mov db,Multiplikation 4*8:
int print,db
mov ax,4
mov bx,8
mul bx
int print,ax
mov db,Division 8/4:
int print,db
mov ax,8
mov bx,4
div bx
int print,ax
int 22h
int 21h |
-Download:
WASM[Linux]
WASM[Windows]
WASM[source]
Wegen Windows: Da Ich Linux nutze, konnte ich euch keine .exe erstellen. Wer mag, kann den Code unter Windows kompilieren und mir die .exe schicken. Ich stelle den Downloadlink für die Windowsversion dann hier rein.
Viel Frust mit dem unnötigen Zeug, ich bezweifle, dass es jemand gebrauchen kann.
Vielleicht wird ja mal ein richtiger Compiler daraus, wenn ich wieder Motivation dran finde 
Zuletzt bearbeitet von Westbeam am 12.09.2010, 18:26, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 12.09.2010, 15:51 Titel: |
|
|
Hi
ich habe mal drei Exe-Dateien erstellt. Obwohl es mir schwergefallen ist,
habe ich die 3 QuellCodes von Westbeam nur kompiliert, ohne Extras:
http://ytwinky.freebasic-portal.de/4all/compiler.exe
http://ytwinky.freebasic-portal.de/4all/interpreter.exe
http://ytwinky.freebasic-portal.de/4all/wasm.exe
Ich denke Sebastian hat nix dagegen, wenn die Dateien bei mir zwischengelagert werden.
Leider war die ReadMe.Txt(ich lese sowas meistens!! ) nicht dabei..
Wenn du mal wieder Interesse an einer Fortsetzung findest, solltest du imho in Erwägung ziehen,
diese If-Then-Else-ElseIf-Konstrukte durch elegante Select Case-Anweisungen zu ersetzen..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 12.09.2010, 16:02 Titel: |
|
|
Zitat: | ich habe mal drei Exe-Dateien erstellt. Obwohl es mir schwergefallen ist,
habe ich die 3 QuellCodes von Westbeam nur kompiliert, ohne Extras
|
Das ist super, danke.
Aber ich habe eine Frage: Welche Extras?
Ich habe gerade keine Zeit, nachher downloade ich mir die Exen und mache sie in das Archiv
Zitat: | Leider war die ReadMe.Txt(ich lese sowas meistens!! ) nicht dabei.. |
Ich habe keine ReadMe geschrieben. In der Hilfe.pdf steht alles, oder was meinst du? Tut mir Leid, aber ich bin etwas verwirrt
Das mit den Select Case überlege ich mir  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.09.2010, 17:00 Titel: |
|
|
Westbeam hat Folgendes geschrieben: |
Aber ich habe eine Frage: Welche Extras? |
Viren, Würmer und dergleichen... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 12.09.2010, 18:27 Titel: |
|
|
@Jojo
Achso, solche Extras.
Sowas kenne ich nicht
Hab die Windowsversion geuploaded  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 12.09.2010, 21:24 Titel: |
|
|
Direkt aus der Quelldatei vom Interpreter..
Zitat: | '# Assembler Interpreter von Westbeam #
'# Geschrieben vom 10.9.2010 bis zum 11.9.2010 #
'# Biete lesen sie die Readme.txt #
| (ich habe noch nicht mal berichtigt, dass 'sie' gross geschrieben wird)
..und hierauf bezog sich das 'Extras': es hätten ja spezielle Compiler-Anweisungen drin stehen können,
aber ich dachte mir halt, dass bei den drei Konsolen-Programmen nix Besonderes dabei sein kann..
Eine spezielle Compiler-Anweisung wäre z.B. die Erhöhung des Stacks..
Einige Vorschläge zur Weiterarbeit sind hier enthalten XD
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.09.2010, 17:48 Titel: |
|
|
Danke, ich schau es mir mal an
EDIT: Moment, woher weißt du, dass ich in manchen Foren 'aletes' heiße? |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.09.2010, 19:28 Titel: |
|
|
Westbeam hat Folgendes geschrieben: |
EDIT: Moment, woher weißt du, dass ich in manchen Foren 'aletes' heiße? | Ist es etwa verboten, deinen Source durchzulesen? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 13.09.2010, 19:45 Titel: |
|
|
Achso, da stehts ja. Sorry, hab ich vergessen  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|