CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » CPU-und Computer-Emulatoren » Z80 Mnemonik totalis. » Threadansicht

Autor Thread - Seiten: -1- [ 2 ]
000
29.07.2007, 14:56 Uhr
timetube

Avatar von timetube

Hi,

hat jemand von euch eine KOMPLETTE Liste der Z80 Befehle für mich?

Möglichst in Form einer Source, die mit einem Assembler übersetzt werden kann.
Inklusive aller geheim gehaltenen undokumentierten Codes

Es geht mir darum einen Emulator damit zu testen.

danke
tt
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
29.07.2007, 15:11 Uhr
proof80



Schau Dir mal die Z80.Info-Seite an. Da müsste was dabei sein.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
29.07.2007, 21:51 Uhr
proof80



Hallo tt,

aus der Complete Opcode List (including undocumented ones) müsste sich das wohl basteln lassen. Als spaltenverarbeitender Editor empfehle ich PSPad.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
29.07.2007, 22:13 Uhr
timetube

Avatar von timetube


Zitat:
proof80 postete
Hallo tt,

aus der Complete Opcode List (including undocumented ones) müsste sich das wohl basteln lassen. Als spaltenverarbeitender Editor empfehle ich PSPad.

Gruß, Wolfram

Och ich habe das schon mit Ultraedit erledigen können.

Wenn Du magst kanste das ja aufnehmen in Deine prächtige Sammlung. (Mail an mich für's komplette Listing)

Aus
;29-11-97 Sean Young (syoung@cs.vu.nl).
;
;Mnemonic T M M1 Opcode Notes
;-------------------------------------------------------------------------
NOP ;4 1 1 00
LD BC,nn ;10 3 1 01 n n
LD (BC),A ;7 2 1 02
INC BC ;6 1 1 03
INC B ;4 1 1 04
DEC B ;4 1 1 05
LD B,n ;7 2 1 06 n
RLCA ;4 1 1 07
EX AF,AFï ;4 1 1 08

wurde das ...

/*static*/ BYTE ram[0x10000] = {
0x00,0x01,0x11,0x22,0x02,0x03,0x04,0x05,0x06,0x33,0x07,0x08,0x09,0x0A,0x0B,0x0C,
0x0D,0x0E,0x33,0x0F,0x10,0x44,0x11,0x11,0x22,0x12,0x13,0x14,0x15,0x16,0x33,0x17,
...
...
0xE1,0xFD,0xE3,0xFD,0xE5,0xFD,0xE9,0xFD,0xF9,0xFE,0x33,0xFF
};



Aber was ist mit den Befehlen wie

SET 5,(IX+d) ; DDCB d EE
LD A,SET 5,(IX+d) ; DDCB d EF
LD B,SET 6,(IX+d) ; DDCB d F0
LD C,SET 6,(IX+d) ; DDCB d F1
LD D,SET 6,(IX+d) ; DDCB d F2
LD E,SET 6,(IX+d) ; DDCB d F3
u.s.w.

Können die uneingeschränkt von allen Z80zigern verarbeitet werden?

j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
30.07.2007, 15:59 Uhr
timetube

Avatar von timetube

Hi 80er,
bin gerade dabei die undokumentierten Z80 Befehle zu erfassen und stehe etwas auf’n Schlauch.

Es geht um solche undokumentierten Doppelbefehle wie z.B

ED70 IN F,(C)* / IN (C)*

Wie ist das zu verstehen?

IN F,( c ) und dann IN A,( c ), also zwei aufeinander folgende Portzugriffe oder doch mehr

IN F=A, ( C ) also ein Portzugriff des Resultat in beiden Registern landet.


Bei solchen Kloppern wie

FDCB d 37 LD A,SLL (IY+d)*

gehe ich mal davon aus, dass es zwei Zugriffe auf die Speicherzelle (IY+d) gibt, Lesen, Schreiben, Und nicht drei (Lesen, Schreiben, und noch einmal nach A Lesen) ODER?

tt
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
27.08.2007, 22:17 Uhr
Wusel_1



Hast du dein sogenanten "undokumentierten" Befehle schon mal mit einem Z80 getestet?
Ich denke - nein - dann würdest du dir die ganze Arbeit sparen. Als 1.Op.-Byte kannst du nur entweder CB/ED/DD oder FD verarbeiten. Wenn du der CPU
DD CB.... "einflösen" willst, dann geht nix mehr.
Meist gibt die CPU den Geist auf.
--
DL9UNF - DOK: Y43 - LOC: JO42VP
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
29.08.2007, 23:00 Uhr
proof80




Zitat:
Wusel_1 postete
Meist gibt die CPU den Geist auf.

Heisst das, hardwaremäßig hinüber oder wenigstens noch resetbar?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
30.08.2007, 00:11 Uhr
timetube

Avatar von timetube


Zitat:
proof80 postete

Zitat:
Wusel_1 postete
Meist gibt die CPU den Geist auf.

Heisst das, hardwaremäßig hinüber oder wenigstens noch resetbar?

Gruß, Wolfram

Na ja, wenn sie abrauchen würde währe das schon schlecht. Wie oft schon habe ich mich vertippt und die CPU ist ab, irgendwo in die Bytes Wenn die dann jedes Mal, wenn sie auf ungültige Codes wieder einschlägt, in den Hardwarehimmel kommt, dann bräuchte ich ne 40-polige Fassung mit Magazin und Repetiervorrichtung

Ich kann mir allerdings auch nicht vorstellen, dass all diese undokumentierten Opcodes frei erfunden sind. Irgendjemand wird das schon ausprobiert haben. Wahrscheinlich geht aber nicht alles bei jeder Charge.

tt.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
30.08.2007, 15:51 Uhr
Wusel_1



Die undokumentierten Opcodes habe wir schon vor 30 Jahren getestet - wir ware da auch auf den Dreh gekommen, dass da noch paar Codes fehlten. Und da wurde auch eine Liste erstellt, was so fehlte - und ich denke auch ander haben sich darüber Gedanken gemacht und so einfach eine Liste irgendwo veröffentlicht. Bei dem Versuch der undok. Opcodes zu testen sind damals schon vier von zehn CPU's in Rauch aufgegangen. Woran es lag kann nicht gesagt werden - ins Abseits sind alle gelaufen, da die CPU nicht wusste, was sie damit anfangen sollte.
--
DL9UNF - DOK: Y43 - LOC: JO42VP
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
30.08.2007, 17:58 Uhr
timetube

Avatar von timetube


Zitat:
Wusel_1 postete
Die undokumentierten Opcodes habe wir schon vor 30 Jahren getestet - wir ware da auch auf den Dreh gekommen, dass da noch paar Codes fehlten. Und da wurde auch eine Liste erstellt, was so fehlte - und ich denke auch ander haben sich darüber Gedanken gemacht und so einfach eine Liste irgendwo veröffentlicht. Bei dem Versuch der undok. Opcodes zu testen sind damals schon vier von zehn CPU's in Rauch aufgegangen. Woran es lag kann nicht gesagt werden - ins Abseits sind alle gelaufen, da die CPU nicht wusste, was sie damit anfangen sollte.

Also ich kann mir nicht wirklich vorstellen, dass eine CPU, auch nicht die Z80, sich intern selber zerstört, wenn Sie eine Byte frisst für das sie keine Aktion kennt.

Wenn Sie daraufhin aus dem Ruder läuft und die Peripherie so anspricht, dass die Bussysteme gegeneinander arbeiten, dann OK, dann gibt es Rauchzeichen.

Anders würde ein Z80 kein Jahr überleben. Wie oft kommt es vor dass eine fehlerhaftes Programm irgend welche Bytes ausführen lässt, weil der Programmcode überschrieben wurde oder ein berechneter Sprung ins Nirwana erfolgte.

j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
30.08.2007, 18:04 Uhr
proof80




Zitat:
Wusel_1 postete
... habe wir schon vor 30 Jahren getestet - wir ware da auch auf den Dreh gekommen ...

Wer seid "Ihr" denn eigentlich und wo habt Ihr das Zeug veröffentlicht?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
06.09.2007, 17:41 Uhr
Wusel_1



sorry, Antworten ging nicht eher. Eine "Veröffentlichung" als Handzettel vom SCCH o. Dessauer CC ist mir damals zugegangen. Wir - das waren damals 5 Leute, die sich ausführlich mit dem AC1 und den Z80 (U880) beschäftigt haben. Da sind so
manche Nachtstunden draufgegangen.
--
DL9UNF - DOK: Y43 - LOC: JO42VP
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
06.09.2007, 19:33 Uhr
proof80




Zitat:
Wusel_1 postete
Da sind so manche Nachtstunden draufgegangen.

Hallo Andreas,

das glaube ich gerne. Wie habt Ihr denn die "inoffiziellen" getestet? Ich hab mal gelesen, dass man bestimmte CPUs quasi statisch betreiben kann - also mit kurzen Pulsen in beliebigen Abständen (das stand, glaube ich, bei Rolf Dieter Klein). Dann ließe sich in Ruhe schauen, was sich so auf dem Bus tut. Mit einem Debugger kann man ja nicht alle Operationen nachvollziehen.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
07.09.2007, 08:58 Uhr
Wusel_1



Hallo Wolfram,
wir haben damals bei den Tests das ganze im Stepbetrieb laufen lassen - war ja
beim AC1 möglich und hatten am Daten- und Adressbus 7-Segmantanzeigen
angebracht mit dem 40511 als Treiber, der zeigt ja von 00 bis FF alles an. Da
kamen komische Sachen bei raus - aber meist dann auf dem Datenbus #FF, also
ging dann nichts mehr. Die paar CPU's die Flügelbekommen haben, habe das
scheinbar nicht vertragen - waren auch schön heiß.
Das Programm wurde selbst geschrieben, wo nach und nach die Opcodes durchgearbeitet werden sollten, aber dann haben wir das geändert, so das man den Opcode, den man verarbeiten wollte, eingeben konnte.
Gruß Wusel_1
--
DL9UNF - DOK: Y43 - LOC: JO42VP
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
01.02.2008, 00:23 Uhr
histor

Avatar von histor

Diese "illegalen" Z80-Opcodes kann man jedenfalls in "harmlose" und "rauchige" unterscheiden. Was auf jeden Fall problemlos geht, sind die analog den LD H bzw. LD L aufgebauten Befehle für das Hi- oder Lo-Byte der IX und IY Register. Stand mal ein Artikel von mir im PC International darüber - hab das Heft aber wegen Umzug nicht mehr.
Gruß - Horst Buchholz
--
Freundliche Grüße
Horst Buchholz
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
01.02.2008, 10:28 Uhr
histor

Avatar von histor

Wer sucht, der findet doch noch .. Heft 8/1989, S. 72

DD (für IX) oder FD(für IY) vorweg und dann die LD, ADD, INC, DEC und CP-Mnemonics für die Register H oder L. Diese Befehle hat der Z80 klaglos verarbeitet.
--
Freundliche Grüße
Horst Buchholz
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
016
01.02.2008, 11:51 Uhr
timetube

Avatar von timetube


Zitat:
histor postete
Wer sucht, der findet doch noch .. Heft 8/1989, S. 72

DD (für IX) oder FD(für IY) vorweg und dann die LD, ADD, INC, DEC und CP-Mnemonics für die Register H oder L. Diese Befehle hat der Z80 klaglos verarbeitet.

Ja, das ist ja ein alter Hut
Aber kennt ihr diese code sequenz der Z80 CPU.

LD PT,40 ; Stellt den Prozessortakte auf 40GHz um.
LD MC,680XX ; Schaltet den MicroCode in der Z80 auf Motorola's 680XX um
; XX muss von 00-30 liegen
; ab hier nun motorola Mnemonics


Geht auch für x86

LD PT,25 ; Stellt den Prozessortakte auf 40GHz um.
LD MP,4 ; Stellt das Core ein, hier ein INTEL Quard code
; Geht von 1 (default) sigle bis quard-core
LD MC,X86 ; Schaltet den MicroCode in der Z80 auf Intel X86 um
; XX muss von 2 - 6 liegen für 80286-80686
; ab hier nun Intel's Mnemonics.

Soll auch für ARM, 8051 und SHx Controller typen gehen!
Nicht aber für die 650X CPU's, sie Zilog hatt es nicht geschafft die Leistung ihrer
CPU so weit zu reduzieren.

mfg
j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
017
15.05.2008, 14:01 Uhr
Gikauf

Avatar von Gikauf

Hallo timetube, ich hab hier ein über 420 Seitiges Buch, das nur Z80 Assemblercodes enthält, und diese erklärt. Ganze zwei Seiten für jeden Mnemonic Code.
Wenn du willst leihe ich Dir das Buch, ich kann dir auch schon mal eine Seite, einscannen und zumailen.
Das Buch ist von ELCOMP und nennt sich "Z80 Assembler Handbuch" Art.Nr. 8029 ISBN 3921682-74-6.
1. Auflage 1980 Copyrigth by Ing. W. Hofacker aus München.
--
Alt werden ist schön, altern nicht.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
018
15.05.2008, 16:23 Uhr
timetube

Avatar von timetube


Zitat:
Gikauf postete
Hallo timetube, ich hab hier ein über 420 Seitiges Buch, das nur Z80 Assemblercodes enthält, und diese erklärt. Ganze zwei Seiten für jeden Mnemonic Code.
Wenn du willst leihe ich Dir das Buch, ich kann dir auch schon mal eine Seite, einscannen und zumailen.
Das Buch ist von ELCOMP und nennt sich "Z80 Assembler Handbuch" Art.Nr. 8029 ISBN 3921682-74-6.
1. Auflage 1980 Copyrigth by Ing. W. Hofacker aus München.

Hört sich gut an. Ich habe das von R. Zacks (oder so). Das ist auch super, hat aber kein undokumentierten Befehle im Angebot Was muss ich Dir den antun, damit Du es mir überlässt. Leihen ist so eine Sache, ich kann mich immer nur sehr schwer wieder von sowas trennen, vermeide also mir solche unangenehmen Pflichten aufzuerlegen Mit der ISB kann Google nichts anfangen. Ich vermute das Teil ist nicht mehr im Handel erhältlich nicht wahr?

mfg
j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
019
15.05.2008, 18:47 Uhr
Gikauf

Avatar von Gikauf

Offengestanden, für mich war es damals ein Fehlkauf. Ich wollte ein Buch um CP/M Assembler Programmieren zu lernen, aber hier sind nur Optocode.
Ich hab es nie gelernt, und jetzt will ich auch nicht mehr, also wenn du was zum Tauschen hast, vielleicht im Bereich C64.
Das Buch sieht noch fast aus wie Neu, und es sind keine Notizen darin.
--
Alt werden ist schön, altern nicht.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
020
15.05.2008, 22:11 Uhr
timetube

Avatar von timetube


Zitat:
Gikauf postete
Offengestanden, für mich war es damals ein Fehlkauf. Ich wollte ein Buch um CP/M Assembler Programmieren zu lernen, aber hier sind nur Optocode.
Ich hab es nie gelernt, und jetzt will ich auch nicht mehr, also wenn du was zum Tauschen hast, vielleicht im Bereich C64.
Das Buch sieht noch fast aus wie Neu, und es sind keine Notizen darin.

Hem C64, das ist nicht so meine Welt. Aber ich hatte hin und wieder mal C64 Beifang, ich sehe mal nach was das so ist, wir kommen da bestimmt zusammen.
Können wir ja auf Z-Fest tauschen.

Dann aber Dein CP/M Assembler. Das ist natürlich der Z80 Assembler. CP/M ist ja nur das OS und da muss man nur wissen wie man im Z80 Code die vom CP/M angebotenen Systemfunktionen benutzen kann. In diesem Sinne gibt es kein CP/M Assembler, sondern nur CP/M Calls, die man vom Z80-Assembler aus nutzen kann. Du musst also erst einmal den Z80 (8088) verdaut haben, um ihn im CP/M Environment programmieren zu können.

Mach das ruhig, ist ne zwar alte aber doch nette CPU. Kannst DU die, dann ist es zu den modernen CPUs nur noch ein mehr oder weniger kleiner Schritt.


tt.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
021
15.05.2008, 23:29 Uhr
HD64180CPM



Hallo Jürgen,

suche Bücher bei http://www.amazon.de/ das geht besser als über Google.

ISBN-10: 3921682746 erhältlich ab EUR 20,50

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
022
16.05.2008, 19:37 Uhr
Gikauf

Avatar von Gikauf

Den Unterschied zwischen Z80 und CP/M kenne ich.

Das Buch sieht anders aus wie meines, das könnte eine Andere Auflage sein, oder ein anderes Buch.
--
Alt werden ist schön, altern nicht.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
023
16.05.2008, 22:33 Uhr
HD64180CPM




Zitat:
Gikauf postete
Den Unterschied zwischen Z80 und CP/M kenne ich.

Das Buch sieht anders aus wie meines, das könnte eine Andere Auflage sein, oder ein anderes Buch.

Hallo Gikauf,

das grosse Bild ist nicht das richtige und das kleine Bild links ist auch nicht richtig.

Das kleine Bild rechts ist das richtige Bild.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
024
17.05.2008, 13:43 Uhr
Gikauf

Avatar von Gikauf

Ja, genau so sieht das Buch aus.
--
Alt werden ist schön, altern nicht.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1- [ 2 ]     [ CPU-und Computer-Emulatoren ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek