AGB  ·  Datenschutz  ·  Impressum  







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

Know How Computer XP (Assembler-Grundlagen lernen)

Ein Thema von CK_CK · begonnen am 5. Feb 2008 · letzter Beitrag vom 11. Feb 2008
 
Benutzerbild von CK_CK
CK_CK

Registriert seit: 30. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#1

Know How Computer XP (Assembler-Grundlagen lernen)

  Alt 5. Feb 2008, 18:44
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 16:28 Uhr)
  Mit Zitat antworten Zitat
 


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 01:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz