Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

WASM(Assembler Compiler + Interpreter)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 12.09.2010, 11:53    Titel: WASM(Assembler Compiler + Interpreter) Antworten mit Zitat

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) zwinkern

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. lächeln

Viel Frust mit dem unnötigen Zeug, ich bezweifle, dass es jemand gebrauchen kann. zwinkern
Vielleicht wird ja mal ein richtiger Compiler daraus, wenn ich wieder Motivation dran finde durchgeknallt


Zuletzt bearbeitet von Westbeam am 12.09.2010, 18:26, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.09.2010, 15:51    Titel: Antworten mit Zitat

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!!happy) 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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 12.09.2010, 16:02    Titel: Antworten mit Zitat

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. lächeln
Aber ich habe eine Frage: Welche Extras?

Ich habe gerade keine Zeit, nachher downloade ich mir die Exen und mache sie in das Archiv grinsen

Zitat:
Leider war die ReadMe.Txt(ich lese sowas meistens!! happy ) 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 verwundert

Das mit den Select Case überlege ich mir zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.09.2010, 17:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 12.09.2010, 18:27    Titel: Antworten mit Zitat

@Jojo
Achso, solche Extras. lachen
Sowas kenne ich nicht

Hab die Windowsversion geuploaded zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.09.2010, 21:24    Titel: Antworten mit Zitat

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) lachen
..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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.09.2010, 17:48    Titel: Antworten mit Zitat

Danke, ich schau es mir mal an zwinkern

EDIT: Moment, woher weißt du, dass ich in manchen Foren 'aletes' heiße?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 13.09.2010, 19:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 13.09.2010, 19:45    Titel: Antworten mit Zitat

Achso, da stehts ja. Sorry, hab ich vergessen zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz