BEFEHLE ASM;-------------------------------------- ;Test und Demonstration der in EDAS ;vorhandenen U880-Befehlsliste und ;der Pseudobefehle ; ; (f}r Version 1.5/1.6) ; ;BEFEHLE.ASM ` ml 04.05.93 ;-------------------------------------- n EQU 11H ;8-Bit-Wert nn EQU 2222H ;16-Bit-Adresse off EQU 33H ;8-Bit-Offset ORG 200H ;------- ;Hauptbefehlsgruppe: NOP LD BC,nn LD (BC),A INC BC INC B DEC B LD B,n RLCA EX AF ADD HL,BC LD A,(BC) DEC BC INC C DEC C LD C,n RRCA DJNZ $+2 LD DE,nn LD (DE),A INC DE INC D DEC D LD D,n RLA JR #+2 ADD HL,DE LD A,(DE) DEC DE INC E DEC E LD E,n RRA JR NZ,$+2 LD HL,nn LD (nn),HL INC HL INC H DEC H LD H,n DAA JR Z,$+2 ADD HL,HL LD HL,(nn) DEC HL INC L DEC L LD L,n CPL JR NC,#+2 LD SP,nn LD (nn),A INC SP INC M DEC M LD M,n SCF JR C,$+2 ADD HL,SP LD A,(nn) DEC SP INC A DEC A LD A,n CCF LD B,B LD B,C LD B,D LD B,E LD B,H LD B,L LD B,M LD B,A LD C,B LD C,C LD C,D LD C,E LD C,H LD C,L LD C,M LD C,A LD D,B LD D,C LD D,D LD D,E LD D,H LD D,L LD D,M LD D,A LD E,B LD E,C LD E,D LD E,E LD E,H LD E,L LD E,M LD E,A LD H,B LD H,C LD H,D LD H,E LD H,H LD H,L LD H,M LD H,A LD L,B LD L,C LD L,D LD L,E LD L,H LD L,L LD L,M LD L,A LD M,B LD M,C LD M,D LD M,E LD M,H LD M,L HALT LD M,A LD A,B LD A,C LD A,D LD A,E LD A,H LD A,L LD A,M LD A,A ADD A,B ADD A,C ADD A,D ADD A,E ADD A,H ADD A,L ADD A,M ADD A,A ADC A,B ADC A,C ADC A,D ADC A,E ADC A,H ADC A,L ADC A,M ADC A,A SUB B SUB C SUB D SUB E SUB H SUB L SUB M SUB A SBC A,B SBC A,C SBC A,D SBC A,E SBC A,H SBC A,L SBC A,M SBC A,A AND B AND C AND D AND E AND H AND L AND M AND A XOR B XOR C XOR D XOR E XOR H XOR L XOR M XOR A OR B OR C OR D OR E OR H OR L OR M OR A CP B CP C CP D CP E CP H CP L CP M CP A RET NZ POP BC JP NZ,nn JP nn CALL NZ,nn PUSH BC ADD A,n RST 0 RET Z RET JP Z,nn CALL Z,nn CALL nn ADC A,n RST 8 RET NC POP DE JP NC,nn OUT (n),A CALL NC,nn PUSH DE SUB n RST 10H RET C EXX JP C,nn IN A,(n) CALL C,nn SBC A,n RST 18H RET PO POP HL JP PO,nn EX (SP),HL CALL PO,nn PUSH HL AND n RST 20H RET PE JP M JP PE,nn EX DE,HL CALL PE,nn XOR n RST 28H RET P POP AF JP P,nn DI CALL P,nn PUSH AF OR n RST 30H RET M LD SP,HL JP M,nn EI CALL M,nn CP n RST 38H ;------- ;Bit-Befehle mit Vorbyte CB: RLC B RLC C RLC D RLC E RLC H RLC L RLC M RLC A RRC B RRC C RRC D RRC E RRC H RRC L RRC M RRC A RL B RL C RL D RL E RL H RL L RL M RL A RR B RR C RR D RR E RR H RR L RR M RR A SLA B SLA C SLA D SLA E SLA H SLA L SLA M SLA A SRA B SRA C SRA D SRA E SRA H SRA L SRA M SRA A SLS B SLS C SLS D SLS E SLS H SLS L SLS M SLS A SRL B SRL C SRL D SRL E SRL H SRL L SRL M SRL A BIT 0,B BIT 0,C BIT 0,D BIT 0,E BIT 0,H BIT 0,L BIT 0,M BIT 0,A BIT 1,B BIT 1,C BIT 1,D BIT 1,E BIT 1,H BIT 1,L BIT 1,M BIT 1,A BIT 2,B BIT 2,C BIT 2,D BIT 2,E BIT 2,H BIT 2,L BIT 2,M BIT 2,A BIT 3,B BIT 3,C BIT 3,D BIT 3,E BIT 3,H BIT 3,L BIT 3,M BIT 3,A BIT 4,B BIT 4,C BIT 4,D BIT 4,E BIT 4,H BIT 4,L BIT 4,M BIT 4,A BIT 5,B BIT 5,C BIT 5,D BIT 5,E BIT 5,H BIT 5,L BIT 5,M BIT 5,A BIT 6,B BIT 6,C BIT 6,D BIT 6,E BIT 6,H BIT 6,L BIT 6,M BIT 6,A BIT 7,B BIT 7,C BIT 7,D BIT 7,E BIT 7,H BIT 7,L BIT 7,M BIT 7,A RES 0,B RES 0,C RES 0,D RES 0,E RES 0,H RES 0,L RES 0,M RES 0,A RES 1,B RES 1,C RES 1,D RES 1,E RES 1,H RES 1,L RES 1,M RES 1,A RES 2,B RES 2,C RES 2,D RES 2,E RES 2,H RES 2,L RES 2,M RES 2,A RES 3,B RES 3,C RES 3,D RES 3,E RES 3,H RES 3,L RES 3,M RES 3,A RES 4,B RES 4,C RES 4,D RES 4,E RES 4,H RES 4,L RES 4,M RES 4,A RES 5,B RES 5,C RES 5,D RES 5,E RES 5,H RES 5,L RES 5,M RES 5,A RES 6,B RES 6,C RES 6,D RES 6,E RES 6,H RES 6,L RES 6,M RES 6,A RES 7,B RES 7,C RES 7,D RES 7,E RES 7,H RES 7,L RES 7,M RES 7,A SET 0,B SET 0,C SET 0,D SET 0,E SET 0,H SET 0,L SET 0,M SET 0,A SET 1,B SET 1,C SET 1,D SET 1,E SET 1,H SET 1,L SET 1,M SET 1,A SET 2,B SET 2,C SET 2,D SET 2,E SET 2,H SET 2,L SET 2,M SET 2,A SET 3,B SET 3,C SET 3,D SET 3,E SET 3,H SET 3,L SET 3,M SET 3,A SET 4,B SET 4,C SET 4,D SET 4,E SET 4,H SET 4,L SET 4,M SET 4,A SET 5,B SET 5,C SET 5,D SET 5,E SET 5,H SET 5,L SET 5,M SET 5,A SET 6,B SET 6,C SET 6,D SET 6,E SET 6,H SET 6,L SET 6,M SET 6,A SET 7,B SET 7,C SET 7,D SET 7,E SET 7,H SET 7,L SET 7,M SET 7,A ;------- ;Befehle mit Vorbyte ED: IN B,(C) OUT (C),B SBC HL,BC LD (nn),BC NEG RETN IM 0 LD I,A IN C,(C) OUT (C),C ADC HL,BC LD BC,(nn) RETI LD R,A IN D,(C) OUT (C),D SBC HL,DE LD (nn),DE IM 1 LD A,I IN E,(C) OUT (C),E ADC HL,DE LD DE,(nn) IM 2 LD A,R IN H,(C) OUT (C),H SBC HL,HL RRD IN L,(C) OUT (C),L ADC HL,HL RLD INF OTCL SBC HL,SP LD (nn),SP IN A,(C) OUT (C),A ADC HL,SP LD SP,(nn) LDI CPI INI OUTI LDD CPD IND OUTD LDIR CPIR INIR OTIR LDDR CPDR INDR OTDR ;------- ;Indexbefehle mit Vorbyte DD bzw. FD: ADD IX,BC ADD IY,BC ADD IX,DE ADD IY,DE LD IX,nn LD IY,nn LD (nn),IX LD (nn),IY INC IX INC IY INC HX INC HY DEC HX DEC HY LD HX,n LD HY,n ADD IX,IX ADD IY,IY LD IX,(nn) LD IY,(nn) DEC IX DEC IY INC LX INC LY DEC LX DEC LY LD LX,n LD LY,n INC (IX+off) INC (IY+off) DEC (IX+off) DEC (IY+off) LD (IX+off),n LD (IY+off),n ADD IX,SP ADD IY,SP LD B,HX LD B,HY LD B,LX LD B,LY LD B,(IX+off) LD B,(IY+off) LD C,HX LD C,HY LD C,LX LD C,LY LD C,(IX+off) LD C,(IY+off) LD D,HX LD D,HY LD D,LX LD D,LY LD D,(IX+off) LD D,(IY+off) LD E,HX LD E,HY LD E,LX LD E,LY LD E,(IX+off) LD E,(IY+off) LD HX,B LD HY,B LD HX,C LD HY,C LD HX,D LD HY,D LD HX,E LD HY,E LD HX,HX LD HY,HY LD HX,LX LD HY,LY LD H,(IX+off) LD H,(IY+off) LD HX,A LD HY,A LD LX,B LD LY,B LD LX,C LD LY,C LD LX,D LD LY,D LD LX,E LD LY,E LD LX,HX LD LY,HY LD LX,LX LD LY,LY LD L,(IX+off) LD L,(IY+off) LD LX,A LD LY,A LD (IX+off),B LD (IY+off),B LD (IX+off),C LD (IY+off),C LD (IX+off),D LD (IY+off),D LD (IX+off),E LD (IY+off),E LD (IX+off),H LD (IX+off),L LD (IY+off),L LD (IX+off),A LD (IY+off),A LD A,HX LD A,HY LD A,LX LD A,LY LD A,(IX+off) LD A,(IY+off) ADD A,HX ADD A,HY ADD A,LX ADD A,LY ADD A,(IX+off) ADD A,(IY+off) ADC A,HX ADC A,HY ADC A,LX ADC A,LY ADC A,(IX+off) ADC A,(IY+off) SUB HX SUB HY SUB LX SUB LY SUB (IX+off) SUB (IY+off) SBC A,HX SBC A,HY SBC A,LX SBC A,LY SBC A,(IX+off) SBC A,(IY+off) AND HX AND HY AND LX AND LY AND (IX+off) AND (IY+off) XOR HX XOR HY XOR LX XOR LY XOR (IX+off) XOR (IY+off) OR HX OR HY OR LX OR LY OR (IX+off) OR (IY+off) CP HX CP HY CP LX CP LY CP (IX+off) CP (IY+off) POP IX POP IY EX (SP),IX EX (SP),IY PUSH IX PUSH IY JP (IX) JP (IY) LD SP,IX LD SP,IY ;------- ;Index-Bitbefehle: RLC (IX+off),B RLC (IY+off),B RLC (IX+off),C RLC (IY+off),C RLC (IX+off),D RLC (IY+off),D RLC (IX+off),E RLC (IY+off),E RLC (IX+off),H RLC (IY+off),H RLC (IX+off),L RLC (IY+off),L RLC (IX+off) RLC (IY+off) RLC (IX+off),A RLC (IY+off),A RRC (IX+off),B RRC (IY+off),B RRC (IX+off),C RRC (IY+off),C RRC (IX+off),D RRC (IY+off),D RRC (IX+off),E RRC (IY+off),E RRC (IX+off),H RRC (IY+off),H RRC (IX+off),L RRC (IY+off),L RRC (IX+off) RRC (IY+off) RRC (IX+off),A RRC (IY+off),A RL (IX+off),B RL (IY+off),B RL (IX+off),C RL (IY+off),C RL (IX+off),D RL (IY+off),D RL (IX+off),E RL (IY+off),E RL (IX+off),H RL (IY+off),H RL (IX+off),L RL (IY+off),L RL (IX+off) RL (IY+off) RL (IX+off),A RL (IY+off),A RR (IX+off),B RR (IY+off),B RR (IX+off),C RR (IY+off),C RR (IX+off),D RR (IY+off),D RR (IX+off),E RR (IY+off),E RR (IX+off),H RR (IY+off),H RR (IX+off),L RR (IY+off),L RR (IX+off) RR (IY+off) RR (IX+off),A RR (IY+off),A SLA (IX+off),B SLA (IY+off),B SLA (IX+off),C SLA (IY+off),C SLA (IX+off),D SLA (IY+off),D SLA (IX+off),E SLA (IY+off),E SLA (IX+off),H SLA (IY+off),H SLA (IX+off),L SLA (IY+off),L SLA (IX+off) SLA (IY+off) SLA (IX+off),A SLA (IY+off),A SRA (IX+off),B SRA (IY+off),B SRA (IX+off),C SRA (IY+off),C SRA (IX+off),D SRA (IY+off),D SRA (IX+off),E SRA (IY+off),E SRA (IX+off),H SRA (IY+off),H SRA (IX+off),L SRA (IY+off),L SRA (IX+off) SRA (IY+off) SRA (IX+off),A SRA (IY+off),A SLS (IX+off),B SLS (IY+off),B SLS (IX+off),C SLS (IY+off),C SLS (IX+off),D SLS (IY+off),D SLS (IX+off),E SLS (IY+off),E SLS (IX+off),H SLS (IY+off),H SLS (IX+off),L SLS (IY+off),L SLS (IX+off) SLS (IY+off) SLS (IX+off),A SLS (IY+off),A SRL (IX+off),B SRL (IY+off),B SRL (IX+off),C SRL (IY+off),C SRL (IX+off),D SRL (IY+off),D SRL (IX+off),E SRL (IY+off),E SRL (IX+off),H SRL (IY+off),H SRL (IX+off),L SRL (IY+off),L SRL (IX+off) SRL (IY+off) SRL (IX+off),A SRL (IY+off),A BIT 0,(IX+off) BIT 0,(IY+off) BIT 1,(IX+off) BIT 1,(IY+off) BIT 2,(IX+off) BIT 2,(IY+off) BIT 3,(IX+off) BIT 3,(IY+off) BIT 4,(IX+off) BIT 4,(IY+off) BIT 5,(IX+off) BIT 5,(IY+off) BIT 6,(IX+off) BIT 6,(IY+off) BIT 7,(IX+off) BIT 7,(IY+off) RES 0,(IX+off),B RES 0,(IY+off),B RES 0,(IX+off),C RES 0,(IY+off),C RES 0,(IX+off),D RES 0,(IY+off),D RES 0,(IX+off),E RES 0,(IY+off),E RES 0,(IX+off),H RES 0,(IY+off),H RES 0,(IX+off),L RES 0,(IY+off),L RES 0,(IX+off) RES 0,(IY+off) RES 0,(IX+off),A RES 0,(IY+off),A RES 1,(IX+off),B RES 1,(IY+off),B RES 1,(IX+off),C RES 1,(IY+off),C RES 1,(IX+off),D RES 1,(IY+off),D RES 1,(IX+off),E RES 1,(IY+off),E RES 1,(IX+off),H RES 1,(IY+off),H RES 1,(IX+off),L RES 1,(IY+off),L RES 1,(IX+off) RES 1,(IY+off) RES 1,(IX+off),A RES 1,(IY+off),A RES 2,(IX+off),B RES 2,(IY+off),B RES 2,(IX+off),C RES 2,(IY+off),C RES 2,(IX+off),D RES 2,(IY+off),D RES 2,(IX+off),E RES 2,(IY+off),E RES 2,(IX+off),H RES 2,(IY+off),H RES 2,(IX+off),L RES 2,(IY+off),L RES 2,(IX+off) RES 2,(IY+off) RES 2,(IX+off),A RES 2,(IY+off),A RES 3,(IX+off),B RES 3,(IY+off),B RES 3,(IX+off),C RES 3,(IY+off),C RES 3,(IX+off),D RES 3,(IY+off),D RES 3,(IX+off),E RES 3,(IY+off),E RES 3,(IX+off),H RES 3,(IY+off),H RES 3,(IX+off),L RES 3,(IY+off),L RES 3,(IX+off) RES 3,(IY+off) RES 3,(IX+off),A RES 3,(IY+off),A RES 4,(IX+off),B RES 4,(IY+off),B RES 4,(IX+off),C RES 4,(IY+off),C RES 4,(IX+off),D RES 4,(IY+off),D RES 4,(IX+off),E RES 4,(IY+off),E RES 4,(IX+off),H RES 4,(IY+off),H RES 4,(IX+off),L RES 4,(IY+off),L RES 4,(IX+off) RES 4,(IY+off) RES 4,(IX+off),A RES 4,(IY+off),A RES 5,(IX+off),B RES 5,(IY+off),B RES 5,(IX+off),C RES 5,(IY+off),C RES 5,(IX+off),D RES 5,(IY+off),D RES 5,(IX+off),E RES 5,(IY+off),E RES 5,(IX+off),H RES 5,(IY+off),H RES 5,(IX+off),L RES 5,(IY+off),L RES 5,(IX+off) RES 5,(IY+off) RES 5,(IX+off),A RES 5,(IY+off),A RES 6,(IX+off),B RES 6,(IY+off),B RES 6,(IX+off),C RES 6,(IY+off),C RES 6,(IX+off),D RES 6,(IY+off),D RES 6,(IX+off),E RES 6,(IY+off),E RES 6,(IX+off),H RES 6,(IY+off),H RES 6,(IX+off),L RES 6,(IY+off),L RES 6,(IX+off) RES 6,(IY+off) RES 6,(IX+off),A RES 6,(IY+off),A RES 7,(IX+off),B RES 7,(IY+off),B RES 7,(IX+off),C RES 7,(IY+off),C RES 7,(IX+off),D RES 7,(IY+off),D RES 7,(IX+off),E RES 7,(IY+off),E RES 7,(IX+off),H RES 7,(IY+off),H RES 7,(IX+off),L RES 7,(IY+off),L RES 7,(IX+off) RES 7,(IY+off) RES 7,(IX+off),A RES 7,(IY+off),A SET 0,(IX+off),B SET 0,(IY+off),B SET 0,(IX+off),C SET 0,(IY+off),C SET 0,(IX+off),D SET 0,(IY+off),D SET 0,(IX+off),E SET 0,(IY+off),E SET 0,(IX+off),H SET 0,(IY+off),H SET 0,(IX+off),L SET 0,(IY+off),L SET 0,(IX+off) SET 0,(IY+off) SET 0,(IX+off),A SET 0,(IY+off),A SET 1,(IX+off),B SET 1,(IY+off),B SET 1,(IX+off),C SET 1,(IY+off),C SET 1,(IX+off),D SET 1,(IY+off),D SET 1,(IX+off),E SET 1,(IY+off),E SET 1,(IX+off),H SET 1,(IY+off),H SET 1,(IX+off),L SET 1,(IY+off),L SET 1,(IX+off) SET 1,(IY+off) SET 1,(IX+off),A SET 1,(IY+off),A SET 2,(IX+off),B SET 2,(IY+off),B SET 2,(IX+off),C SET 2,(IY+off),C SET 2,(IX+off),D SET 2,(IY+off),D SET 2,(IX+off),E SET 2,(IY+off),E SET 2,(IX+off),H SET 2,(IY+off),H SET 2,(IX+off),L SET 2,(IY+off),L SET 2,(IX+off) SET 2,(IY+off) SET 2,(IX+off),A SET 2,(IY+off),A SET 3,(IX+off),B SET 3,(IY+off),B SET 3,(IX+off),C SET 3,(IY+off),C SET 3,(IX+off),D SET 3,(IY+off),D SET 3,(IX+off),E SET 3,(IY+off),E SET 3,(IX+off),H SET 3,(IY+off),H SET 3,(IX+off),L SET 3,(IY+off),L SET 3,(IX+off) SET 3,(IY+off) SET 3,(IX+off),A SET 3,(IY+off),A SET 4,(IX+off),B SET 4,(IY+off),B SET 4,(IX+off),C SET 4,(IY+off),C SET 4,(IX+off),D SET 4,(IY+off),D SET 4,(IX+off),E SET 4,(IY+off),E SET 4,(IX+off),H SET 4,(IY+off),H SET 4,(IX+off),L SET 4,(IY+off),L SET 4,(IX+off) SET 4,(IY+off) SET 4,(IX+off),A SET 4,(IY+off),A SET 5,(IX+off),B SET 5,(IY+off),B SET 5,(IX+off),C SET 5,(IY+off),C SET 5,(IX+off),D SET 5,(IY+off),D SET 5,(IX+off),E SET 5,(IY+off),E SET 5,(IX+off),H SET 5,(IY+off),H SET 5,(IX+off),L SET 5,(IY+off),L SET 5,(IX+off) SET 5,(IY+off) SET 5,(IX+off),A SET 5,(IY+off),A SET 6,(IX+off),B SET 6,(IY+off),B SET 6,(IX+off),C SET 6,(IY+off),C SET 6,(IX+off),D SET 6,(IY+off),D SET 6,(IX+off),E SET 6,(IY+off),E SET 6,(IX+off),H SET 6,(IY+off),H SET 6,(IX+off),L SET 6,(IY+off),L SET 6,(IX+off) SET 6,(IY+off) SET 6,(IX+off),A SET 6,(IY+off),A SET 7,(IX+off),B SET 7,(IY+off),B SET 7,(IX+off),C SET 7,(IY+off),C SET 7,(IX+off),D SET 7,(IY+off),D SET 7,(IX+off),E SET 7,(IY+off),E SET 7,(IX+off),H SET 7,(IY+off),H SET 7,(IX+off),L SET 7,(IY+off),L SET 7,(IX+off) SET 7,(IY+off) SET 7,(IX+off),A SET 7,(IY+off),A ;------- ;Zus{tzliche Befehle mit (HL) statt M: INC (HL) DEC (HL) LD (HL),n LD B,(HL) LD C,(HL) LD D,(HL) LD E,(HL) LD H,(HL) LD L,(HL) LD A,(HL) LD (HL),B LD (HL),C LD (HL),D LD (HL),E LD (HL),H LD (HL),L LD (HL),A ADD A,(HL) ADC A,(HL) SUB (HL) SBC A,(HL) AND (HL) XOR (HL) OR (HL) CP (HL) JP (HL) RLC (HL) RRC (HL) RL (HL) RR (HL) SLA (HL) SRA (HL) SLS (HL) SRL (HL) BIT 0,(HL) BIT 1,(HL) BIT 2,(HL) BIT 3,(HL) BIT 4,(HL) BIT 5,(HL) BIT 6,(HL) BIT 7,(HL) RES 0,(HL) RES 1,(HL) RES 2,(HL) RES 3,(HL) RES 4,(HL) RES 5,(HL) RES 6,(HL) RES 7,(HL) SET 0,(HL) SET 1,(HL) SET 2,(HL) SET 3,(HL) SET 4,(HL) SET 5,(HL) SET 6,(HL) SET 7,(HL) ;------- ;Pseudobefehle: DEFB 12 DEFB 12+off DEFB 'A' DEFB 'A'+80H DEFS 8,-1 DEFS 4 DEFW 7F7FH DEFW 30,230H DB 12 DB 'A' DB 'Text' DB '->',0DH,0AH DS 8 DS 4,' ' DW 0DDDDH DW 1111H,24,48,0 ;------- ;Rechenoperationen: DB 12+13H ;Addition DB 200H-23 ;Subtraktion DB 4*16 ;Multiplikation DB 1000/9 ;Division DB 1000%9 ;Rest END ERRORS: 0000H END+1 : 0E33H 3 OFF:"" NN: N: À@Àt(Àp6ÀnTop of Text: End of Text: Start of MC: ASM-Offset : õÛˆö$ÓˆñÉõÛˆæÛÓˆñÉÍMÀ~#ÍDÀô1 : 0E33H 3 OFF:"" NN: N: À@Àt(Àp6ÀnTop of Text: End of Text: Start of MC: ASM-Offset : õÛˆö$ÓˆñÉõÛˆæÛÓˆñÉÍMÀ~#ÍDÀô