; ; CROMEMCO Z80 Macro Assembler v 3.07 ; cr equ 0dh lf equ 0ah tab equ 9 beep equ 9 squote equ 27h dquote equ 22h bdos equ 5 cpm equ 0 filext equ 65h sysfcb equ 5ch org 100h jp start oneo3: db 3ah oneo4: db 4fh oneo5: db 0 oneo6: db 14h oneo7: db 0 oneo8: db 40h oneo9: db 7 db 'Copyright (c) 1978, ' db '1980 Cromemco, Inc.' start: LD SP,(6) LD IX,3F51H LD DE,banner CALL przstr CALL pcrlf LD HL,(6) LD DE,4D57H CALL delta16 JP C,nomem DEC HL LD (3FFCH),HL LD HL,4C57H LD (4C53H),HL LD (4C55H),HL LD SP,4A53H SUB A LD (43D2H),A LD DE,4A53H LD BC,200H CALL blkinit CALL psopint LD A,(oneo6) AND 3CH LD (IX+0),A LD A,(oneo7) AND 7EH LD (IX+1),A LD A,(oneo8) AND 7CH LD (IX+2),A LD A,(oneo5) LD (3F4FH),A LD A,(oneo3) LD (3F50H),A LD A,(oneo4) LD (3F4DH),A LD DE,365BH LD BC,16H CALL blkblnk CALL setupdt CALL setuptm LD HL,sysfcb LD DE,38E8H LD BC,z80ext CALL setfn LD DE,3D64H LD BC,prnext CALL setfn LD DE,3CC0H LD BC,relext CALL setfn LD DE,3E08H LD BC,$$$ext CALL setfn LD DE,3EACH LD BC,$$0ext CALL setfn INC HL LD DE,497BH LD BC,8 LDIR LD HL,81H CALL skwhsp onee6: CALL fdblnk CALL skwhsp AND A JR Z,onef6 PUSH HL CALL chkopt POP HL JR onee6 onef6: LD A,(filext) CALL ckdrvlt LD (38E8H),A CALL opnsrc LD A,(filext+1) CALL toupper CP 'Z' JR Z,noobj SET 0,(IX+0) CALL ckdrvlt LD (3CC0H),A LD A,8 LD (33A1H),A LD HL,3CBDH CALL opnufil noobj: LD A,(filext+2) CALL toupper CP 'Z' JR Z,noprn CP 'X' JR Z,pr2scrn CP 'Y' JR NZ,yopt SET 7,(IX+0) JR ndpropt noprn: RES 2,(IX+0) RES 3,(IX+1) RES 3,(IX+0) JR ndpropt pr2scrn: SET 6,(IX+0) JR ndpropt yopt: CALL ckdrvlt LD (3D64H),A LD HL,3D61H CALL opnufil SET 1,(IX+0) ndpropt: BIT 2,(IX+0) ;ck pr. opts. LD HL,3E05H CALL NZ,opnufil BIT 3,(IX+1) ;ck pr. opts. LD HL,3EA9H CALL NZ,opnufil jp prloop ckdrvlt: SUB ' ' RET Z SUB ' ' JR C,sdsker CP 9 RET C sdsker: LD DE,selder JP prquit selder: db 'Selected disk' db ' error',cr,lf,0 z80ext: db 'Z80' relext: db 'REL' prnext: db 'PRN' $$$ext: db '$$$' $$0ext: db '$$0' chkopt: LD DE,optab chopt1: PUSH HL LD A,(DE) AND A JR Z,invopt chknam: CALL cmpchr JR NZ,skpone LD A,(DE) INC DE INC HL RLA JR NC,chknam POP BC LD B,H LD C,L LD A,(DE) LD L,A INC DE LD A,(DE) LD H,A JP (HL) skpone: LD A,(DE) INC DE RLA JR NC,skpone INC DE INC DE POP HL JR chopt1 invopt: LD DE,invopm JP prquit invopm: db 'Invalid option',cr,lf,0 optab: db 'RANG' db 'E'+128 dw rngcod db 'PARIT' db 'Y'+128 dw prtycd db 'XRE' db 'F'+128 dw xrfcod db 'NOXRE' db 'F'+128 dw noxrfcd db 'SYM' db 'B'+128 dw symbcd db 'PAGE' db '='+128 dw pagecd db 'TOP' db '='+128 dw topcod db 'WIDTH' db '='+128 dw wdthcd db 'TRUNC' db '='+128 dw trncod db 'MACRO' db '='+128 dw macod db 'NOCON' db 'D'+128 dw nocond db 'NOGE' db 'N'+128 dw nogen db 'NOTEX' db 'T'+128 dw notxt db 'CON' db 'D'+128 dw condcd db 'GE' db 'N'+128 dw gencod db 'TEX' db 'T'+128 dw txtcod db 'LISTOF' db 'F'+128 dw lstoff db 'LISTO' db 'N'+128 dw lston db 'OPCOD' db 'E'+128 dw opcode db 'DEBU' db 'G'+128 dw dbug db 'HEX' db '='+128 dw hxeqcd db 'HE' db 'X'+128 dw hexcod db 'DATE' db '='+128 dw datcod db 'TIME' db '='+128 dw timcod db 0 rngcod: SET 4,(IX+0) RET prtycd: SET 5,(IX+0) RET xrfcod: SET 2,(IX+0) RET noxrfcd: RES 2,(IX+0) RET symbcd: SET 3,(IX+0) RET pagecd: LD D,lf CALL spagopt LD (3F50H),A CP 0FFH JP Z,invopt RET topcod: LD D,0 CALL spagopt LD (3F4FH),A RET trncod: SET 6,(IX+2) JR wdthl wdthcd: RES 6,(IX+2) wdthl: LD D,squote CALL spagopt LD (3F4DH),A RET macod: LD HL,0 LD (4796H),HL LD H,B LD L,C JP 1D7FH nocond: SET 2,(IX+1) RES 5,(IX+1) RET nogen: SET 1,(IX+1) RES 6,(IX+1) RET notxt: SET 3,(IX+2) RES 2,(IX+2) RET lstoff: SET 5,(IX+2) RES 4,(IX+2) RET lston: SET 4,(IX+2) RES 5,(IX+2) RET dbug: SET 4,(IX+1) RET opcode: SET 3,(IX+1) RET condcd: SET 5,(IX+1) RES 2,(IX+1) RET gencod: SET 6,(IX+1) RES 1,(Ix+1) RET txtcod: SET 2,(IX+2) RES 3,(IX+2) RET hexcod: LD DE,0 JR sethex hxeqcd: LD H,B LD L,C CALL fdblnk CALL 2753H JP C,invopt sethex: LD (3FD7H),DE SET 0,(IX+2) LD HL,hexext LD DE,3CC9H LD BC,3 LDIR SUB A LD (3FDBH),A RET hexext: db 'HEX' setupdt: LD C,8DH ;get CDOS vers. CALL bdos LD A,B ;(B) = version # (BCD) CP 1 RET C LD C,90H ;get date CALL bdos LD D,A OR B OR C RET Z ;date unavailable LD A,D sdatl: CALL date LD DE,365BH LDIR RET datcod: CALL cv2dec PUSH AF CALL cv2dec PUSH AF CALL cv2dec LD C,A POP AF POP HL LD B,H JR sdatl setuptm: LD C,8DH ;get CDOS vers. CALL bdos LD A,B CP 1 RET C LD C,92H ;get time CALL bdos LD D,A OR B OR C RET Z ;not available LD A,D stiml: CALL fmtim LD DE,3669H LD BC,8 LDIR RET timcod: CALL cv2dec PUSH AF CALL cv2dec PUSH AF CALL cv2dec POP BC POP HL LD C,H JR stiml cv2dec: LD H,B LD L,C INC HL INC HL CALL asc2bin JP C,invopt LD A,E RET date: PUSH BC PUSH AF LD A,B CP cr JR C,dt1 LD B,0 SUB A dt1: ADD A,A ADD A,B LD HL,tbomon CALL hlplsa ;index to proper month LD DE,dtlin LD BC,3 LDIR ;copy month POP AF CALL donina LD (dtlin+4),HL ;date POP HL LD A,L CALL donina LD (dtlin+10),HL ;year LD HL,dtlin LD BC,12 RET dtlin: db 'MON XX, 19XX' tbomon: db '---' db 'Jan' db 'Feb' db 'Mar' db 'Apr' db 'May' db 'Jun' db 'Jul' db 'Aug' db 'Sep' db 'Oct' db 'Nov' db 'Dec' fmtim: PUSH AF PUSH BC LD A,C CALL donina LD (timstr),HL POP DE LD A,D CALL donina LD (timstr+3),HL POP AF CALL donina LD (timstr+6),HL LD HL,timstr RET timstr: db 'XX:' db 'XX:' db 'XX' donina: LD L,A LD H,0 LD A,'0' CALL cvtdecn LD HL,(486DH) RET spagopt: PUSH DE LD H,B LD L,C CALL fdblnk CALL asc2bin JR C,spginv LD A,D AND A JR NZ,spginv LD A,E POP DE CP D RET NC spginv: JP invopt fdblnk: LD A,(HL) CP ' ' RET Z AND A RET Z INC HL JR fdblnk prloop: LD A,1 LD (3F6CH),A CALL initit LD DE,4602H LD BC,9AH SUB A CALL blkinit CALL 6D8H CALL 2E46H CALL 2BE1H LD HL,3F6CH INC (HL) CALL opnsrc CALL initit CALL 3134H CALL 313CH CALL 3183H CALL 3140H CALL 6D8H CALL pcrlf CALL 7B6H LD A,(3F7DH) AND A CALL Z,31C1H CALL 402H CALL 2D85H CALL 2BF6H BIT 3,(IX+0) CALL NZ,0A63H BIT 2,(IX+0) LD DE,xrfhed LD HL,3E05H CALL NZ,2E92H RES 2,(IX+0) BIT 3,(IX+1) LD DE,opched LD HL,3EA9H CALL NZ,2E92H LD B,0CH LD HL,(4989H) BIT 0,L CALL NZ,prbreg LD A,(3F51H) AND 'B' CP 2 CALL Z,3701H LD DE,eoamsg prquit: CALL przstr JP cpm eoamsg: db cr,lf,'End of assembly' db cr,lf,0 xrfhed: db 'Symbol',tab,' Value' db ' Defn References',cr opched: db 'Opcode',tab,' Defn' db ' References',cr initit: LD HL,0 LD (3FFAH),HL LD (4796H),HL LD (4989H),HL SUB A LD (44D4H),A LD (44D5H),A LD (3F56H),A LD (3F84H),A LD (3F7DH),A LD (3F7FH),A LD (3FF8H),A LD (3F83H),A LD (3F55H),A LD (IX+3),8 LD (3F85H),A LD (4732H),A LD DE,469CH LD BC,32H CALL blkinit LD A,0FFH LD (46A5H),A LD (3F57H),A LD DE,46CEH LD HL,starst+1 LD BC,4 LDIR LD HL,sysfcb+1 LD BC,8 intlp: LD A,(HL) CP ' ' JR Z,iit1 LDI JP PE,intlp iit1: LD HL,starst LD BC,6 LDIR LD A,1 LD (3F7AH),A LD A,1 LD HL,0 BIT 0,(IX+2) JR Z,iit2 SUB A LD HL,(3FD7H) iit2: LD (3F6DH),A LD (46A8H),HL RET starst: db ' *** ',cr CALL 3478H JP Z,7B6H SUB A LD (3F81H),A LD (3F6EH),A LD (3F84H),A LD A,' ' LD (3F7EH),A CALL 85AH CALL 1F79H JR NZ,6D8H CALL 7E5H JR Z,6D8H LD A,(3F64H) CP ' ' JR Z,755H CALL 1991H JR Z,6D8H BIT 0,(IX+1) JR Z,711H CALL 1E7EH JR Z,701H LD DE,3F64H LD HL,3EA9H LD B,7FH BIT 3,(IX+1) CALL NZ,3707H CALL 7AEH JR NZ,764H BIT 7,(HL) CALL NZ,77BH BIT 6,(HL) CALL Z,786H BIT 5,(HL) CALL Z,794H JR Z,6D8H LD A,(HL) LD (3F80H),A AND 0FH INC HL EX DE,HL ADD A,A LD HL,0BF6H CALL hlplsa LD B,H LD C,L LD HL,(3F58H) CALL gtbcind LD A,(3F7DH) AND A RET NZ JP 6D8H CALL 786H LD HL,(3F58H) CALL 2B20H CALL 28EBH JP 6D8H CALL 786H LD HL,0 LD (3F86H),HL LD (3F87H),HL LD A,07H CALL 26DAH CALL 2864H JP 6D8H LD A,(3F5CH) CP ' ' RET Z LD A,13H JP 26DAH PUSH HL LD A,(3F6DH) ADD A,2 LD HL,(46A8H) CALL 8B0H POP HL RET LD A,(3F56H) CP 1 RET NZ LD A,14H CALL 26DAH CALL 28EBH SUB A RET gtdeind: LD B,D ;load BC with DE LD C,E gtbcind: PUSH HL ;place (BC) on TOS LD A,(BC) ; and RET to that addr. LD L,A INC BC LD A,(BC) LD H,A EX (SP),HL RET LD DE,3F64H LD A,'O' JP 96BH LD B,0DH JP 352AH CALL ckbits RET NZ LD A,(3F4FH) AND A JR NZ,7CBH LD A,0FFH LD (3F57H),A RET LD A,(3F57H) CP (IX-1) RET NC CALL 7B6H JR 7CBH LD A,cr LD BC,64H CP (HL) LDI RET Z JP PE,7DCH LD (DE),A RET LD A,(4798H) CP '*' RET NZ LD HL,4799H LD DE,486AH CALL 2820H PUSH HL LD HL,807H CALL 278EH LD B,H LD C,L POP HL RET NZ CALL gtbcind CALL 28EBH SUB A RET db 7,9 db 'INCLUDE' dw 825h db 'MACLIB ' dw 842h db 'RELLIB ' dw 84bh db 0 LD A,(3F55H) CP 4 JR Z,83DH INC A PUSH HL CALL 350FH POP DE CALL 3501H LD A,cr JR Z,83FH INC (IX+4) RET LD A,6 JP 26DAH LD A,(3F6CH) CP 1 JP Z,1D7FH RET LD DE,3F5CH CALL 2820H CALL 2B20H LD A,3 EX DE,HL JP 329FH LD DE,3F5CH LD BC,8 CALL blkblnk LD HL,4798H CALL skwhsp CALL 899H CP ':' LD HL,4798H CALL Z,skwhsp LD DE,3F5CH LD BC,8 CALL 8A0H JR Z,887H LDI JP PE,87AH CALL 899H CP ':' JR NZ,88CH INC HL CALL skwhsp LD DE,3F64H CALL 2820H LD (3F58H),HL RET CALL 8A0H RET Z INC HL JR 899H LD A,(HL) CP ' ' RET Z CP tab RET Z CP ':' RET Z CP ';' RET Z CP cr RET LD (486AH),HL LD (486CH),A LD DE,3F5CH LD A,(DE) AND 7FH CP ' ' RET Z SUB A CALL 0A11H RET NC CALL 90BH LD D,A AND 60H CP 60H CALL Z,901H BIT 7,D JR NZ,8E7H LD A,(486CH) AND 1FH JR Z,8E7H SUB D AND 1FH JR NZ,8E4H LD HL,(486AH) SBC HL,BC CALL NZ,906H LD B,7EH LD A,(486CH) AND 1FH JR NZ,8F2H LD B,7FH BIT 2,(IX+0) LD DE,(3F5AH) LD HL,3E05H CALL NZ,3707H RET LD A,2 JP 26DAH LD A,8 JP 26DAH LD A,'S' CALL 96BH JR Z,91FH LD A,'S' CALL 9C2H LD BC,(486AH) LD A,(486CH) RET LD C,(HL) INC HL LD B,(HL) INC HL LD A,(486CH) LD D,A AND 1FH JR Z,965H LD E,(HL) LD A,(3F6CH) CP 2 JR Z,950H LD A,E AND 1FH JR Z,950H LD A,D AND E BIT 5,A JR NZ,950H BIT 7,A JR NZ,950H LD A,E CP '!' LD A,'@' JR Z,953H LD A,D CP '!' JR Z,960H LD E,60H LD A,E AND 0E0H OR D LD DE,(486AH) DEC HL LD (HL),D DEC HL LD (HL),E INC HL INC HL LD (HL),A RET LD A,E OR 40H LD (HL),A RET LD A,D AND 40H OR (HL) JR 95EH PUSH BC CALL psops LD C,(HL) INC HL LD B,(HL) LD A,B OR C JR Z,97FH LD H,B LD L,C CALL 9A0H JR NZ,96FH POP BC RET DEC HL INC A POP BC RET psops: PUSH BC PUSH DE LD B,8 poplp: LD C,A LD A,(DE) CP ' ' JR Z,psop1 INC DE psop1: CALL toupper XOR c RLCA DJNZ poplp LD HL,4A53H LD C,A LD B,0 ADD HL,BC ADD HL,BC POP DE POP BC RET PUSH DE PUSH HL INC HL INC HL LD C,(HL) INC HL LD (3F5AH),HL LD B,8 CALL cmpchr JR NZ,9BFH INC DE INC HL CP ' ' JR NZ,9BBH LD A,C CP 'O' JR Z,9BDH DJNZ 9ABH SUB A EX (SP),HL POP HL POP DE RET PUSH DE LD BC,(4C55H) LD (HL),C INC HL LD (HL),B LD HL,12H ADD HL,BC LD DE,(3FFCH) CALL delta16 JR NC,nomem POP DE PUSH DE LD H,B LD L,C LD (HL),0 INC HL LD (HL),0 INC HL LD (HL),A INC HL LD (3F5AH),HL LD BC,8 EX DE,HL LDIR LD BC,3 LD HL,486AH LDIR EX DE,HL LD (4C55H),HL DEC HL POP DE RET nomem: LD DE,nomemsg jp prquit nomemsg: db 'Out of memory',cr,lf,0 PUSH BC PUSH HL PUSH DE EX AF,AF' LD H,D LD L,E LD A,(DE) CALL 25BFH JR C,0A4AH LD B,7 INC DE LD A,(DE) CALL 25BFH JR NC,0A2FH CALL 2819H JR NC,0A2FH CP ' ' JR NZ,0A4AH DJNZ 0A1FH CALL 250FH JR Z,0A4AH CALL 24F8H JR Z,0A4AH LD DE,0A54H LD B,8 CALL 2528H JR Z,0A4AH SCF POP DE POP HL POP BC RET EX AF,AF' CALL Z,26C9H CALL NZ,26D1H AND A JR 0A46H db 2,2 db '$ ' db 'I ' db 'R ' db 'SP' db 'IX' db 'IY' db 0 LD HL,0AE1H CALL 12F6H LD DE,(4C53H) LD HL,(4C55H) INC DE INC DE INC HL INC HL LD (HL),0FFH LD BC,0EH CALL 0AF4H AND A SBC HL,BC LD B,9 LD C,5 CALL 0B0DH LD A,(3F4DH) ADD A,3 LD H,0 LD L,A LD DE,12H CALL div16b LD C,L LD HL,(4C53H) INC HL INC HL LD B,C LD A,(HL) CP 0FFH JP Z,07B6H CP 'S' JR NZ,0ADBH PUSH HL LD D,8 INC HL PUSH BC CALL 2806H INC HL INC HL LD A,(HL) CP 0FFH JR Z,0AC4H DEC HL DEC HL CALL 27F9H LD A,(HL) AND 3FH LD (3F6EH),A CALL 2B03H JR 0ACCH LD HL,0AEEH LD D,6 CALL 2806H POP BC POP HL DJNZ 0AD6H CALL 7B6H LD B,C JR 0ADBH PUSH BC CALL 26F8H POP BC LD DE,0EH ADD HL,DE JR 0A9BH db 'Symbol Table',cr db ' Macro' PUSH DE POP IY LD A,(IY+0) CP 0FFH RET Z CP 'M' JR NZ,0B09H LD (IY+0),'S' LD (IY+0BH),0FFH ADD IY,BC JR 0AF7H LD (3F78H),BC LD A,B ADD A,C LD C,A LD B,0 LD (3F72H),HL LD (3F70H),DE CALL delta16 RET Z RET C ADD HL,BC LD (3F76H),HL LD H,D LD L,E ADD HL,BC CALL 0B96H JR C,0B28H LD (3F74H),HL LD HL,(3F76H) AND A SBC HL,BC CALL 0B96H JR Z,0B3EH JR NC,0B34H LD (3F76H),HL PUSH DE LD DE,(3F74H) CALL delta16 JR C,0B52H CALL 0BBBH EX DE,HL POP DE JR 0B28H POP DE CALL 0BBBH AND A SBC HL,DE PUSH HL LD DE,(3F76H) LD HL,(3F72H) AND A SBC HL,DE POP DE AND A SBC HL, DE JR NC,0B7DH LD HL,(3F70H) PUSH HL LD HL,(3F76H) AND A SBC HL,BC PUSH HL ADD HL,BC ADD HL,BC EX DE,HL LD HL,(3F72H) JR 0B8FH LD HL,(3F76H) ADD HL,BC PUSH HL LD HL,(3F72H) PUSH HL LD DE,(3F70H) LD HL,(3F76H) SBC HL,BC CALL 0B16H POP HL POP DE JR 0B16H PUSH HL PUSH DE PUSH BC EX DE,HL LD BC,(3F78H) INC B INC C DEC B JR Z,0BACH CALL cmpchr JR NZ,0BB7H INC DE INC HL JR 0BA0H DEC C JR Z,0BB7H LD A,(DE) CP (HL) JR NZ,0BB7H INC DE INC HL JR 0BACH POP BC POP DE POP HL RET PUSH BC PUSH DE PUSH HL LD A,(DE) LDI DEC HL LD (HL),A INC HL JP PE,0BBEH POP HL POP DE POP BC RET psopint: LD DE,psoptb psi1: CALL gethed RET NZ LD A,'O' CALL psops PUSH DE DEC DE DEC DE DEC DE LDI LDD LD (HL),E INC HL LD (HL),D POP DE JR psi1 gethed: LD A,(DE) INC DE CP 0FFH JR NZ,gethed LD A,(DE) INC DE CP 0FFH JR NZ,gethed LD A,(DE) INC DE CP 'O' RET dw gtdeind dw 1421h dw 1428h dw 1433h dw 144eh dw 1479h dw 149dh dw 14e9h dw 14ffh psoptb: dw 0ffffh db 4fh db 'EQU' db 20h,70h dw 10ach dw 0ffffh db 4fh db 'DEFL' db 20h,70h dw 10a8h dw 0ffffh db 4fh db 'DL' db 20h,70h dw 10a8h dw 0ffffh db 4fh db 'DEFV' db 20h,60h dw 10a0h dw 0ffffh db 4fh db 'DV' db 20h,60h dw 10a0h dw 0ffffh db 4fh db 'MACRO' db 20h,60h dw 1b7bh dw 0ffffh db 4fh db 'OMACRO' db 20h,60h dw 1b6eh dw 0ffffh db 4fh db 'EJECT' db 20h,0a0h dw 7bbh dw 0ffffh db 4fh db 'FORM' db 20h,0a0h dw 7bbh dw 0ffffh db 4fh db 'TITLE' db 20h,0a0h dw 12f1h dw 0ffffh db 4fh db 'TITLE2' db 20h,0a0h dw 12f6h dw 0ffffh db 4fh db 'SUBTTL' db 20h,0a0h dw 12f6h dw 0ffffh db 4fh db 'LIST' db 20h,0a0h dw 137bh dw 0ffffh db 4fh db 'NAME' db 20h,0a0h dw 11bbh dw 0ffffh db 4fh db 'EXT' db 20h,0a0h dw 11e1h dw 0ffffh db 4fh db 'EXTRN' db 20h,0a0h dw 11e1h dw 0ffffh db 4fh db 'ENTRY' db 20h,0a0h dw 11d9h dw 0ffffh db 4fh db 'GLOBAL' db 20h,0a0h dw 11ddh dw 0ffffh db 4fh db 'ABS' db 20h,80h dw 1298h dw 0ffffh db 4fh db 'REL' db 20h,80h dw 12adh dw 0ffffh db 4fh db 'DATA' db 20h,80h dw 12bbh dw 0ffffh db 4fh db 'COM' db 20h,80h dw 1213h dw 0ffffh db 4fh db 'ORG' db 20h,90h dw 127eh dw 0ffffh db 4fh db 'MEND' db 20h,0a0h dw 1d52h dw 0ffffh db 4fh db 'ENDM' db 20h,0a0h dw 1d52h dw 0ffffh db 4fh db 'MEXIT' db 20h,0a0h dw 1d73h dw 0ffffh db 4fh db 'EXITM' db 20h,0a0h dw 1d73h dw 0ffffh db 4fh db 'REM' db 20h,0a0h dw 12ffh dw 0ffffh db 4fh db 'CONMSG' db 20h,0a0h dw 1302h dw 0ffffh db 4fh db 'MNOTE' db 20h,0a0h dw 131bh dw 0ffffh db 4fh db 'IF' db 20h,0b0h dw 1f09h dw 0ffffh db 4fh db 'ELSE' db 20h,0a0h dw 1f45h dw 0ffffh db 4fh db 'ENDIF' db 20h,0a0h dw 1f5dh dw 0ffffh db 4fh db 'STRUCT' db 20h,90h dw 12c9h dw 0ffffh db 4fh db 'REPT' db 20h,30h dw 1830h dw 0ffffh db 4fh db 'IRP' db 20h,20h dw 1882h dw 0ffffh db 4fh db 'IRPC' db 20h,20h dw 1886h dw 0ffffh db 4fh db 'END' db 20h,20h dw 1356h dw 0ffffh db 4fh db 'EXX' db 20h,1 db 0d9h dw 0ffffh db 4fh db 'DAA' db 20h,1 db 27h dw 0ffffh db 4fh db 'CPL' db 20h,1 db 2fh dw 0ffffH db 4fh db 'CCF' db 20h,1 db 3fh dw 0ffffh db 4fh db 'SCF' db 20h,1 db 37h dw 0ffffh db 4fh db 'DI' db 20h,1 db 0f3h dw 0ffffh db 4fh db 'EI' db 20h,1 db 0fbh dw 0ffffh db 4fh db 'NOP' db 20h,1 db 0 dw 0ffffh db 4fh db 'RLA' db 20h,1 db 17h dw 0ffffh db 4fh db 'RRA' db 20h,1 db 1fh dw 0ffffh db 4fh db 'HALT' db 20h,1 db 76h dw 0ffffh db 4fh db 'RLCA' db 20h,1 db 7 dw 0ffffh db 4fh db 'RRCA' db 20h,1 db 0fh dw 0ffffh db 4fh db 'LDI' db 20h,2 db 0a0h dw 0ffffh db 4fh db 'LDD' db 20h,2 db 0a8h dw 0ffffh db 4fh db 'CPI' db 20h,2 db 0a1h dw 0ffffh db 4fh db 'CPD' db 20h,2 db 0a9h dw 0ffffh db 4fh db 'NEG' db 20h,2 db 44h dw 0ffffh db 4fh db 'IM0' db 20h,2 db 46h dw 0ffffh db 4fH db 'IM1' db 20h,2 db 56h dw 0ffffh db 4fh db 'IM2' db 20h,2 db 5eh dw 0ffffh db 4fh db 'RLD' db 20h,2 db 6fh dw 0ffffh db 4fh db 'RRD' db 20h,2 db 67h dw 0ffffh db 4fh db 'INI' db 20h,2 db 0a2h dw 0ffffh db 4fh db 'IND' db 20h,2 db 0aah dw 0ffffh db 4fh db 'LDIR' db 20h,2 db 0b0h dw 0ffffh db 4fh db 'LDDR' db 20h,2 db 0b8h dw 0ffffh db 4fh db 'CPIR' db 20h,2 db 0b1h dw 0ffffh db 4fh db 'CPDR' db 20h,2 db 0b9h dw 0ffffh db 4fh db 'RETI' db 20h,2 db 4dh dw 0ffffh db 4fh db 'RETN' db 20h,2 db 45h dw 0ffffh db 4fh db 'INIR' db 20h,2 db 0b2h dw 0ffffh db 4fh db 'INDR' db 20h,2 db 0bah dw 0ffffh db 4fh db 'OUTI' db 20h,2 db 0a3h dw 0ffffh db 4fh db 'OUTD' db 20h,2 db 0abh dw 0ffffh db 4fh db 'OTIR' db 20h,2 db 0b3h dw 0ffffh db 4fh db 'OTDR' db 20h,2 db 0bbh dw 0ffffh db 4fh db 'LD' db 20h,0 dw 16c3h dw 0ffffh db 4fh db 'EX' db 20h,0 dw 1539h dw 0ffffh db 4fh db 'JR' db 20h,0 dw 15a7h dw 0ffffh db 4fh db 'DB' db 20h,0 dw 10f5h dw 0ffffh db 4fh db 'DM' db 20h,0 dw 10fah dw 0ffffh db 4fh db 'DW' db 20h,0 dw 1103h dw 0ffffh db 4fh db 'JP' db 20h,0 dw 15c4h dw 0ffffh db 4fh db 'IN' db 20h,0 dw 1631h dw 0ffffh db 4fh db 'DS' db 20h,30h dw 10dch dw 0ffffh db 4fh db 'IM' db 20h,0 dw 1589h dw 0ffffh db 4fh db 'DJNZ' db 20h,0 dw 159eh dw 0ffffh db 4fh db 'RET' db 20h,0 dw 1655h dw 0ffffh db 4fh db 'RST' db 20h,0 dw 1663h dw 0ffffh db 4fh db 'JSYS' db 20h,0 dw 1674h dw 0ffffh db 4fh db 'ADD' db 20h,0 dw 14b5h dw 0ffffh db 4fh db 'CALL' db 20h,0 dw 167fh dw 0ffffh db 4fh db 'OUT' db 20h,0 dw 1698h dw 0ffffh db 4fh db 'DEFB' db 20h,0 dw 10f5h dw 0ffffh db 4fh db 'DEFM' db 20h,0 dw 10fah dw 0ffffh db 4fh db 'DEFW' db 20h,0 dw 1103h dw 0FFFFH db 4fh db 'DEFS' db 20h,30h dw 10dch dw 0FFFFH db 4fh db 'PUSH' db 20h,3 db 0c5h db 0e5h dw 0ffffh db 4fh db 'POP' db 20h,3 db 0c1h db 0e1h dw 0ffffh db 4fh db 'INC' db 20h,4 db 3 db 23h db 4 db 34h dw 0ffffh db 4fh db 'DEC' db 20h,4 db 0bh db 2bh db 5 db 35h dw 0ffffh db 4fh db 'RLC' db 20h,5 db 0 dw 0ffffh db 4fh db 'RL' db 20h,5 db 10h dw 0ffffh db 4fh db 'RRC' db 20h,5 db 8 dw 0ffffh db 4fh db 'RR' db 20h,5 db 18h dw 0ffffh db 4fh db 'SLA' db 20h,5 db 20h dw 0ffffh db 4fh db 'SRA' db 20h,5 db 28h dw 0ffffh db 4fh db 'SRL' db 20h,5 db 38h dw 0ffffh db 4fh db 'BIT' db 20h,6 db 40h dw 0ffffh db 4fh db 'SET' db 20h,6 db 0c0h dw 0ffffh db 4fh db 'RES' db 20h,6 db 80h dw 0ffffh db 4fh db 'ADC' db 20h,7 db 8 db 4ah dw 0ffffh db 4fh db 'SBC' db 20h,7 db 18h db 42h dw 0ffffh db 4fh db 'SUB' db 20h,8 db 10H dw 0ffffh db 4fh db 'AND' db 20h,8 db 20h dw 0ffffh db 4fh db 'XOR' db 20h,8 db 28h dw 0ffffh db 4fh db 'OR' db 20h,8 db 30h dw 0ffffh db 4fh db 'CP' db 20h,8 db 38h dw 0ffffh db 0 LD A,(3F5CH) OR 80H LD (3F5CH),A LD A,80H JR 10ADH SUB A PUSH AF LD A,(3F5CH) AND 7FH CP 20H CALL Z,26CDH CALL 2042H CALL 2B20H LD A,D AND 0BFH BIT 5,A CALL NZ,10D3H LD D,A POP AF ADD A,D PUSH BC LD H,B LD L,C CALL 8B0H POP BC JP 28F9H CALL 23F8H LD BC,0 LD A,2 RET CALL 2042H LD A,D CP 2 CALL NZ,23F8H CALL 2B20H PUSH BC CALL 28FFH POP BC LD A,1 LD (3F7AH),A JP 2B2CH CALL 1135H JR 116AH CALL 1135H LD A,(DE) OR 80H LD (DE),A JR 116AH CALL 2042H LD (3F86H),BC CALL 25E8H PUSH AF CALL NZ,2B20H PUSH HL LD B,2 CALL 2B69H POP HL POP AF RET NZ CALL 2042H LD (3F86H),BC CALL 25E8H PUSH AF CALL NZ,2B20H PUSH HL LD B,2 CALL 28C8H LD B,2 CALL 2B6EH JR 1117H LD DE,3F86H LD BC,50H LD A,(HL) CP squote JR NZ,115CH PUSH HL INC HL LD A,C PUSH AF CALL 2668H POP AF SUB C JR Z,115BH DEC A JR Z,1158H POP AF CALL 25E8H JR Z,113BH DEC DE JP 2B20H DEC DE INC C DEC B POP HL PUSH DE PUSH BC LD A,B CALL 201CH POP BC POP DE LD (DE),A INC DE INC B DEC C JR 114FH PUSH BC LD A,B CP 5 JR C,1192H PUSH BC LD B,4 CALL 2881H POP BC CALL 11A9H JR NZ,119AH LD HL,3F8AH LD A,B SUB 4 LD B,A JR Z,119AH CP 5 JR C,1197H PUSH BC LD B,4 CALL 28CBH POP BC JR 117FH CALL 2881H JR 119AH CALL 28CBH POP BC PUSH BC LD HL,3F86H CALL 32DCH POP BC LD C,B LD B,0 JP 2B2CH BIT 2,(IX+2) JR NZ,11B9H BIT 3,(IX+2) RET NZ BIT 3,(IX+3) RET SUB A RET CALL 33A2H RET NZ CALL 284FH JR C,11D4H LD DE,497BH CALL 2820H SUB A CALL 0A11H CALL 2B20H JP 28EBH CALL 26D1H JR 11CEH LD A,'@' JR 11E3H LD A,'!' JR 11E3H LD A,dquote CALL 33A2H RET NZ PUSH AF LD A,(3F6CH) CP 2 JR Z,120EH LD DE,3F5CH CALL 2820H SUB A CALL 0A11H JR NC,1205H POP AF PUSH AF PUSH HL LD HL,0 CALL 8B0H POP HL CALL 25E8H JR Z,11E8H POP AF JP 28EBH CALL 243FH JR 1205H CALL 33A2H RET NZ LD DE,3F5CH CALL 2820H CALL 2B20H LD A,(DE) CP ' ' JR Z,122CH SUB A CALL 0A11H JP NC,28EBH LD A,(46A4H) LD B,A LD C,0 LD HL,4624H AND A JR Z,124BH PUSH BC LD DE,3F5CH LD B,8 CALL 27ACH JR Z,1263H LD DE,8 ADD HL,DE POP BC INC C DJNZ 1238H LD A,C CP 0FH JR Z,1276H INC A LD (46A4H),A EX DE,HL LD HL,3F5CH LD BC,8 LDIR LD A,(46A4H) DEC A LD C,A PUSH BC POP HL PUSH HL LD H,0 ADD HL,HL LD DE,46B0H ADD HL,DE LD E,(HL) INC HL LD D,(HL) EX DE,HL POP BC LD A,C ADD A,3 JR 129FH LD A,11H CALL 26DAH JP 28EBH CALL 2042H CALL 2B20H PUSH DE PUSH BC CALL 28F9H POP HL POP AF SUB 2 LD (3F6DH),A LD A,1 LD (3F7AH),A JP 2B30H CALL 2B20H XOR A LD HL,(46AAH) LD (46A8H),HL LD (3F6DH),A LD A,1 LD (3F7AH),A JP 28EBH CALL 33A2H RET NZ CALL 2B20H LD A,1 LD HL,(46ACH) JR 129FH CALL 33A2H RET NZ CALL 2B20H LD A,2 LD HL,(46AEH) JR 129FH LD A,1 LD (3F56H),A CALL 2042H LD A,D CP 2 CALL NZ,2031H CALL 2B20H LD HL,(46A8H) LD (46A6H),HL LD A,(3F6DH) LD (3F6FH),A LD (46A8H),BC SUB A LD (3F6DH),A JP 28F9H LD DE,46CEH JR 12F9H LD DE,4732H CALL 7D7H JP 7BBH JP 351CH LD A,cr LD BC,64H PUSH HL CPIR LD (HL),lf INC HL LD (HL),0 LD A,(3F6CH) CP 2 POP DE CALL Z,przstr JP 28EBH LD A,cr LD BC,64H PUSH HL CPIR DEC HL LD (HL),0 LD A,1 LD (3F83H),A LD A,16H LD (3F81H),A LD HL,1344H CALL 2B16H POP HL CALL 351CH LD HL,1350H CALL 2B16H CALL 2D57H RET db '*** mnote -' db 0a0h,' ***',cr db cr+128 LD A,1 LD (3F7DH),A LD BC,0 LD D,2 LD A,(HL) CP ';' JR Z,136FH CP cr JR Z,136FH CALL 2042H CALL 2B20H PUSH BC PUSH DE CALL 28FFH POP BC POP DE DEC B DEC B JP 31C6H LD A,(IX+3) PUSH AF LD DE,486AH CALL 2820H PUSH HL LD HL,13B6H CALL 278EH JR NZ,13B0H LD A,(HL) INC HL LD H,(HL) LD L,A CALL 13B5H POP HL CALL 25E8H JR Z,137FH CALL 2B20H POP AF LD B,(IX+3) OR B LD (IX+3),A CALL ckbits LD (IX+3),B JP Z,28EBH RET CALL 26D1H JR 1395H JP (HL) db 6,8 db 'ON ' dw 13f9h db 'OFF ' dw 13feh db 'GEN ' dw 1403h db 'NOGEN ' dw 1408h db 'COND ' dw 140dh db 'NOCOND' dw 1412h db 'TEXT ' dw 1417h db 'NOTEXT' dw 141ch db 0 RES 0,(IX+3) RET SET 0,(IX+3) RET RES 2,(IX+3) RET SET 2,(IX+3) RET RES 1,(IX+3) RET SET 1,(IX+3) RET RES 3,(IX+3) RET SET 3,(IX+3) RET LD A,(DE) LD (3F86H),A JP 285CH LD A,(DE) LD (IX+35H),0EDH LD (3F87H),A JP 2860H PUSH DE CALL 24D5H JR Z,1444H CALL 24F8H CALL NZ,26D1H EX (SP),HL ADD A,(HL) POP HL JR 1422H LD (3F86H),A SUB A EX (SP),HL INC HL ADD A,(HL) POP HL JR 142DH PUSH DE CALL 24D5H JR Z,1444H CALL 24FDH JR Z,143FH CALL 2517H JR Z,1471H CALL 24E4H CALL NZ,26D1H EX (SP),HL INC HL INC HL INC HL SUB A ADD A,(HL) POP HL LD (3F87H),A JP 2864H RLCA RLCA RLCA EX (SP),HL INC HL INC HL JR 1440H PUSH DE CALL 2517H JR Z,1495H CALL 24E4H CALL NZ,26D1H SUB A EX (SP),HL LD (IX+36H),0CBH ADD A,6 ADD A,(HL) POP HL LD (3F89H),A JP 2868H EX (SP),HL ADD A,(HL) LD (IX+35H),0CBH JR 144BH PUSH DE CALL 1FC6H PUSH AF CALL 2514H JR Z,14B0H CALL 24E4H CALL NZ,26D1H POP AF JR 1486H LD D,A POP AF ADD A,D JR 1495H CALL 2520H JR NZ,14C8H CALL 25DEH CALL 24FDH CALL NZ,26D1H ADD A,9 JP 1422H CALL 24D5H LD DE,26D8H JR NZ,14FFH PUSH AF CALL 25DEH POP AF CP 0ddh JR Z,14DEH CALL 2507H JR 14E1H CALL 2502H CALL NZ,26D1H ADD A,9 JP 142DH PUSH DE CALL 2520H JR NZ,1500H CALL 25DEH LD (IX+35H),0EDH CALL 24FDH CALL NZ,26D1H JP 1448H PUSH DE CALL 1529H CALL 2517H JR Z,151BH CALL 24E4H JR Z,1523H LD A,0C6H EX (SP),HL ADD A,(HL) LD (3F86H),A POP HL CALL 2021H JP 142DH ADD A,80H EX (SP),HL ADD A,(HL) POP HL JP 1422H EX (SP),HL LD A,86H JP 1469H LD A,(HL) CALL toupper CP 'A' RET NZ LD D,H LD E,L INC HL CALL 25E8H RET Z EX DE,HL RET LD DE,155BH CALL 2528H JP Z,1422H INC DE CALL 2528H JR Z,153FH INC DE CALL 2528H CALL NZ,26D1H CP 0E3H JR Z,153FH LD (3F86H),A LD A,0E3H JP 142DH db 5,6 db 'DE,HL' db 0ebh,0 db 6,7 db 'AF,AF',squote db 8,0 db 7,8 db '(SP),HL' db 0e3h db '(SP),IX' db 0ddh db '(SP),IY' db 0fdh,0 CALL 2021H CP 3 CALL NC,2031H AND A JR Z,1599H RLA RLA RLA ADD A,8 ADD A,'F' JP 1429H CALL 25E8H LD (IX+35H),10H JR 15B6H LD (IX+35H),18H CALL 2635H JR NZ,15B6H LD (3F86H),A CALL 25DEH CALL 1FFDH JP 142DH ; unref'ed code CALL 25F5H CALL Z,26D1H JR 15B6H CALL 25F5H JR Z,15D9H CALL 251BH JR Z,15EAH CALL 24DFH JR Z,15EFH LD (IX+35H),0C3H JR 15E1H ADD A,0C2H LD (3F86H),A CALL 25DEH CALL 2042H CALL 15F4H JP 2B58H LD A,0E9H JP 1422H LD A,0E9H JP 142DH BIT 4,(IX+0) RET Z LD A,(3F86H) CP 0E0H RET NC LD A,(3F6DH) ADD A,2 CP (IX+1DH) RET NZ PUSH HL LD HL,(46A8H) INC HL INC HL LD A,C SUB L LD L,A LD A,B SBC A,H JR Z,161FH INC A JR NZ,162FH LD A,L CP 80H JR C,162FH JR 1624H LD A,L CP 80H JR NC,162FH LD (IX+2DH),'R' LD HL,(46A0H) INC HL LD (46A0H),HL POP HL RET CALL 250FH CALL NZ,26D1H PUSH AF CALL 25DEH CALL 2525H JR NZ,1645H POP AF ADD A,8 JR 16BDH POP AF CP 7 CALL NZ,26D1H LD (IX+35H),0DBH CALL 2021H JP 142DH CALL 25F5H JR Z,165EH LD A,0C9H JR 1660H ADD A,0C0H JP 1422H CALL 2021H LD C,A AND 0C7H CALL NZ,2031H LD A,C AND 38H ADD A,0C7H JP 1422H LD A,0CFH LD (3F86H),A CALL 2021H JP 142DH CALL 25F5H JR Z,168EH LD (IX+35H),0CDH CALL 2042H JP 2B58H ADD A,0C4H LD (3F86H),A CALL 25DEH JR 1688H CALL 2525H JR Z,16B5H LD (IX+35H),0D3H CALL 2021H EX AF,AF' CALL 25DEH CALL toupper CP 'A' CALL NZ,26D1H INC HL EX AF,AF' JP 142DH CALL 250CH CALL NZ,26D1H ADD A,'(' RLCA RLCA RLCA JP 1429H LD DE,1703H CALL 2528H JP Z,1429H LD DE,1716H CALL 2528H JP Z,1422H LD DE,1735H CALL 2528H JR Z,174AH CALL 250FH JR Z,1757H CALL 251BH JP Z,1798H CALL 24E4H JP Z,17A4H CALL 2520H JP Z,17BAH CALL 24FDH JP Z,17C9H CALL 24D5H JP Z,17E1H JP 17ECH db 3,4 db 'A,I' db 57h db 'A,R' db 5fh db 'I,A' db 47h db 'R,A' db 4fh db 0 db 6,7 db 'A,(BC)' db 0ah db 'A,(DE)' db 1ah db '(BC),A' db 2 db '(DE),A' db 12h db 0 db 5,6 db 'SP,HL' db 0f9h db 'SP,IX' db 0ddh db 'SP,IY' db 0fdh db 0 LD (3F86H),A CP 0F9H JP Z,1422H LD A,0F9H JP 142DH RLCA RLCA RLCA PUSH AF CALL 2514H JR Z,1777H CALL 24E4H JR Z,177EH POP BC LD A,B CP '8' JR Z,1788H LD A,B ADD A,6 LD (3F86H),A CALL 2021H JP 142DH POP BC ADD A,B ADD A,40H JP 1422H POP BC LD A,46H ADD A,B LD (3F87H),A JP 2864H LD A,(HL) CP '(' JR NZ,176BH LD A,':' LD (3F86H),A CALL 2042H JP 2B58H RLCA RLCA RLCA PUSH AF CALL 250CH JR Z,1777H POP BC JR 176BH CALL 250CH JR Z,17B6H LD (IX+36H),36H CALL 2021H LD (3F89H),A JP 2868H ADD A,'p' JR 1782H CALL 25DEH CP '(' LD B,' ' JR NZ,17C5H LD B,')' INC B LD A,B JR 178FH LD B,A CALL 25DEH CP '(' JR NZ,17C5H LD (IX+35H),0EDH LD A,4BH ADD A,B LD (3F87H),A CALL 2042H JP 2B60H CALL 25DEH LD A,'*' JR Z,17D8H LD A,'!' JR 17D8H LD A,(HL) CP '(' CALL NZ,26D1H CALL 2042H PUSH BC CALL 25DEH CALL toupper CP 'A' JR Z,181DH CALL 24D5H JR Z,1826H CALL 2520H JR Z,182AH CALL 24FDH CALL NZ,26D1H ADD A,'C' LD (IX+35H),0EDH LD (IX+36H),A POP BC JP 2B60H LD (IX+35H),32H INC HL POP BC JP 2B58H LD A,dquote JR 1816H LD (IX+35H),dquote JR 1822H LD A,(3F7FH) CP 8 JR Z,1871H CALL 2042H LD A,D CP 2 CALL NZ,23F8H CALL 2B20H PUSH BC CALL 28FFH POP BC LD A,B OR C JP Z,1CF8H PUSH BC LD HL,(3FFCH) PUSH HL SUB A LD (3FFEH),A LD BC,0 CALL 1BDCH POP HL DEC HL DEC HL DEC HL LD A,1 CALL 19C5H POP BC LD (IY-8),C LD (IY-7),B LD HL,3F7FH INC (HL) RET LD A,6 CALL 26DAH CALL 2858H JP 1CF8H ; the following ONE line is not ref'ed POP AF CALL 26D1H JR 1876H LD B,2 JR 18B0H EX DE,HL CALL 1ACFH JR NZ,187DH CALL 1ACFH JR Z,187DH LD A,C AND A JR Z,187DH LD B,C LD D,C LD C,0 CALL 1CB5H JR NZ,18A2H CP squote JR NZ,187DH INC HL DJNZ 1899H JR NZ,187DH LD A,D CP 2 JR Z,18F5H LD B,3 JR 18B0H LD A,(3F7FH) CP 8 JR Z,1871H LD DE,(3F58H) LD A,(DE) CP '#' JR NZ,187DH PUSH BC CALL 1ACFH JR NZ,18F4H POP AF PUSH AF CP 3 JR NZ,18CDH INC DE PUSH DE LD B,0 ADD HL,BC PUSH HL CALL 2858H POP HL LD (HL),cr CALL 1C3DH POP HL LD (3F58H),HL LD HL,(3FFCH) DEC HL DEC HL DEC HL POP AF CALL 19C5H LD BC,0 CALL 1BDCH LD HL,3F7FH INC (HL) RET POP BC CALL 2858H JP 1CF8H ; this rather large chunk of code appears unref'ed LD A,(3FF8H) AND A RET NZ PUSH DE LD E,(IY-8) LD D,(IY-7) LD A,(IY-9) ADD A,A LD HL,1912H CALL hlplsa JP (HL) JR 191AH JR 191EH JR 193BH JR 1942H POP DE SUB A INC A RET DEC DE LD A,E OR D JR Z,195AH POP HL LD (IY-8),E LD (IY-7),D CALL 1A03H LD L,(IY-6) LD H,(IY-5) LD (IY-4),L LD (IY-3),H SUB A RET CALL 1ACFH JR NZ,195AH JR 1923H LD A,(DE) INC DE CP squote JR NZ,1949H INC DE LD A,(DE) AND A JR Z,195AH CP squote JR NZ,1923H INC DE LD A,(DE) DEC DE CP squote JR Z,1923H JR 195AH LD E,(IY-6) LD D,(IY-5) INC DE INC DE INC DE POP HL PUSH DE LD DE,(3FFCH) CALL delta16 POP DE JR Z,198AH JR C,198AH LD C,(HL) DEC HL LD B,(HL) INC HL PUSH BC POP IY LD (IY+0BH),E LD (IY+0CH),D LDD LDD LD A,(HL) LDD INC A JR NZ,1982H JR 1964H LD (3FFCH),DE SUB A INC A RET LD DE,3F64H CALL 1CC3H RET NZ PUSH HL CALL 786H CALL 1A11H POP HL LD A,(3F7FH) CP 8 JR Z,19BDH BIT 7,(HL) LD A,12H CALL NZ,26DAH DEC HL LD A,0 CALL 19C5H CALL 2858H LD HL,3F7FH INC (HL) SUB A RET LD A,6 CALL 26DAH JP 2858H PUSH AF LD A,(3F7FH) INC A CALL 19F6H POP AF LD (IY-9),A LD A,(3F55H) LD (IY-0AH),A LD (IY-6),L LD (IY-5),H LD (IY-4),L LD (IY-3),H CALL 1A03H PUSH IY POP DE LD (IY-8),E LD (IY-7),D LD HL,(3F58H) CALL 7D7H RET LD IY,3FFEH LD DE,6EH ADD IY,DE DEC A JR NZ,19FDH RET LD HL,(3FFAH) LD (IY-2),L LD (IY-1),H INC HL LD (3FFAH),HL RET BIT 0,(HL) JR NZ,1A20H LD B,0FFH LD HL,3E05H BIT 2,(IX+0) JR 1A29H LD B,7FH LD HL,3EA9H BIT 3,(IX+1) LD DE,3F64H CALL NZ,3707H RET LD A,(3F7FH) AND A RET Z CALL 19F6H LD A,(3F55H) CP (IY-0AH) JR Z,1A42H SUB A RET LD HL,4798H LD B,'d' LD E,(IY-4) LD D,(IY-3) LD A,(DE) DEC DE CP 0FFH JR Z,1A6EH AND A JP M,1A63H LD (HL),A CP cr JR Z,1A7DH INC HL DJNZ 1A4DH DEC HL INC B JR 1A4DH LD (IY-4),E LD (IY-3),D CALL 1A86H JR 1A47H CALL 18FBH JR Z,1A42H LD HL,3F7FH DEC (HL) SUB A LD (3FF8H),A JR 1A30H LD (IY-4),E LD (IY-3),D SUB A INC A RET PUSH HL CP 0FEH JR Z,1AB1H LD E,(IY-8) LD D,(IY-7) BIT 0,(IY-9) JR NZ,1AC5H AND 7FH INC A PUSH AF CALL 1ACFH POP AF DEC A JR NZ,1A9AH EX DE,HL CALL 1B03H POP HL LD A,C OR A RET Z EX DE,HL LDI EX DE,HL DJNZ 1AA7H RET PUSH BC LD L,(IY-2) LD H,(IY-1) LD A,'0' CALL cvtdecn POP BC LD DE,486BH LD C,4 JR 1AA6H LD A,(DE) LD C,1 CP squote JR NZ,1AA6H INC C JR 1AA6H EX DE,HL CALL skwhsp LD D,H LD E,L LD C,0 CALL 1CB5H INC HL JR C,1AE7H JR NZ,1AD7H CP ';' JR Z,1AE7H CP ',' JR NZ,1AD7H DEC HL LD A,L SUB E LD C,A PUSH HL LD A,C OR A JR Z,1AFDH DEC HL LD A,(HL) CP 9 JR Z,1AFAH CP ' ' JR NZ,1AFDH DEC C JR 1AECH POP HL CALL 25E8H EX DE,HL RET LD L,(IY-4) LD H,(IY-3) LD A,(HL) CP '(' RET NZ DEC HL PUSH BC PUSH DE LD DE,47FCH LD BC,0 INC B CALL 1CB5H DEC HL LD (DE),A INC DE JR C,1B6BH JR NZ,1B17H CP '(' JR Z,1B16H CP ')' JR NZ,1B17H DJNZ 1B17H EX DE,HL DEC HL LD (HL),';' LD (IY-4),E LD (IY-3),D PUSH IY LD HL,47FCH CALL 2021H PUSH BC CALL 25E8H CALL Z,2021H POP HL POP IY LD H,C POP DE POP BC LD A,C OR A RET Z LD A,L CALL 1B65H LD L,A LD A,H CALL 1B65H CALL 1B61H DEC L RET Z RET M INC DE DEC C RET Z JR 1B59H CP C RET NC LD C,A RET BIT 7,A RET Z ADD A,C INC A RET POP DE POP BC RET LD HL,3EA9H LD B,'~' BIT 3,(IX+1) LD C,1 JR 1B86H LD HL,3E05H LD B,0FEH BIT 2,(IX+0) LD C,0 LD DE,3F5CH CALL NZ,3707H LD DE,3F5CH LD A,(DE) CP ' ' JR Z,1BD1H CALL 1CC3H JR NZ,1BB2H LD A,(3F6CH) CP 2 JR Z,1BA2H SET 7,(HL) BIT 7,(HL) LD A,12H CALL NZ,26DAH CALL 1C3DH CALL 28EBH JP 1CF8H LD A,C PUSH AF LD BC,(3FFCH) LD (486AH),BC LD BC,(4C55H) PUSH BC SUB A LD (486CH),A LD A,'M' CALL 9C2H CALL 1C3DH POP BC POP AF JR 1BDCH LD A,5 CALL 26DAH CALL 28EBH JP 1CF8H LD HL,(3FFCH) LD (HL),C DEC HL LD (HL),B DEC HL LD (HL),A DEC HL LD A,1 LD (3FF9H),A EX DE,HL PUSH DE CALL 1CD0H JR C,1C35H PUSH AF CALL 28EBH POP AF JR Z,1C35H POP DE LD HL,(4C55H) LD BC,64H ADD HL,BC CALL delta16 JP NC,nomem LD HL,4798H LD C,0 CALL 1CB5H JR NZ,1C15H CP ';' CALL Z,1C27H PUSH BC PUSH DE CP '#' CALL Z,1C6EH POP DE POP BC LD (DE),A DEC DE INC HL CP cr JR NZ,1C0BH JR 1BEBH INC HL CP (HL) DEC HL RET NZ INC DE EX DE,HL CALL skwhsp EX DE,HL DEC DE LD A,cr RET POP HL LD (HL),0FFH DEC HL LD (3FFCH),HL RET LD HL,(3F58H) LD DE,3FFEH LD BC,64H CALL skwhsp CP cr JR Z,1C6BH CP ';' JR Z,1C6BH CP '#' CALL NZ,26D1H LDI CALL skwhsp CP cr JR Z,1C6BH CP ';' JR Z,1C6BH CP ',' JR NZ,1C56H LDI JR 1C46H SUB A LD (DE),A RET LD DE,1CB1H LD B,4 CALL 27ACH JR NZ,1C7FH LD DE,3 ADD HL,DE LD A,0FEH RET LD DE,3FFEH LD B,80H LD A,(DE) AND A JR Z,1CAFH CP ',' JR Z,1CA8H PUSH HL LD A,(DE) AND A JR Z,1CABH CP ',' JR Z,1CABH CALL cmpchr JR NZ,1C9EH INC HL INC DE JR 1C8DH POP HL LD A,(DE) INC DE AND A JR Z,1CAFH CP ',' JR NZ,1C9FH INC B JR 1C8CH POP AF DEC HL LD A,B RET LD A,(HL) RET INC HL LD D,E LD E,C LD C,L LD A,(HL) CP cr SCF RET Z CP squote JR NZ,1CBFH INC C OR A BIT 0,C RET LD A,'M' CALL 96BH RET NZ LD A,(HL) INC HL LD H,(HL) LD L,A DEC HL DEC HL RET BIT 7,(IX+1) JR Z,1CDBH CALL 34BDH JR 1CDEH CALL 3478H SCF RET Z CALL 85AH LD HL,3FF9H CALL 1D09H JR NZ,1CEFH DEC (HL) CALL 77BH CALL 1D19H JR NZ,1CF5H INC (HL) LD A,(HL) OR A RET LD A,1 LD (3FF9H),A CALL 1CD0H RET C JP Z,28EBH CALL 28EBH JR 1CFDH LD DE,1D0EH JR 1D1CH db 4,4 db 'MEND' db 'ENDM' db 0 LD DE,1D25H PUSH HL LD HL,3F64H CALL 2528H POP HL RET db 6,7 db 'OMACRO' db 81h db 'MACRO ' db 80h db 'REPT ' db 0 db 'IRP ' db 0 db 'IRPC ' db 0 db 'STRUCT' db 0 db 0 LD A,(3F56H) AND A JR Z,1D6BH SUB A LD (3F56H),A LD HL,(46A6H) LD (46A8H),HL LD A,(3F6FH) LD (3F6DH),A JP 28EBH LD A,10H CALL 26DAH JP 28EBH LD A,(3F7FH) AND A JR Z,1D6BH LD (3FF8H),A JP 28EBH LD A,(43D2H) CP 10H JP Z,1E1EH LD (43D3H),A CALL 1DD5H SUB A PUSH AF CALL 34BDH JR Z,1DC9H CALL 85AH CALL 1D19H JR Z,1DA7H CALL 1D09H JR NZ,1D8FH POP AF JR Z,1E18H DEC A JR 1D8EH LD B,A POP AF JR NZ,1DC6H BIT 7,B JR Z,1DC6H LD HL,4986H LD DE,486AH LD BC,3 LDIR LD DE,3F5CH LD A,'L' CALL 96BH CALL NZ,9C2H SUB A INC A JR 1D8EH POP AF JR NZ,1E18H RES 7,(IX+1) LD HL,43D2H INC (HL) RET SET 0,(IX+1) EX DE,HL LD HL,3C19H CALL 3501H JR Z,1E24H LD A,(43D2H) CALL 1E0EH EX DE,HL LD HL,4796H LD BC,2 LDIR LD HL,3C1CH LD BC,0EH LDIR LD A,(43D2H) ADD A,A ADD A,A ADD A,A ADD A,A LD (4983H),A LD HL,0 LD (4984H),HL SET 7,(IX+1) RET ADD A,A ADD A,A ADD A,A ADD A,A LD HL,43D4H JP hlplsa LD DE,1E2AH JP prquit LD DE,1E49H JP prquit LD DE,1E64H JP prquit db 'MACRO library' db ' mismatch error' db cr,lf,0 db 'Too many MACRO' db ' libraries',cr,lf,0 db 'MACRO library not' db ' found',cr,lf,0 LD A,(3F6CH) DEC A RET NZ LD DE,3F64H LD A,'L' CALL 96BH RET NZ LD DE,(4796H) PUSH DE PUSH HL LD A,(43D3H) LD B,A LD A,(HL) RRCA RRCA RRCA RRCA AND 0FH LD C,A LD (43D3H),A PUSH BC CALL 1E0EH LD DE,4796H LD BC,2 LDIR POP BC LD A,B CP C JR Z,1EBFH LD DE,3C1CH LD BC,0EH LDIR LD A,0FFH LD (3C28H),A POP HL LD A,(HL) AND 0FH LD C,A INC HL LD D,(HL) INC HL LD E,(HL) LD HL,3C19H CALL 38B0H SET 7,(IX+1) LD HL,4798H LD DE,47FCH LD BC,64H LDIR CALL 34BDH CALL 85AH CALL 1D19H RRA JR C,1EEEH CALL 1B7BH JR 1EF1H CALL 1B6EH RES 7,(IX+1) LD HL,47FCH LD DE,4798H LD BC,64H LDIR POP HL LD (4796H),HL CALL 85AH SUB A RET LD A,(44D4H) CP 8 JR Z,1F3DH INC A LD (44D4H),A CALL 1F89H JR NZ,1F35H CALL 2042H CALL 2B20H LD A,D CP 2 CALL NZ,23F8H LD A,B OR C CP 1 LD HL,44D5H RL (HL) CALL 1FAEH CALL Z,28F9H RET SCF LD HL,44D5H RL (HL) JR 1F56H LD A,6 CALL 26DAH JP 28EBH LD A,(44D4H) AND A JR Z,1F71H CALL 2B20H LD A,(44D5H) XOR 1 LD (44D5H),A CALL 1FAEH CALL Z,28EBH RET LD A,(44D4H) AND A JR Z,1F71H CALL 2B20H LD HL,44D4H DEC (HL) LD HL,44D5H SRL (HL) JR 1F56H LD A,0FH CALL 26DAH JP 28EBH CALL 1F89H CALL NZ,1F93H RET Z CALL 1FAEH CALL Z,28EBH SUB A INC A RET LD A,(3FF8H) AND A RET NZ LD A,(44D5H) AND A RET LD DE,1F9CH LD HL,3F64H jp 2528H db 5,5 db 'IF ' db 'ELSE ' db 'ENDIF' db 0 LD A,(3F83H) AND A JR NZ,1FC4H BIT 5,(IX+1) JR NZ,1FC4H BIT 2,(IX+1) RET NZ BIT 1,(IX+3) RET SUB A RET CALL 2021H CP 8 CALL NC,2031H RLCA RLCA RLCA RET LD A,(HL) CP ')' JR NZ,1FDFH INC HL LD BC,0 LD D,2 LD A,C RET CALL 2036H LD A,D CP 2 CALL NZ,23F8H LD A,B AND A JR Z,1FF5H INC A JR NZ,1FF9H LD A,C CP 80H JR C,1FF9H RET LD A,C CP 80H RET C LD A,9 JR 2033H CALL 2042H LD A,(3F6DH) ADD A,2 CP D CALL NZ,23F8H LD A,2 LD (3F6EH),A LD DE,(46A8H) INC DE INC DE LD A,C SUB E LD C,A LD A,B SBC A,D LD B,A JR 1FE8H CALL 2043H JR 2024H CALL 2042H LD A,D CP 2 CALL NZ,23F8H LD A,B AND A JR Z,202FH INC A LD A,C RET Z LD A,0CH JP 26DAH SUB A LD (487EH),A LD (4915H),A LD BC,7FH JR 2098H SUB A LD (3FD6H),A SUB A LD (487EH),A LD (4915H),A CALL skwhsp CALL 21A7H JR Z,2098H CALL 21B4H JR Z,20CFH CALL 21BEH JR Z,2098H LD A,(HL) CP squote JP Z,20FDH CP dquote JP Z,20E6H CALL 2819H JP NC,20F2H CALL 25BFH CALL C,26C5H CALL 243FH CALL 2132H JP Z,2129H CALL skwhsp CALL 21B4H JR Z,20CFH CALL 21E0H JR NZ,20A9H PUSH BC CALL 2184H POP BC JR Z,2098H CP C JR C,20A0H JR Z,20A0H CALL 216BH JP Z,2129H JR 204DH PUSH BC CALL 228AH JP C,2128H JR 208DH CALL 2184H JR Z,20B5H CALL 228AH JR C,2129H JR 20A9H CALL 214FH JR Z,2129H LD A,C CP 0FFH JR Z,2129H AND 60H CP ' ' LD A,C JR Z,20C8H AND 1FH LD (3F6EH),A LD B,D LD C,E LD D,A RET CALL 2184H JR Z,2129H CP 7FH JR Z,20DFH CALL 228AH JR C,2129H JR 20CFH CALL 2199H JR Z,2129H JR 207FH INC HL LD D,H LD E,L CALL 227FH JR C,2129H LD C,0FFH JR 2079H CALL 23FDH CALL C,26C5H LD C,2 JP 2079H INC HL LD BC,2 LD DE,486AH CALL 2668H LD DE,0 JR NC,2120H INC B DEC B JR Z,2123H LD DE,(486AH) DEC B JR Z,211CH LD A,D LD D,E LD E,A JR 2123H LD D,0 JR 2123H CALL 26C5H LD C,2 JP 2079H POP BC CALL 23F8H LD BC,0 LD D,0 RET LD A,(487EH) CP '2' RET Z PUSH HL INC A LD (487EH),A LD HL,487CH LD B,A ADD A,B ADD A,B CALL hlplsa LD (HL),E INC HL LD (HL),D INC HL LD (HL),C POP HL SUB A INC A RET LD A,(487EH) AND A RET Z PUSH HL DEC A LD (487EH),A LD HL,487FH LD B,A ADD A,B ADD A,B CALL hlplsa LD E,(HL) INC HL LD D,(HL) INC HL LD C,(HL) POP HL SUB A INC A RET LD A,(4915H) CP '2' RET Z PUSH HL INC A LD (4915H),A LD HL,4914H ADD A,A CALL hlplsa LD (HL),B INC HL LD (HL),C POP HL SUB A INC A RET LD A,(4915H) AND A RET Z PUSH HL LD HL,4914H ADD A,A CALL hlplsa LD B,(HL) INC HL LD C,(HL) POP HL SUB A INC A LD A,C RET CALL 2184H RET Z LD A,(4915H) DEC A LD (4915H),A SUB A INC A RET LD BC,7FH LD A,(HL) INC HL CP '[' RET Z CP '(' RET Z DEC HL RET LD A,(HL) INC HL CP ']' RET Z CP ')' RET Z DEC HL RET LD DE,21C3H JR 21E3H db '+'+128,86h,1 db '-'+128,8ch,1 db '^'+128,93h,1 db '~'+128,88h,4 db 'NO','T'+128,88h,4 db 'LO','W'+128,94h,8 db 'HIG','H'+128,95h,8 db 0 LD DE,21E5H JR 224DH db '+'+128,6,3 db '-'+128,7,3 db '*'+128,1,2 db '/'+128,2,2 db '%'+128,3,2 db '&'+128,9,5 db '|'+128,10,6 db '>','>'+128,5,2 db '<','<'+128,4,2 db '>','='+128,18,7 db '<','='+128,17,7 db '<','>'+128,16,7 db '>'+128,13,7 db '<'+128,14,7 db '='+128,15,7 db 'MO','D'+128,3,2 db 'SH','L'+128,4,2 db 'SH','R'+128,5,2 db 'AN','D'+128,9,5 db 'O','R'+128,10,6 db 'XO','R'+128,11,6 db 'L','T'+128,14,7 db 'G','T'+128,13,7 db 'E','Q'+128,15,7 db 'N','E'+128,16,7 db 'L','E'+128,17,7 db 'G','E'+128,18,7 db 0 PUSH HL LD A,(DE) AND A JR Z,227CH CALL cmpchr JR NZ,2272H LD A,(DE) INC HL INC DE AND A JP P,224EH AND 7FH CALL 25D4H JR C,226AH CALL 284FH JR NC,227CH POP BC LD A,(DE) LD B,A INC DE LD A,(DE) LD C,A SUB A RET LD A,(DE) INC DE RLA JR NC,2272H INC DE INC DE POP HL JR 224DH POP HL INC A RET LD A,(HL) CP cr SCF RET Z INC HL CP dquote JR NZ,227FH RET PUSH HL CALL 2199H JR Z,22DFH LD A,B AND A JP M,22CDH PUSH BC CALL 214FH JR Z,22DEH PUSH DE PUSH BC CALL 214FH JR Z,22DCH EX DE,HL POP DE LD B,C LD C,E POP DE EX (SP),HL LD A,H AND 7FH LD HL,22E4H RLA CALL hlplsa LD A,(HL) INC HL LD H,(HL) LD L,A PUSH HL POP IY POP HL LD A,2 LD (497AH),A CALL 22E2H EX DE,HL LD A,(497AH) LD C,A CALL 2132H AND A POP HL RET PUSH BC CALL 214FH JR Z,22DEH EX DE,HL LD B,C LD DE,0 LD C,2 JR 22A7H POP HL POP HL POP HL POP HL SCF RET JP (IY) dw 23f8h dw 2310h dw 2316h dw 231ch dw 2323h dw 232dh dw 233ah dw 2344h dw 233fh dw 234bh dw 2355h dw 235fh dw 2340h dw 236fh dw 2370h dw 237ah dw 2383h dw 238ah dw 238bh dw 2321h dw 236ah dw 2369h CALL 23C5H jp mpy16b CALL 23C5H jp div16b CALL 2316H EX DE,HL RET INC DE EX DE,HL CALL 23C5H LD A,D OR E RET Z ADD HL,HL DEC DE JR 2326H CALL 23C5H LD A,D OR E RET Z SRL H RR L DEC DE JR 2330H CALL 23D1H ADD HL,DE RET DEC DE EX DE,HL LD A,B LD B,C LD C,A CALL 23E2H AND A SBC HL,DE RET CALL 23C5H LD A,H AND D LD H,A LD A,L AND E LD L,A RET CALL 23C5H LD A,H OR D LD H,A LD A,L OR E LD L,A RET CALL 23C5H LD A,H XOR D LD H,A LD A,L XOR E LD L,A RET LD L,H LD H,0 JP 23C5H EX DE,HL CALL 2393H JP M,237FH LD HL,0 RET CALL 2393H JR NZ,2376H LD HL,0FFFFH RET CALL 2393H JR Z,2376H JR 237FH EX DE,HL CALL 2393H JP M,2376H JR 237FH CALL 239AH AND A SBC HL,DE RET LD A,B CP C JR NZ,23F8H CP 0FFH RET NZ LD A,(HL) CP dquote JR Z,23B5H LD A,(DE) CP dquote JR Z,23BEH CALL cmpchr LD A,(DE) JR NZ,23BFH INC DE INC HL JR 23A1H LD A,(DE) CP dquote JR Z,23BFH LD L,0 JR 23C0H SUB A LD L,(HL) LD E,A LD H,0 LD D,H RET CALL 23F3H LD A,B CP C JR NZ,23F8H CP 2 JR NZ,23F8H RET LD A,B CP 2 LD A,C JR NZ,23DBH LD (497AH),A RET CP 2 LD A,B JR Z,23D7H JR 23F8H BIT 5,B JR NZ,23E9H LD A,B CP C RET Z LD A,C CP 2 JR NZ,23F8H LD A,B LD (497AH),A RET LD A,B OR C BIT 5,A RET Z LD A,3 JP 26DAH PUSH HL INC HL CALL 284FH JR NC,23FEH DEC HL POP BC LD A,(HL) CALL toupper CP 'H' JR Z,241EH CP 'D' JR Z,2423H CP 'Q' JR Z,2428H CP 'B' JR Z,242DH INC HL JP asc2bin CALL 2753H INC HL RET CALL asc2bin INC HL RET CALL 272BH INC HL RET CALL 2740H INC HL RET mpy16b: LD C,89H ;16-bit multiply CALL bdos EX DE,HL RET div16b: LD C,8AH ;16-bit divide CALL bdos RET LD DE,4860H CALL 2820H LD A,(DE) CP '$' JR NZ,2451H INC DE LD A,(DE) DEC DE CP ' ' JR Z,24C2H PUSH HL SUB A INC A CALL 0A11H JR NC,24BBH LD HL,0 LD (486AH),HL LD (486CH),HL CALL 90BH LD D,B LD E,C LD C,A AND 60H CP 60H CALL Z,901H LD A,C AND 3FH CALL Z,2494H BIT 5,A JR Z,247FH LD DE,0 LD (3F7BH),HL LD C,A PUSH DE LD HL,3E05H LD DE,(3F5AH) LD B,7FH BIT 2,(IX+0) CALL NZ,3707H POP DE POP HL RET LD A,(3F6CH) DEC A JR Z,24A0H CALL 26D5H LD A,2 RET LD A,15H LD (3F81H),A LD A,(3F80H) BIT 4,A LD A,2 RET Z LD (3F84H),A LD (3F83H),A LD HL,(469CH) INC HL LD (469CH),HL RET LD DE,0 LD C,2 POP HL RET PUSH HL LD HL,(46A8H) LD A,(3FD6H) CALL hlplsa EX DE,HL POP HL LD A,(3F6DH) ADD A,2 LD C,A RET LD DE,253EH CALL 2528H LD (3F86H),A RET LD DE,2547H JR 24D8H LD DE,2554H CALL 2528H RET NZ PUSH AF CALL 1FD2H LD (3F88H),A LD B,A POP AF LD (3F86H),A RET LD DE,255FH JR 2528H LD DE,256EH JR 2528H LD DE,257DH JR 2528H LD DE,258CH JR 2528H CALL 25DEH LD DE,259BH JR 2528H CALL 25DEH CALL 250FH RET Z LD DE,25ACH JR 2528H LD DE,25B4H JR 2528H LD DE,25B9H PUSH HL EX DE,HL CALL 278EH EX DE,HL JR NZ,2536H ADD HL,BC CALL 284FH JR C,253AH SUB A INC A POP HL RET SUB A LD A,(DE) POP BC RET db 2,3 db 'IX' db 0ddh db 'IY' db 0fdh db 0 db 4,5 db '(IX)' db 0ddh db '(IY)' db 0fdh db 0 db 3,4 db '(IX' db 0ddh db '(IY' db 0fdh db 0 db 2,3 db 'BC' db 0 db 'DE' db 10h db 'HL' db 20h db 'AF' db 30h db 0 db 2,3 db 'BC' db 0 db 'DE' db 10h db 'HL' db 20h db 'SP' db 30h db 0 db 2,3 db 'BC' db 0 db 'DE' db 10h db 'IX' db 20h db 'SP' db 30h db 0 db 2,3 db 'BC' db 0 db 'DE' db 10h db 'IY' db 20h db 'SP'