Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Know How Computer XP (Assembler-Grundlagen lernen) (https://www.delphipraxis.net/107977-know-how-computer-xp-assembler-grundlagen-lernen.html)

CK_CK 5. Feb 2008 18:44


Know How Computer XP (Assembler-Grundlagen lernen)
 
Hallo,
ich habe mich über das Wochenende daran gesetzt, den Know How Computer 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)

Beispiel-Programm (Kopiert Register 1 nach Register 2)
Code:
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
> Programm-Beschreibung, mehr Screenshots und Changelog

So, nun hoffe ich, dass jemand was mit dem Programm anfangen kann... ;)

Chris

jmit 5. Feb 2008 19:13

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Hallo,

ich kannte schon den Know How Computer vom WDR Computer Club.
Dein Programm macht einen guten Eindruck. Ich werde mich wohl wieder einmal etwas mit Assembler beschäftigen.

Gruß Jörg

CK_CK 6. Feb 2008 14:36

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Schön, dass die Sendung noch jemand kennt ;)

Hab' eine neue Version veröffentlicht:
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 8. Feb 2008 14:22

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
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

Die Muhkuh 8. Feb 2008 15:01

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Gefällt mir :-)

Was allerdings noch sein sollte, wenn die eine Programmzeile außerhalb des sichtbaren Bereiches abgearbeitet wird, sollte das StringGrind (oder was es ist), dort hin scrollen.

tr909 11. Feb 2008 07:32

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Sehr nett. Werde ich mal testen. Weil es gerade zum Thema passt, habe ich noch was ausgebuddelt. Ist nicht von mir, steht unter GPL. Ist ein 8051-Emulator, mit IDE und noch einiges mehr. Delphi-Quellcode und exe sind den Archiven. Evtl. kann es ja jemand brauchen.

Gruß
tr909

SirThornberry 11. Feb 2008 08:42

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
@tr909: ob das hier der richtige ort ist um es posten bezweifel ich. Hier in der Freewaresparte stellt jemand sein Programm vor und du packst einfach ein anderes dazu. Das Thema soll keine Sammlung von Programmen werden welche den gleichen Zweck erfüllen sondern ist eben eine Programmvorstellung. Bitte mache zukünftig wenn du ein anderes Programm vorstellen willst ein neues Thema auf. In diesem kannst du dann natürlich auch posten was dich dazu bewegt hat das programm vorzustellen und auf diesen Thread verweisen.

tr909 11. Feb 2008 09:28

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Stimmt eigentlich. Aber in die Freeware-Sparte wollte ich es dann nicht packen, da es ja nicht von mir ist. Aber evtl. kann es ja als Anregung dienen, da dort in dem Programm eine 8051-CPU emuliert wird, die man per Assembler programmieren kann. Und da das ganze im Quellcode vorliegt habe ich gedacht das es ganz gut dazu passt. Evtl. kann dort der Autor ja noch ein paar Ideen finden.

Gruß
tr909

QuickAndDirty 11. Feb 2008 09:49

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Zicken-Krieg!!!

CK_CK 11. Feb 2008 11:16

Re: Know How Computer XP (Assembler-Grundlagen lernen)
 
Zitat:

Zitat von tr909
Sehr nett. Werde ich mal testen. Weil es gerade zum Thema passt, habe ich noch was ausgebuddelt. Ist nicht von mir, steht unter GPL. Ist ein 8051-Emulator, mit IDE und noch einiges mehr. Delphi-Quellcode und exe sind den Archiven. Evtl. kann es ja jemand brauchen.

Wow, genau sowas habe ich schon verzweifelt gesucht! Wir haben in der Schule nämlich mit Mikrocontrollern angefangen. Und dann auch noch mit Quelltext *schwärm*
VIELEN VIELEN DANK!

@SirThornberry: Ja, hast wohl Recht, aber das Programm passt ja ganz gut zum Thema. Also ich hab' jedenfalls nichts dagegen, wenn es hier im Thread ist ;)

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz