APPLICATIONSPROGRAMMATION ★ Komfortabler Z80-Monitor für den CPC 464 ★

Maschinensprache-Monitor MAC 464Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Der Schneider CPC 464 bietet dem Basic-Programmierer wirklich ausgezeichnete Möglichkeiten. Dennoch wächst mit der Zeit der Wunsch, den Computer in Maschinensprache zu programmieren und auch das Betriebssystem auf Maschinenebene genauer kennenzulernen. Der folgende Maschinensprache-Monitor „MAC 464“ bietet dazu alle wichtigen Möglichkeiten und zeichnet sich außerdem durch geschickte Nutzung der Windowtechnik aus. Zusätzlich kann ausgewählt werden, ob die sich überlappenden RAM- oder ROM-Bereiche angesprochen werden.

Unter Nutzung der 80 Zeichen pro Zeile und der WINDOW-Technik werden alle Befehle, die Ihnen zur Verfügung stehen, ständig angezeigt. So brauchen Sie nicht andauernd in der Anleitung nachzusehen, sondern haben die Befehle jederzeit im Auge. Sie haben insgesamt dreizehn verschiedene Befehle, die jeweils über einen einzigen Tastendruck eingegeben werden.

Zum Aufbau des Bildschirms: Der Screen ist in fünf Fenster aufgeteilt: Ganz links oben ein kleines Feld, das zur Eingabe der Kennbuchstaben für Befehle dient; rechts davon und darunter ein größeres Feld, das zur Eingabe von Daten dient. Rechts oben befindet sich ein weiteres Fenster, das den jeweils ausgefuhrten Befehl im Klartext ausgibt - bzw. „Invalid Command“ bei nicht belegten Funktionen. Links unten auf dem Bildschirm ist das größte Fenster, über das der Computer alle Daten und Antworten ausgibt.

Hier in alphabetischer Reihenfolge alle vorhandenen Befehle:

A = ASCII Text Input

Über dieses Unterprogramm kann der Speicher von der Tastatur aus mit Texten gefüllt werden.

Beispiel:

Startadresse = &6000

Welcher Text? Dies ist ein Probetext. (Enter)

C = Change Memory

Hier kann der Speicher byteweise abgeändert werden. Es können Binärzahlen, Hexzahlen oder Dezimalwerte verwendet werden. Außerdem kann der Speicher mit den Tasten „+“ und “ durchschritten werden, ohne den Inhalt einzelner Speicherzellen zu verändern.

Beispiel:

Startadresse = 32767 &7FFF = &00 -> 255

&8000 = &02 ->

&X11001001
&8001 = &3F -> +
&8002 = &34 -> &40
&8003 = &4C -> -
&8002 = &40 -> (Enter)

D = Disassemble

Ruft einem umfangreichen Z80-Disassembler auf, der den gesamten Befehlssatz dieses Prozessors kennt - auch die Vorsatzbytes &CB, &ED und die Befehle der Indexregister IX und IY. Abweichend vom Z80-Standard benennt

Schneider die Restart-Befehle mit RST0, RST1 usw. statt RST &00, RST &08 etc. Der Disassembler paßt sich beiden an und gibt aus: RST0 &00, RST1 &08, RST2 &10 usw. Als Besonderheit erkennt der Disassembler anhand des RST-Befehls, ob danach ein DW (Define Word) als Datum folgt. Dies gilt für RST1, RST2, RST3 und RST5. Durch die ungewöhnliche Programmierung wird auch eine für Basic sehr hohe Disassembler-Geschwindigkeit erreicht.

Beispiel:

Startadresse = &0000
Endadresse = 15

&0000 01 89 7F LD BC,&7F89
&0003 ED 49 OUT (C),C
&0005 C3 80 05 JP &0580
&0008 C3 82 B9 JP &B982
&000B C3 1C B9 JP &B97C
&000E C5 PUS BC
&000F C9 RET

F = Find Byte

Durchsucht den gesamten Speicher nach einem bestimmten Byte. Alle Fundstellen werden ausgegeben.

Beispiel:

Startadresse = &00
Endadresse = &0F
Suchwort = &B9

&000A = &B9
&000D = &B9

J = Jump to Machine Code

Ruft ein Maschinprogramm im Speicher mit CALL auf. Hier ist aber Vorsicht geboten, da ein falscher Aufruf den ganzen Computer zum Abstürzen bringen kann alle Programme sind dann natürlich gelöscht!

Beispiel:

Startadresse = &A000

Drücken Sie hier einfach Enter oder geben Sie als Adresse &0000 ein, so wird kein Sprung ausgeführt.

L= Load from Cassette

Lädt eine Binärdatei von der Cassette in den Speicher. Es lassen sich aber oft keine Programme über HIMEM laden, da das Betriebssystem dies verbietet.

Beispiel:

Dateiname = FILE1
Startadresse = &6000

Press PLAY then any key ...

M = Memory Dump

Gibt einen Speicherauszug auf dem Bildschirm aus.

Beispiel:

Startadresse = 3
Endadresse = 3

&0000 = &01
&0001 = &89
&0002 = &7F
&0003 = &ED

Außerdem wird der Inhalt einer Speicherstelle
auch als ASCII-Zeichen dargestellt, sofern er größer als 31 ist.

N = Number conversion

Nimmt eine Zahl im 2er-, 10er- oder 16er-System an und gibt sie in allen drei Formaten aus, Beispiel:

Zahlenwert = 127
DEC 127
HEX &007F
BIN %01111111

P = Print Registers

Gibt dem Inhalt aller Register der Z80-CPU aus - auch den alternativen Registersatz, die Indexregister, den Stackpointer, das Refresh-und das Interrupt-Register.

Q = Quit Monitor

Verläßt nach einer Sicherheitsabfrage den Monitor und springt nach Basic zurück.

R = RAM/ROM-Select

Da sich in den Bereichen &0000 bis &3FFF und &C000 bis &FFFF RAM und ROM überlappen, kann hier das RAM bzw. ROM eingeschaltet werden. Durch Drücken der R-Taste wechselt der Zustand in den entgegengesetzten Status, also aus RAM wird ROM-Status und umgekehrt. Auf dem Bildschirm wird dauernd der aktuelle Speicherstatus angezeigt.

Folgende Befehle erlauben den wahlweisen Zugriff auf RAM oder ROM: D (Disassemble), F (Find Byte), M (Memory Dump).

Somit kann auch das ROM disassembliert, gelistet und durchsucht werden.

S = Save to Cassette

Speichert ein Binärfile auf Cassette ab.

T = Transfer Memory

Verschiebt mit dem LDIR- und LDDR-Befehl ganze Speicherblökke im RAM. Hier müssen Sie entscheiden, ob mit dem unteren oder dem oberen Ende des Blocks begonnen werden soll, was wichtig ist bei sich überlappenden Bereichen.

Beispiel:

Von oben oder unten? 0

Quelladresse = &0000
Zieladresse = 24576
Blocklänge = &X11000101

Das Programm ist größtenteils in Basic geschrieben, lediglich ein ROM-Peek (Adresse &A000), LDIR (&A00F), LDDR (&A01D) und die Registerspeicherung (&A02B) erscheinen in Maschinensprache. Der Quellcode ist nicht sonderlich interessant. Wen er trotzdem interessiert: ein Disassembler ist eingebaut!

CPU

★ PUBLISHER: Computing Programming Using
★ YEAR: 1985 (26.4)
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Martin KOTULLA



★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Maschinensprache-Monitor  MAC  464    (Computing  Programming  Using)    GERMAN    LISTINGDATE: 2025-08-27
DL: 39
TYPE: PDF
SiZE: 5062Ko
NOTE: Supplied by archive.org ; 8 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » ROM Monitor (Amstrad Semanal)
» Applications » Monite (Amstrad Cent Pour Cent)
» Applications » Monithex (CPC Revue)
» Applications » Disc-Monitor (CPC Amstrad International)
» Applications » Arnold Monitor
» Applications » Mini-Monitor
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 408 millisecondes et consultée 121 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.