AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Know How Computer XP (Assembler-Grundlagen lernen)

Know How Computer XP (Assembler-Grundlagen lernen)

Ein Thema von CK_CK · begonnen am 5. Feb 2008 · letzter Beitrag vom 11. Feb 2008
Antwort Antwort
Benutzerbild von CK_CK
CK_CK
Registriert seit: 31. Aug 2005
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
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de

Geändert von CK_CK (14. Jan 2015 um 17:28 Uhr)
 
Benutzerbild von jmit
jmit

 
Turbo Delphi für Win32
 
#2
  Alt 5. Feb 2008, 20:13
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
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#3
  Alt 6. Feb 2008, 15:36
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
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#4
  Alt 8. Feb 2008, 15:22
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
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

 
Delphi 2009 Professional
 
#5
  Alt 8. Feb 2008, 16:01
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.
Manuel
  Mit Zitat antworten Zitat
tr909

 
Turbo Delphi für Win32
 
#6
  Alt 11. Feb 2008, 08:32
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
Angehängte Dateien
Dateityp: zip emusrc_182.zip (281,8 KB, 14x aufgerufen)
Dateityp: zip emu_149.zip (603,0 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#7
  Alt 11. Feb 2008, 09:42
@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.
Jens
  Mit Zitat antworten Zitat
tr909

 
Turbo Delphi für Win32
 
#8
  Alt 11. Feb 2008, 10:28
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
  Mit Zitat antworten Zitat
QuickAndDirty

 
Delphi 12 Athens
 
#9
  Alt 11. Feb 2008, 10:49
Zicken-Krieg!!!
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#10
  Alt 11. Feb 2008, 12:16
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
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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