Diskussion:CP/M 2.2 Selbstbaurechner (Z80) mit AVRs für externe Peripherie

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Zitat:

Leider haben sich Übersetzungsfehler in diese Datei eingeschlichen, die erst behoben werden müssen. Im Prinzip kann man das Auftreten aller Zeichenketten >,M< durch die Zeichenkette >,(HL)< austauschen.

Das sind keine „Übersetzungsfehler“.

Im ursprünglichen i8080 gab es als Indirektzugriff auf den Speicher nur den über das Registerpaar HL. Im Adressierungsschema wird dieser Zugriff analog zum Zugriff auf eins der 7 Register (A, B, C, D, E, H, L) codiert und in der Intel-Mnemonic als „M“ bezeichnet. (Es ergeben sich dadurch 3 Bit für die Codierung der Register bzw. des Indirektzugriffs über HL.)

Zilog führte mit dem Z80 weitere Indirektzugriffe ein (BC, DE, IX+d, IY+d). Dadurch haben sie den Zugriff über (HL) explizit als solchen benannt.

Viele Assembler (wie der M80 von Microsoft) unterstützen beide Notationen, also sowohl „LD A, M“ (i8080-Mnemonic) als auch „LD A, (HL)“ (Z80-Mnemonic).

--Dl8dtl (Diskussion)

Notation "M" für indirekten Zugriff mittels Register HL

Danke für den Hinweis, Dl8dtl. Das habe ich noch nicht gewusst, aber ich habe mich ja auch nicht so intensiv mit dem Z80 und seiner Historie mit dem i8080 beschäftigt. Ich wusste gerade so genug, dass ich dieses Projekt verwirklichen konnte. Ich habe den Artikel an der entsprechenden Stelle soweit korrigiert.