PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:andere:machinecodetext

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
software:diy:andere:machinecodetext [18/11/2012 22:11] – code korrigiert uxtsoftware:diy:andere:machinecodetext [11/09/2022 22:09] – [BLINDIN.COM] Quellcode hinzugefügt bttr
Zeile 101: Zeile 101:
 Man sage nicht, der Portfolio biete keine eingebauten Programmier-Möglichkeiten!\\ Man sage nicht, der Portfolio biete keine eingebauten Programmier-Möglichkeiten!\\
 \\ \\
 +==== OPCODES ====
  
  
 +=== MESSAGE.COM ===
 +Gibt Meldung aus.\\
 +Dezimal:\\
 +180 009 186 009 001 205 033 205 032 077 069 083 083 065 071 069 036\\
 +Die ersten 9 Bytes sind Opcode, der Rest ist der Text der Meldung, in diesem Fall "MESSAGE$" (muß mit "$" (036) enden!)\\
 +Dieses Programm kann mit dem Text-Editor bearbeitet werden, der Text (ab Byte 10) kann dann bis zu 226 Zeichen lang sein (ASCII 009 ist der Tabulator, in der Textverarbeitung 8 Zeichen breit, in der DOS-Befehlszeile 4).
  
 +=== BLINDIN.COM ===
 +Einfache Eingabe-Routine die Zeichen nicht übersetzt (anders als ECHO), zur Eingabe von ASCII-Werten mit der numerischen Tastatur (Alt_nnn). Durch Umleiten in eine Datei lassen sich so ASCII-Werte auch unter 32 eingeben.\\
 +
 + Beispiel:\\
 +BLINDIN>USERIN.TXT\\
 +
 +Die Zeichen werden bereits während der Eingabe in die Datei USERIN.TXT geschrieben. Leider kann man die eingegebenen Zeichen nicht sehen, sie werden aber als reine ASCII-Werte gespeichert.\\
 +Abgebrochen wird die Aufzeichnung mit <key>Ctrl</key>+<key>c</key>.\\
 +
 +<note classic>
 +Programme, die mit Hilfe von BLINDIN eingegeben werden, werden immer 2 Byte größer als der Programmcode, da BLINDIN am Ende "^C" (ASCII) anhängt.
 +Für das geschriebene Programm ist das aber ohne Bedeutung.
 +</note>
 +
 +Programm-Code:\\
 +
 +Dezimal:\\
 +180 001 205 033 235 250\\
 +
 +Hexadezimal:\\
 +B4 01 CD 21 EB FA\\
 +
 +In Debug sieht der Quellcode dazu so aus:
 +
 +<code asm>
 +xxxx:0100 B401          MOV     AH,01
 +xxxx:0102 CD21          INT     21
 +xxxx:0104 EBFA          JMP     0100
 +</code>
  
 +Arbeitsprinzip: Die [[https://fd.lod.bz/rbil/interrup/dos_kernel/2101.html|DOS-Funktion 01h]] ("READ CHARACTER FROM STANDARD INPUT, WITH ECHO") wird in einer Schleife ohne Abbruchbedingung aufgerufen. Funktion 01h prüft aber selbst, ob der Anwender <key>Strg</key>+<key>c</key> für einen Abbruch gedrückt hat.
 ===== HT2B.COM ===== ===== HT2B.COM =====
 Schön und gut, mit dem Printer Setup-Code haben wir also eine Möglichkeit Binärdateien zu erzeugen, die jegliche 8-Bit-Werte enthalten können (0..255). Aber mal ehrlich, die Lust am Programmieren ist schnell dahin, wenn man Byte für Byte in der nötigen Syntax (\xxx) eintippen muss. Außerdem ist die Darstellung der bereits eingegebenen Bytes nicht gerade komfortabel.\\ Schön und gut, mit dem Printer Setup-Code haben wir also eine Möglichkeit Binärdateien zu erzeugen, die jegliche 8-Bit-Werte enthalten können (0..255). Aber mal ehrlich, die Lust am Programmieren ist schnell dahin, wenn man Byte für Byte in der nötigen Syntax (\xxx) eintippen muss. Außerdem ist die Darstellung der bereits eingegebenen Bytes nicht gerade komfortabel.\\
Zeile 166: Zeile 203:
 Unsere neue "Entwicklungsumgebung" besteht aus den Dateien HT2B.COM und HEX2COM.BAT. Nun können wir uns den schwierigen Umgang mit dem Printer Setup-Code für immer sparen und komfortabel jegliche Programme bis zu einer Größe von 32KB erzeugen (der Texteditor kann nur Dateien bis 64KB handhaben und man braucht mindestens 2 Zeichen pro Byte). Voraussetzung ist natürlich, man kennt sich mit Opcode-generierung für den 8086-Prozessor aus, oder man hat eine Quelle zum abtippen.\\ Unsere neue "Entwicklungsumgebung" besteht aus den Dateien HT2B.COM und HEX2COM.BAT. Nun können wir uns den schwierigen Umgang mit dem Printer Setup-Code für immer sparen und komfortabel jegliche Programme bis zu einer Größe von 32KB erzeugen (der Texteditor kann nur Dateien bis 64KB handhaben und man braucht mindestens 2 Zeichen pro Byte). Voraussetzung ist natürlich, man kennt sich mit Opcode-generierung für den 8086-Prozessor aus, oder man hat eine Quelle zum abtippen.\\
 Wer das Generieren von Opcode lernen will kann sich im Internet informieren, z.B. [[http://www.c-jump.com/CIS77/CPU/x86/lecture.html#X77_0330_intel_manual_opcode_bytes|hier]]\\ Wer das Generieren von Opcode lernen will kann sich im Internet informieren, z.B. [[http://www.c-jump.com/CIS77/CPU/x86/lecture.html#X77_0330_intel_manual_opcode_bytes|hier]]\\
- +\\
-===== OPCODES ===== +
- +
- +
-==== MESSAGE.COM ==== +
-Gibt Meldung aus.\\ +
-Dezimal:\\ +
-180 009 186 009 001 205 033 205 032 077 069 083 083 065 071 069 036\\ +
-Die ersten 9 Bytes sind Opcode, der Rest ist der Text der Meldung, in diesem Fall "MESSAGE$" (muß mit "$" (036) enden!)\\ +
-Dieses Programm kann mit dem Text-Editor bearbeitet werden, der Text (ab Byte 10) kann dann bis zu 226 Zeichen lang sein (ASCII 009 ist der Tabulator, in der Textverarbeitung 8 Zeichen breit, in der DOS-Befehlszeile 4). +
- +
-==== BLINDIN.COM ==== +
-Einfache Eingabe-Routine die Zeichen nicht übersetzt (anders als ECHO), zur Eingabe von ASCII-Werten mit der numerischen Tastatur (Alt_nnn). Durch Umleiten in eine Datei lassen sich so ASCII-Werte auch unter 32 eingeben.\\ +
- +
- Beispiel:\\ +
-BLINDIN>USERIN.TXT\\ +
- +
-Die Zeichen werden bereits während der Eingabe in die Datei USERIN.TXT geschrieben. Leider kann man die eingegebenen Zeichen nicht sehen, sie werden aber als reine ASCII-Werte gespeichert.\\ +
-Abgebrochen wird die Aufzeichnung mit <key>Ctrl</key>+<key>c</key>.\\ +
- +
-<note classic> +
-Programme, die mit Hilfe von BLINDIN eingegeben werden, werden immer 2 Byte größer als der Programmcode, da BLINDIN am Ende "^C" (ASCII) anhängt. +
-Für das geschriebene Programm ist das aber ohne Bedeutung. +
-</note> +
- +
-Programm-Code:\\ +
- +
-Dezimal:\\ +
-180 001 205 033 235 250\\ +
- +
-Hexadezimal:\\ +
-B4 01 CD 21 EB FA\\+
  
software/diy/andere/machinecodetext.txt · Zuletzt geändert: 12/09/2022 21:09 von bttr