Entwickler-Ecke
Freeware Projekte - Know How Computer XP (Assembler-Grundlagen lernen)
CK_CK - Di 05.02.08 19:46
Titel: Know How Computer XP (Assembler-Grundlagen lernen)
Hallo,
ich habe mich über das Wochenende daran gesetzt, den
Know How Computer [
http://www.wolfgang-back.com/knowhow_home.php] vom Computerclub (muss man nicht kennen, ist schon etwas älter ;)) nachzuprogrammieren; natürlich besser und mit mehr Funktionen ;)
Zitat von der Seite:
| Zitat: |
| Wenn Sie später in die Assemblersprache einsteigen wollen, so ist der Knowhow – Computer das richtige Lernmittel, um Denkstrukturen in Maschinensprache zu trainieren. |
Es wird eine einfache Assembler-Ähnliche Programmiersprache und die Zugriffe auf Speicher-Register simuliert.
Visualisiert wird das ganze durch "Streichhölzer", die in die verschiedenen Register gefüllt werden.
Die Befehle
Befehl | Bedeutung | Beschreibung
jmp | Jump | Setzt den Programmzeiger auf die angegebene Position.
isz | Is Zero | Prüft, ob das angegebene Register null ist. Wenn ja springt der Programmzeiger zwei Schritte weiter, ansonsten nur einen.
inc | Increment | Erhöht das angegebene Register um 1.
dec | Decrement | Verringert das angegebene Register um 1.
stp | Stop | Beendet das Programm.
Funktionen- Importieren des alten Dateiformats vom Original-Programm
- Anzeigen des Programmzeigers mit Pfeil
- Steuern des Programms (Einzelschritte/Kompletter durchlauf)
- Steuern der Ablaufgeschwindigkeit (zum leichteren Verstehen der Programme)
- Zeilen im Programm hinzufügen/löschen mit automatischer Neuberechnungen der jmp-Adressen
- Kommentieren der Programme
- Anzahl der Register festlegen
- Datentyp der Register festlegen
- Byte (8 bit, unsigned ~ 0 - 255)
- ShortInt (8 bit, signed ~ -127 - 127)
- Word (16 bit, unsigned ~ 0 - 65535)
- SmallInt (16 bit, signed ~ -32768 - 32767)
- Verknüpfen mit den Programmdateien (neues und/oder altes Format)
Screenshot
Beispiel-Programm (Kopiert Register 1 nach Register 2)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| 01: isz 2 //Ist Register 2 null? 02: jmp 4 //Nein? Dann zu Zeile 4 springen 03: jmp 7 //Ja? Dann zu Zeile 7 springen 04: dec 2 //Register 2 um 1 verringern 05: jmp 1 //Nach Zeile 1 springen 06: 07: isz 1 //Ist Register 1 null? 08: jmp 10 //Nein? Dann zu Zeile 10 springen 09: jmp 15 //Ja? Dann zu Zeile 15 springen 10: dec 1 //Register 1 um 1 verringern 11: inc 2 //Register 2 um 1 erhoehen 12: inc 3 //Register 3 um 1 erhoehen 13: jmp 7 //Zurueck zu Zeile 7 springen 14: 15: isz 3 //Ist Register 3 null? 16: jmp 18 //Nein? Dann zu Zeile 18 springen 17: stp //Ja? Dann ist das Programm fertig => STOP 18: dec 3 //Register 3 um 1 verringern 19: inc 1 //Register 1 um 1 erhoehen 20: jmp 15 //Zurueck zu Zeile 15 springen
Erklaerung: 1-5: R2 := 0 7-13: R1 nach R2 und R3 kopieren, R1 wird geleert 15-20: R3 nach R1 verschieben |
Links
>
Direkt-Download [
http://www.kroegerama.de/cms/download.php?fid=26] [Version 1.0 RC3] (1.06 MB) <- Einige Beispielprogramme sind schon mit dabei ;)
>
Programm-Beschreibung, mehr Screenshots und Changelog [
http://www.kroegerama.de/cms/programs/10-Know-How-Computer-XP.html]
So, nun hoffe ich, dass jemand was mit dem Programm anfangen kann... ;)
Chris
CK_CK - Mi 06.02.08 15:39
Sooo, es gibt schon eine neue Version...
Version 1.0 RC2
+ Kurzreferenz hinzugefügt
* Beim Öffnen von Dateien wurden nicht genug neue Zeilen angelegt
* Die Datentypen wurden nicht richtig übernommen
Viele Grüße,
Chris
CK_CK - Fr 08.02.08 15:24
Ich habe wieder eine neue Version mit vielen neuen Funktionen veröffentlicht:
Version 1.0 RC3
+ Exportieren ins Original-Dateiformat hinzugefügt
+ Exportieren als Textdatei hinzugefügt
+ Druckfunktion hinzugefügt
+ Versionscheck hinzugefügt
* Einige Verbesserungen im Quellcode
Würde mich über Kommentare freuen ;)
Viele Grüße,
Chris
nagel - Fr 08.02.08 15:37
Is' doch nur 'ne billige Brainfuck-Kopie :wink: .
(Bevor jetzt ein Aufschrei der Entrüstung durch's Forum geht: Mir ist klar, dass diese Aussage historisch unsinnig ist.)
nagel - Fr 08.02.08 16:00
Ja, den hab ich mir auch schon angeschaut. Ganz nettes Teil, schreib lieber daran weiter :wink: .
Brainfuck hat doch eindeutig mehr Zukunft als ... ähm ... KnowHowComputerASM oder so.
Aber mal im Ernst: Nicht schlecht. Nur ein kleiner Hinweis: 8 Bit signed hat einen Wertebereich von -128 bis 127 (im Programm richtig, aber hier in deinem ersten Post, in der pdf und im Menü falsch).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!