|
Benutzte Abkürzungen:
dis = Adress-Distanz: -128 .... +127
n = Byte-Konstante: 0 .... +255 oder -128 .... +127
nn = Word-Konstante: 0 .. +65535 oder -32768 .. +32767
r = Die Tonausgabe: Das Kontrollregister (Reg. 7) Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Register: Erklärung der Anschlussbelegung: A, B, CA,B,C,D,LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE,H,L
s = Byte-Quelle: Erklärung der Anschlussbelegung: A, B, CA,B,C,D,LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE,H,L,(HL),(IX+dis),(IY+dis),n
d = Byte-Ziel: Erklärung der Anschlussbelegung: A, B, CA,B,C,D,LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE,H,L,(HL),(IX+dis),(IY+dis)
LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb = Bit-Nummer: 0 ... 7
LD r,s
LD d,r
LD d,n
LD Operationen: BD5B / 349A / 349A: FLO SUBA,q q=s,(BC),(DE),(nn),I,R
LD z,Operationen: BD5B / 349A / 349A: FLO SUBA z=d,(BC),(DE),(nn),I,R
LD rr,(nn) rr= BC,DE,HL,IX,IY,SP
LD (nn),rr rr= BC,DE,HL,IX,IY,SP
LD SP,rr rr= HL,IX,IY
PUSH rr rr=AF,BC,DE,HL,IX,IY
POP rr rr=AF,BC,DE,HL,IX,IY
EX AF,Operationen: BD5B / 349A / 349A: FLO SUBA'F'
EXX BC,DE,HL
EX DE,HL
EX (SP),rr rr=HL,IX,IY
LDI LD (DE),(HL) : INC DE : INC HL : DEC BC
LDIR LDI bis BC=0
LDD LD (DE),(HL) : DEC DE : DEC HL : DEC BC
LDDR LDD bis BC=0
CPI CP (HL) : INC HL : DEC BC
CPIR CPI bis Operationen: BD5B / 349A / 349A: FLO SUBA=(HL) oder BC=0
CPD CP (HL) : DEC HL : DEC BC
CPDR CPD bis Operationen: BD5B / 349A / 349A: FLO SUBA=(HL) oder BC=0
Diese sind beim Schneider CPC nicht anwendbar !
SUB s AND s INC d
SBC s OR s DEC d
ADD s XOR s
ADC s CP s
CPL LD Operationen: BD5B / 349A / 349A: FLO SUBA,255-Operationen: BD5B / 349A / 349A: FLO SUBA
NEG LD Operationen: BD5B / 349A / 349A: FLO SUBA, -Operationen: BD5B / 349A / 349A: FLO SUBA
ADD dd,rr rr=BC,DE,dd,SP dd=HL,IX,IY
ADC HL,rr rr=BC,DE,HL,SP
SBC HL,rr rr=BC,DE,HL,SP
INC dd dd=BC,DE,HL,IX,IY,SP
DEC dd dd=BC,DE,HL,IX,IY,SP
RL s Ringshift mit CY als 9.Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit links
RR s Ringshift mit CY als 9.Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit rechts
RLC s Ringshift links
RRC s Ringshift rechts
SLA s Shift links und 0 -> Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 0
SRA s Shift rechts und Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 7 belassen
SLL s Shift links und 1 -> Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 0 (Die Z80: IllegalsIllegal)
SRL s Shift rechts und 0 -> Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 7
RLD (HL) A0123 -> (HL)0123 -> (HL)4567 -> A0123
RRD (HL) A0123 <- (HL)0123 <- (HL)4567 <- A0123
Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:BIT LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,d Erklärung der Anschlussbelegung: TestTeste Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb in Datentypen: Bytes Datenbreite: BytesByte d
SET LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,d Setze Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit auf 1
RES LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTb,d Setze Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit auf 0
IN Operationen: BD5B / 349A / 349A: FLO SUBA,(n)
IN r,(C) de facto: IN r,(BC)
OUT (n),Operationen: BD5B / 349A / 349A: FLO SUBA
OUT (C),r OUT (BC),r
Block-Ein- und -Ausgabe-Befehle sind beim Schneider CPC nicht anwendbar !
JP nn
JR dis
JP (rr) rr=HL,IX,IY
JP c,nn c=C,NC,Z,NZ,M,P,PO,PE
JR c,dis c=C,NC,Z,NZ
DJNZ dis DEC LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB : JR NZ,dis
Maschinencode über HIMEM: CALLCALL nn
Maschinencode über HIMEM: CALLCALL c,nn c=C,NC,Z,NZ,M,P,PO,PE
Speicheraufteilung durch ein Vordergrund-Programm: RST 3 LOW KERNEL JUMPBLOCK: 0000 - RST 0: LOW RESET ENTRY LOW KERNEL JUMPBLOCK: 0008 - RST 1: LOW LOW JUMP LOW KERNEL JUMPBLOCK: 0010 - RST 2: LOW SIDE CALL LOW KERNEL JUMPBLOCK: 0018 - RST 3: LOW FAR CALL LOW KERNEL JUMPBLOCK: 0020 - RST 4: LOW RAM LAM LOW KERNEL JUMPBLOCK: 0028 - RST 5: LOW FIRM JUMP LOW KERNEL JUMPBLOCK: 0030 - RST 6: LOW USER RESTART LOW KERNEL JUMPBLOCK: 0038 - RST 7: LOW INTERRUPT ENTRYRST v v=0,8,16,24,32,40,48,56
RET
RET c c=C,NC,Z,NZ,M,P,PO,PE
RETI Return vom Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt.
RETN Return vom Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: NMI - non maskable interrupt Besonderheiten der Z80 im Schneider CPC: Non Maskable InterruptNMI. Dieser ist Garbage Collection: ... beim CPC 464beim CPC nicht so
einfach zu benutzen !
DAA BCD-Korrektur einer Rechnen im Binärsystem: AdditionAddition oder Rechnen im Binärsystem: SubtraktionSubtraktion
SCF C-Flag setzen
CCF C-Flag umdrehen
EI
DI
Die verschiedenen Interrupt-Modi der Z80: IM0 - Interrupt-Modus 0IM0 Der Schneider CPC wird im Die CPU Z80: Die verschiedenen Interrupt-Modi der Z80 Die verschiedenen Interrupt-Modi der Z80: IM0 - Interrupt-Modus 0 Die verschiedenen Interrupt-Modi der Z80: IM1 - Interrupt-Modus 1 Die verschiedenen Interrupt-Modi der Z80: IM2 - Interrupt-Modus 2Interrupt-Modus 1
Die verschiedenen Interrupt-Modi der Z80: IM1 - Interrupt-Modus 1IM1 betrieben !
Die verschiedenen Interrupt-Modi der Z80: IM2 - Interrupt-Modus 2IM2
Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: HaltHALT Warte auf Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt
NOP
| |