From 2ec85716ebc8b3237f7cc82a7e989d507fadc850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 16 Oct 2015 17:35:11 +0200 Subject: [PATCH] AWork In Progress (ASM) --- BIN/ASM.T.6502.S.txt | 604 +++++++++++-------- BIN/ASM.T.65816.S.txt | 0 BIN/ASM.T.65R02.S.txt | 102 ++++ BIN/ASM.T.Z80.S.txt | 1321 ++++++++++++++++++++++++++++++++++++++++- BIN/ASM.T.xlsm | Bin 0 -> 51208 bytes 5 files changed, 1749 insertions(+), 278 deletions(-) create mode 100644 BIN/ASM.T.65816.S.txt create mode 100644 BIN/ASM.T.65R02.S.txt create mode 100644 BIN/ASM.T.xlsm diff --git a/BIN/ASM.T.6502.S.txt b/BIN/ASM.T.6502.S.txt index 0a42d38f..5e00c910 100644 --- a/BIN/ASM.T.6502.S.txt +++ b/BIN/ASM.T.6502.S.txt @@ -1,264 +1,368 @@ -PR#3 +PR# 3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .TF /A2OSX.BOOT/BIN/ASM.T.6502 + .LIST OFF .OR $2000 + .TF /A2OSX.BOOT/BIN/ASM.T.6502 *--------------------------------------- - .MA AMS AMSID,"Pattern" - .DA #]1 - .AS ]2 - .DA #0 - .AS ]3 - .DA #0 - .AS ]4 - .DA #0 + .MA PSTR + .DA #:1-*-1 + .AS "]1" +:1 .EQ * .EM *--------------------------------------- - .DA T.ADDR.MODES.SYNTAX + .MA AM + .DA ]1 + >PSTR "]2" + .EM +*--------------------------------------- + .DA T.ADDR.MODES + .DA T.REGISTERS .DA T.OPCODES -*--------------------------------------- -T.ADDR.MODES.SYNTAX .AS "1 Implicit - >AMS 2,"#?1",$1","" Imm8 - >AMS 3,"$2","$1=$2-@+1","-127,128" rel8 - >AMS 4,"$1","$1","" abs8 - >AMS 5,"$1,X","$1","" abs8,x - >AMS 6,"$2","$2","" abs16 - >AMS 7,"$2,X","$2","" abs16,x - >AMS 8,"$2,Y","$2","" abs16,y - >AMS 9,"($2)","$2","" (abs16) - >AMS 10,"($1)","$1","" (abs8) - >AMS 11,"($1,X)","$1","" (abs8,x) - >AMS 12,"($1),Y","$1","" (abs8),y - .HS 0 *--------------------------------------- -T.OPCODES .AS "ADC" - .HS 0 - .HS 2,$69,4,$65,5,$75,6,$6D,7,$7D,8,$79,11,$61,12,$71 - .HS 0 - .AS "AND" - .HS 0 - .HS - .HS 0 - .AS "ASL" - .HS 0 - .HS - .HS 0 - .AS "BCC" - .HS 0 - .HS 3,$90 - .HS 0 - .AS "BCS" - .HS 0 - .HS 3,$B0 - .HS 0 - .AS "BEQ" - .HS 0 - .HS - .HS 0 - .AS "BIT" - .HS 0 - .HS - .HS 0 - .AS "BMI" - .HS 0 - .HS - .HS 0 - .AS "BNE" - .HS 0 - .HS - .HS 0 - .AS "BPL" - .HS 0 - .HS - .HS 0 - .AS "BRK" - .HS 0 - .HS - .HS 0 - .AS "BVC" - .HS 0 - .HS - .HS 0 - .AS "BVS" - .HS 0 - .HS - .HS 0 - .AS "CLC" - .HS 0 - .HS - .HS 0 - .AS "CLD" - .HS 0 - .HS - .HS 0 - .AS "CLI" - .HS 0 - .HS - .HS 0 - .AS "CLV" - .HS 0 - .HS - .HS 0 - .AS "CMP" - .HS 0 - .HS - .HS 0 - .AS "CPX" - .HS 0 - .HS - .HS 0 - .AS "CPY" - .HS 0 - .HS - .HS 0 - .AS "DEC" - .HS 0 - .HS - .HS 0 - .AS "DEX" - .HS 0 - .HS - .HS 0 - .AS "DEY" - .HS 0 - .HS - .HS 0 - .AS "EOR" - .HS 0 - .HS - .HS 0 - .AS "INC" - .HS 0 - .HS - .HS 0 - .AS "INX" - .HS 0 - .HS - .HS 0 - .AS "INY" - .HS 0 - .HS - .HS 0 - .AS "JMP" - .HS 0 - .HS - .HS 0 - .AS "JSR" - .HS 0 - .HS - .HS 0 - .AS "LDA" - .HS 0 - .HS - .HS 0 - .AS "LDX" - .HS 0 - .HS - .HS 0 - .AS "LDY" - .HS 0 - .HS - .HS 0 - .AS "LSR" - .HS 0 - .HS - .HS 0 - .AS "NOP" - .HS 0 - .HS - .HS 0 - .AS "NOP" - .HS 0 - .HS - .HS 0 - .AS "ORA" - .HS 0 - .HS - .HS 0 - .AS "PHA" - .HS 0 - .HS - .HS 0 - .AS "PHP" - .HS 0 - .HS - .HS 0 - .AS "PLA" - .HS 0 - .HS - .HS 0 - .AS "ROL" - .HS 0 - .HS - .HS 0 - .AS "ROR" - .HS 0 - .HS - .HS 0 - .AS "RTI" - .HS 0 - .HS - .HS 0 - .AS "RTS" - .HS 0 - .HS - .HS 0 - .AS "SBC" - .HS 0 - .HS - .HS 0 - .AS "SEC" - .HS 0 - .HS - .HS 0 - .AS "SED" - .HS 0 - .HS - .HS 0 - .AS "SEI" - .HS 0 - .HS - .HS 0 - .AS "STA" - .HS 0 - .HS - .HS 0 - .AS "STX" - .HS 0 - .HS - .HS 0 - .AS "STY" - .HS 0 - .HS - .HS 0 - .AS "TAX" - .HS 0 - .HS - .HS 0 - .AS "TAY" - .HS 0 - .HS - .HS 0 - .AS "TSX" - .HS 0 - .HS - .HS 0 - .AS "TXA" - .HS 0 - .HS - .HS 0 - .AS "TXS" - .HS 0 - .HS - .HS 0 - .AS "TYA" - .HS 0 - .HS - .HS 0 +T.ADDR.MODES .EQ * + >PSTR "(a),Y" + >PSTR "(a,X)" + >PSTR "a" + >PSTR "a,X" + >PSTR "aa" + >PSTR "aa,X" + >PSTR "aa,Y" + >PSTR "i" + >PSTR "r" + >PSTR "(aa)" + >PSTR "a,Y" + .HS 00 +*--------------------------------------- +T.REGISTERS .EQ * + >PSTR "Y" + >PSTR "X" + .HS 00 +*--------------------------------------- +T.OPCODES .EQ * + .DA #E.ADC-* + >PSTR "ADC" + >AM 0,"71a" + >AM 1,"61a" + >AM 2,"65a" + >AM 3,"75a" + >AM 4,"6Daa" + >AM 5,"7Daa" + >AM 6,"79aa" + >AM 7,"69i" +E.ADC .HS 00 + .DA #E.AND-* + >PSTR "AND" + >AM 0,"31a" + >AM 1,"21a" + >AM 2,"25a" + >AM 3,"35a" + >AM 4,"2Daa" + >AM 5,"3Daa" + >AM 6,"39aa" + >AM 7,"29i" +E.AND .HS 00 + .DA #E.ASL-* + >PSTR "ASL" + >AM 2,"06a" + >AM 3,"16a" + >AM 4,"0Eaa" + >AM 5,"1Eaa" + >AM 255,"0A" +E.ASL .HS 00 + .DA #E.BCC-* + >PSTR "BCC" + >AM 8,"90r" +E.BCC .HS 00 + .DA #E.BCS-* + >PSTR "BCS" + >AM 8,"B0r" +E.BCS .HS 00 + .DA #E.BEQ-* + >PSTR "BEQ" + >AM 8,"F0r" +E.BEQ .HS 00 + .DA #E.BIT-* + >PSTR "BIT" + >AM 2,"24a" + >AM 4,"2Caa" +E.BIT .HS 00 + .DA #E.BMI-* + >PSTR "BMI" + >AM 8,"30r" +E.BMI .HS 00 + .DA #E.BNE-* + >PSTR "BNE" + >AM 8,"D0r" +E.BNE .HS 00 + .DA #E.BPL-* + >PSTR "BPL" + >AM 8,"10r" +E.BPL .HS 00 + .DA #E.BRK-* + >PSTR "BRK" + >AM 255,"00" +E.BRK .HS 00 + .DA #E.BVC-* + >PSTR "BVC" + >AM 8,"50r" +E.BVC .HS 00 + .DA #E.BVS-* + >PSTR "BVS" + >AM 8,"70r" +E.BVS .HS 00 + .DA #E.CLC-* + >PSTR "CLC" + >AM 255,"18" +E.CLC .HS 00 + .DA #E.CLD-* + >PSTR "CLD" + >AM 255,"D8" +E.CLD .HS 00 + .DA #E.CLI-* + >PSTR "CLI" + >AM 255,"58" +E.CLI .HS 00 + .DA #E.CLV-* + >PSTR "CLV" + >AM 255,"B8" +E.CLV .HS 00 + .DA #E.CMP-* + >PSTR "CMP" + >AM 0,"D1a" + >AM 1,"C1a" + >AM 2,"C5a" + >AM 3,"D5a" + >AM 4,"CDaa" + >AM 5,"DDaa" + >AM 6,"D9aa" + >AM 7,"C9i" +E.CMP .HS 00 + .DA #E.CPX-* + >PSTR "CPX" + >AM 2,"E4a" + >AM 4,"Ecaa" + >AM 7,"E0i" +E.CPX .HS 00 + .DA #E.CPY-* + >PSTR "CPY" + >AM 2,"C4a" + >AM 4,"Ccaa" + >AM 7,"C0i" +E.CPY .HS 00 + .DA #E.DEC-* + >PSTR "DEC" + >AM 2,"C6a" + >AM 3,"D6a" + >AM 4,"Ceaa" + >AM 5,"Deaa" +E.DEC .HS 00 + .DA #E.DEX-* + >PSTR "DEX" + >AM 255,"CA" +E.DEX .HS 00 + .DA #E.DEY-* + >PSTR "DEY" + >AM 255,"88" +E.DEY .HS 00 + .DA #E.EOR-* + >PSTR "EOR" + >AM 0,"51a" + >AM 1,"41a" + >AM 2,"45a" + >AM 3,"55a" + >AM 4,"4Daa" + >AM 5,"5Daa" + >AM 6,"59aa" + >AM 7,"49i" +E.EOR .HS 00 + .DA #E.INC-* + >PSTR "INC" + >AM 2,"E6a" + >AM 3,"F6a" + >AM 4,"Eeaa" + >AM 5,"Feaa" +E.INC .HS 00 + .DA #E.INX-* + >PSTR "INX" + >AM 255,"E8" +E.INX .HS 00 + .DA #E.INY-* + >PSTR "INY" + >AM 255,"C8" +E.INY .HS 00 + .DA #E.JMP-* + >PSTR "JMP" + >AM 9,"6Caa" + >AM 4,"4Caa" +E.JMP .HS 00 + .DA #E.JSR-* + >PSTR "JSR" + >AM 4,"20aa" +E.JSR .HS 00 + .DA #E.LDA-* + >PSTR "LDA" + >AM 0,"B1a" + >AM 1,"A1a" + >AM 2,"A5a" + >AM 3,"B5a" + >AM 4,"Adaa" + >AM 5,"Bdaa" + >AM 6,"B9aa" + >AM 7,"A9i" +E.LDA .HS 00 + .DA #E.LDX-* + >PSTR "LDX" + >AM 2,"A6a" + >AM 10,"B6a" + >AM 4,"Aeaa" + >AM 6,"Beaa" + >AM 7,"A2i" +E.LDX .HS 00 + .DA #E.LDY-* + >PSTR "LDY" + >AM 2,"A4a" + >AM 3,"B4a" + >AM 4,"Acaa" + >AM 5,"Bcaa" + >AM 7,"A0i" +E.LDY .HS 00 + .DA #E.LSR-* + >PSTR "LSR" + >AM 2,"46a" + >AM 3,"56a" + >AM 4,"4Eaa" + >AM 5,"5Eaa" + >AM 255,"4A" +E.LSR .HS 00 + .DA #E.NOP-* + >PSTR "NOP" + >AM 255,"EA" +E.NOP .HS 00 + .DA #E.ORA-* + >PSTR "ORA" + >AM 0,"11a" + >AM 1,"01a" + >AM 2,"05a" + >AM 3,"15a" + >AM 4,"0Daa" + >AM 5,"1Daa" + >AM 6,"19aa" + >AM 7,"09i" +E.ORA .HS 00 + .DA #E.PHA-* + >PSTR "PHA" + >AM 255,"48" +E.PHA .HS 00 + .DA #E.PHP-* + >PSTR "PHP" + >AM 255,"08" +E.PHP .HS 00 + .DA #E.PLA-* + >PSTR "PLA" + >AM 255,"68" +E.PLA .HS 00 + .DA #E.PLP-* + >PSTR "PLP" + >AM 255,"28" +E.PLP .HS 00 + .DA #E.ROL-* + >PSTR "ROL" + >AM 2,"26a" + >AM 3,"36a" + >AM 4,"2Eaa" + >AM 5,"3Eaa" + >AM 255,"2A" +E.ROL .HS 00 + .DA #E.ROR-* + >PSTR "ROR" + >AM 2,"66a" + >AM 3,"76a" + >AM 4,"6Eaa" + >AM 5,"7Eaa" + >AM 255,"6A" +E.ROR .HS 00 + .DA #E.RTI-* + >PSTR "RTI" + >AM 255,"40" +E.RTI .HS 00 + .DA #E.RTS-* + >PSTR "RTS" + >AM 255,"60" +E.RTS .HS 00 + .DA #E.SBC-* + >PSTR "SBC" + >AM 0,"F1a" + >AM 1,"E1a" + >AM 2,"E5a" + >AM 3,"F5a" + >AM 4,"Edaa" + >AM 5,"Fdaa" + >AM 6,"F9aa" + >AM 7,"E9i" +E.SBC .HS 00 + .DA #E.SEC-* + >PSTR "SEC" + >AM 255,"38" +E.SEC .HS 00 + .DA #E.SED-* + >PSTR "SED" + >AM 255,"F8" +E.SED .HS 00 + .DA #E.SEI-* + >PSTR "SEI" + >AM 255,"78" +E.SEI .HS 00 + .DA #E.STA-* + >PSTR "STA" + >AM 0,"91a" + >AM 1,"81a" + >AM 2,"85a" + >AM 3,"95a" + >AM 4,"8Daa" + >AM 5,"9Daa" + >AM 6,"99aa" +E.STA .HS 00 + .DA #E.STX-* + >PSTR "STX" + >AM 2,"86a" + >AM 10,"96a" + >AM 4,"8Eaa" +E.STX .HS 00 + .DA #E.STY-* + >PSTR "STY" + >AM 2,"84a" + >AM 3,"94a" + >AM 4,"8Caa" +E.STY .HS 00 + .DA #E.TAX-* + >PSTR "TAX" + >AM 255,"AA" +E.TAX .HS 00 + .DA #E.TAY-* + >PSTR "TAY" + >AM 255,"A8" +E.TAY .HS 00 + .DA #E.TSX-* + >PSTR "TSX" + >AM 255,"BA" +E.TSX .HS 00 + .DA #E.TXA-* + >PSTR "TXA" + >AM 255,"8A" +E.TXA .HS 00 + .DA #E.TXS-* + >PSTR "TXS" + >AM 255,"9A" +E.TXS .HS 00 + .DA #E.TYA-* + >PSTR "TYA" + >AM 255,"98" +E.TYA .HS 00 + .HS 00 *--------------------------------------- - .HS 0 MAN SAVE BIN/ASM.T.6502.S ASM diff --git a/BIN/ASM.T.65816.S.txt b/BIN/ASM.T.65816.S.txt new file mode 100644 index 00000000..e69de29b diff --git a/BIN/ASM.T.65R02.S.txt b/BIN/ASM.T.65R02.S.txt new file mode 100644 index 00000000..c5ce5bd5 --- /dev/null +++ b/BIN/ASM.T.65R02.S.txt @@ -0,0 +1,102 @@ +PR#3 +PREFIX /A2OSX.SRC +NEW +INC 1 +AUTO 6 + .TF /A2OSX.BOOT/BIN/ASM.T.65R02 + .OR $2000 +*--------------------------------------- + .MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0 + .DA #]1 + .AS ]2 + .DA #0 + .AS ]3 + .DA #0 + .AS ]4 + .DA #0 + .EM +*--------------------------------------- +T.ADDR.MODES.SYNTAX >AMS 1,"","","" Implicit + >AMS 2,"#$1",$1","" Immediate + >AMS 3,"$2","$1=$2-@+1","-127<$1<128" rel + >AMS 4,"$1","$1","" zp + >AMS 5,"$1,X","$1","" zp,x + >AMS 6,"$2","$2","" abs + >AMS 7,"$2,X","$2","" abs,x + >AMS 8,"$2,Y","$2","" abs,y + >AMS 9,"($2)","$2","" (abs) + >AMS 10,"($1)","$1","" (zp) + >AMS 11,"($1,X)","$1","" (zp,x) + >AMS 12,"($1),Y","$1","" (zp),y + +T.OPCODES .AS "ADC" + .HS 0 + .HS 2,$69,4,$65,5,$75,6,$6D,7,$7D,8,$79,11,$61,12,$71 + .HS 0 + .AS "AND" + .AS "ASL" + .AS "BCC" + .HS 0 + .HS 3,$90 + .HS 0 + .AS "BCS" + .HS 0 + .HS 3,$B0 + .HS 0 + .AS "BEQ" + .AS "BIT" + .AS "BMI" + .AS "BNE" + .AS "BPL" + .AS "BRK" + .AS "BVC" + .AS "BVS" + .AS "CLC" + .AS "CLD" + .AS "CLI" + .AS "CLV" + .AS "CMP" + .AS "CPX" + .AS "CPY" + .AS "DEC" + .AS "DEX" + .AS "DEY" + .AS "EOR" + .AS "INC" + .AS "INX" + .AS "INY" + .AS "JMP" + .AS "JSR" + .AS "LDA" + .AS "LDX" + .AS "LDY" + .AS "LSR" + .AS "NOP" + .AS "NOP" + .AS "ORA" + .AS "PHA" + .AS "PHP" + .AS "PLA" + .AS "ROL" + .AS "ROR" + .AS "RTI" + .AS "RTS" + .AS "SBC" + .AS "SEC" + .AS "SED" + .AS "SEI" + .AS "STA" + .AS "STX" + .AS "STY" + .AS "TAX" + .AS "TAY" + .AS "TSX" + .AS "TXA" + .AS "TXS" + .AS "TYA" +*--------------------------------------- + .HS 0 +MAN +SAVE BIN/ASM.T.65R02.S +ASM + \ No newline at end of file diff --git a/BIN/ASM.T.Z80.S.txt b/BIN/ASM.T.Z80.S.txt index 16ce52af..ce8e7edd 100644 --- a/BIN/ASM.T.Z80.S.txt +++ b/BIN/ASM.T.Z80.S.txt @@ -1,38 +1,1303 @@ -PR#3 +PR# 3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .TF /A2OSX.BOOT/BIN/ASM.T.Z80 + .LIST OFF .OR $2000 -*--------------------------------------- - .MA AMS AMSID,"Syntax",0,"Operand",0,"Rule",0 - .DA #]1 - .AS ]2 - .DA #0 - .AS ]3 - .DA #0 - .AS ]4 - .DA #0 + .TF /A2OSX.BOOT/BIN/ASM.T.Z80 + .MA PSTR + .DA #:1-*-1 + .AS "]1" +:1 .EQ * .EM - .DA T.ADDR.MODES.SYNTAX + .MA AM + .DA ]1 + >PSTR "]2" + .EM + .DA T.ADDR.MODES + .DA T.REGISTERS .DA T.OPCODES -*--------------------------------------- -T.ADDR.MODES.SYNTAX >AMS 1,"","","" Implicit - >AMS 2,"#$1",$1","" Immediate8 - >AMS 3,"#$2",$2","" Immediate16 - >AMS 4, Modified zp - >AMS 3,"$2","$1=$2-@+1","-127<$1<128" rel - >AMS 6,"$2","$2","" abs - -*--------------------------------------- -T.OPCODES .AS "ADC" - .HS 0 - .HS 2,$69,4,$65,5,$75,6,$6D,7,$7D,8,$79,11,$61,12,$71 - .HS 0 -*--------------------------------------- - .HS 0 +T.ADDR.MODES .EQ * + >PSTR "A,(HL)" + >PSTR "A,(IX+a)" + >PSTR "A,(IY+a)" + >PSTR "A,A" + >PSTR "A,a" + >PSTR "A,B" + >PSTR "A,C" + >PSTR "A,D" + >PSTR "A,E" + >PSTR "A,H" + >PSTR "A,L" + >PSTR "HL,BC" + >PSTR "HL,DE" + >PSTR "HL,HL" + >PSTR "HL,SP" + >PSTR "IX,BC" + >PSTR "IX,DE" + >PSTR "IX,IX" + >PSTR "IX,SP" + >PSTR "IY,BC" + >PSTR "IY,DE" + >PSTR "IY,IY" + >PSTR "IY,SP" + >PSTR "(HL)" + >PSTR "(IX+a)" + >PSTR "(IY+a)" + >PSTR "A" + >PSTR "a" + >PSTR "B" + >PSTR "C" + >PSTR "D" + >PSTR "E" + >PSTR "H" + >PSTR "L" + >PSTR "aa" + >PSTR "BC" + >PSTR "DE" + >PSTR "HL" + >PSTR "IX" + >PSTR "IY" + >PSTR "SP" + >PSTR "r" + >PSTR "(SP),HL" + >PSTR "(SP),IX" + >PSTR "(SP),IY" + >PSTR "DE,HL" + >PSTR "A,(a)" + >PSTR "A,(C)" + >PSTR "B,(C)" + >PSTR "C,(C)" + >PSTR "D,(C)" + >PSTR "E,(C)" + >PSTR "H,(C)" + >PSTR "L,(C)" + >PSTR "(IX)" + >PSTR "(IY)" + >PSTR "(aa),A" + >PSTR "(aa),BC" + >PSTR "(aa),DE" + >PSTR "(aa),HL" + >PSTR "(aa),IX" + >PSTR "(aa),IY" + >PSTR "(aa),SP" + >PSTR "(BC),A" + >PSTR "(DE),A" + >PSTR "(HL),A" + >PSTR "(HL),a" + >PSTR "(HL),B" + >PSTR "(HL),C" + >PSTR "(HL),D" + >PSTR "(HL),E" + >PSTR "(HL),H" + >PSTR "(HL),L" + >PSTR "(IX+a),A" + >PSTR "(IX+a),a" + >PSTR "(IX+a),B" + >PSTR "(IX+a),C" + >PSTR "(IX+a),D" + >PSTR "(IX+a),E" + >PSTR "(IX+a),H" + >PSTR "(IX+a),L" + >PSTR "(IY+a),A" + >PSTR "(IY+a),a" + >PSTR "(IY+a),B" + >PSTR "(IY+a),C" + >PSTR "(IY+a),D" + >PSTR "(IY+a),E" + >PSTR "(IY+a),H" + >PSTR "(IY+a),L" + >PSTR "A,(aa)" + >PSTR "A,(BC)" + >PSTR "A,(DE)" + >PSTR "A,I" + >PSTR "A,R" + >PSTR "B,(HL)" + >PSTR "B,(IX+a)" + >PSTR "B,(IY+a)" + >PSTR "B,A" + >PSTR "B,a" + >PSTR "B,B" + >PSTR "B,C" + >PSTR "B,D" + >PSTR "B,E" + >PSTR "B,H" + >PSTR "B,L" + >PSTR "BC,(aa)" + >PSTR "BC,aa" + >PSTR "C,(HL)" + >PSTR "C,(IX+a)" + >PSTR "C,(IY+a)" + >PSTR "C,A" + >PSTR "C,a" + >PSTR "C,B" + >PSTR "C,C" + >PSTR "C,D" + >PSTR "C,E" + >PSTR "C,H" + >PSTR "C,L" + >PSTR "D,(HL)" + >PSTR "D,(IX+a)" + >PSTR "D,(IY+a)" + >PSTR "D,A" + >PSTR "D,a" + >PSTR "D,B" + >PSTR "D,C" + >PSTR "D,D" + >PSTR "D,E" + >PSTR "D,H" + >PSTR "D,L" + >PSTR "DE,(aa)" + >PSTR "DE,aa" + >PSTR "E,(HL)" + >PSTR "E,(IX+a)" + >PSTR "E,(IY+a)" + >PSTR "E,A" + >PSTR "E,a" + >PSTR "E,B" + >PSTR "E,C" + >PSTR "E,D" + >PSTR "E,E" + >PSTR "E,H" + >PSTR "E,L" + >PSTR "H,(HL)" + >PSTR "H,(IX+a)" + >PSTR "H,(IY+a)" + >PSTR "H,A" + >PSTR "H,a" + >PSTR "H,B" + >PSTR "H,C" + >PSTR "H,D" + >PSTR "H,E" + >PSTR "H,H" + >PSTR "H,L" + >PSTR "HL,(aa)" + >PSTR "HL,aa" + >PSTR "I,A" + >PSTR "IX,(aa)" + >PSTR "IX,aa" + >PSTR "IY,(aa)" + >PSTR "IY,aa" + >PSTR "L,(HL)" + >PSTR "L,(IX+a)" + >PSTR "L,(IY+a)" + >PSTR "L,A" + >PSTR "L,a" + >PSTR "L,B" + >PSTR "L,C" + >PSTR "L,D" + >PSTR "L,E" + >PSTR "L,H" + >PSTR "L,L" + >PSTR "R,A" + >PSTR "SP,(aa)" + >PSTR "SP,aa" + >PSTR "SP,HL" + >PSTR "SP,IX" + >PSTR "SP,IY" + >PSTR "(a),A" + >PSTR "(C),A" + >PSTR "(C),B" + >PSTR "(C),C" + >PSTR "(C),D" + >PSTR "(C),E" + >PSTR "(C),H" + >PSTR "(C),L" + >PSTR "AF" + .HS 00 +T.REGISTERS .EQ * + >PSTR "A" + >PSTR "HL" + >PSTR "IX" + >PSTR "IY" + >PSTR "B" + >PSTR "C" + >PSTR "D" + >PSTR "E" + >PSTR "H" + >PSTR "L" + >PSTR "BC" + >PSTR "DE" + >PSTR "SP" + >PSTR "I" + >PSTR "R" + >PSTR "AF" + .HS 00 +T.OPCODES .EQ * + .DA #E.ADC-* + >PSTR "ADC" + >AM 0,"8E" + >AM 1,"DD8Ea" + >AM 2,"FD8Ea" + >AM 3,"8F" + >AM 4,"CEa" + >AM 5,"88" + >AM 6,"89" + >AM 7,"8A" + >AM 8,"8B" + >AM 9,"8C" + >AM 10,"8D" + >AM 11,"ED4A" + >AM 12,"ED5A" + >AM 13,"ED6A" + >AM 14,"ED7A" +E.ADC .HS 00 + .DA #E.ADD-* + >PSTR "ADD" + >AM 0,"86" + >AM 1,"DD86a" + >AM 2,"FD86a" + >AM 3,"87" + >AM 4,"C6a" + >AM 5,"80" + >AM 6,"81" + >AM 7,"82" + >AM 8,"83" + >AM 9,"84" + >AM 10,"85" + >AM 11,"09" + >AM 12,"19" + >AM 13,"29" + >AM 14,"39" + >AM 15,"DD09" + >AM 16,"DD19" + >AM 17,"DD29" + >AM 18,"DD39" + >AM 19,"FD09" + >AM 20,"FD19" + >AM 21,"FD29" + >AM 22,"FD39" +E.ADD .HS 00 + .DA #E.AND-* + >PSTR "AND" + >AM 23,"A6" + >AM 24,"DDA6a" + >AM 25,"FDA6a" + >AM 26,"A7" + >AM 27,"E6a" + >AM 28,"A0" + >AM 29,"A1" + >AM 30,"A2" + >AM 31,"A3" + >AM 32,"A4" + >AM 33,"A5" +E.AND .HS 00 + .DA #E.BIT0-* + >PSTR "BIT0" + >AM 23,"CB46" + >AM 24,"DDCBa46" + >AM 25,"FDCBa46" + >AM 26,"CB47" + >AM 28,"CB40" + >AM 29,"CB41" + >AM 30,"CB42" + >AM 31,"CB43" + >AM 32,"CB44" + >AM 33,"CB45" +E.BIT0 .HS 00 + .DA #E.BIT1-* + >PSTR "BIT1" + >AM 23,"CB4E" + >AM 24,"DDCBa4E" + >AM 25,"FDCBa4E" + >AM 26,"CB4F" + >AM 28,"CB48" + >AM 29,"CB49" + >AM 30,"CB4A" + >AM 31,"CB4B" + >AM 32,"CB4C" + >AM 33,"CB4D" +E.BIT1 .HS 00 + .DA #E.BIT2-* + >PSTR "BIT2" + >AM 23,"CB56" + >AM 24,"DDCBa56" + >AM 25,"FDCBa56" + >AM 26,"CB57" + >AM 28,"CB50" + >AM 29,"CB51" + >AM 30,"CB52" + >AM 31,"CB53" + >AM 32,"CB54" + >AM 33,"CB55" +E.BIT2 .HS 00 + .DA #E.BIT3-* + >PSTR "BIT3" + >AM 23,"CB5E" + >AM 24,"DDCBa5E" + >AM 25,"FDCBa5E" + >AM 26,"CB5F" + >AM 28,"CB58" + >AM 29,"CB59" + >AM 30,"CB5A" + >AM 31,"CB5B" + >AM 32,"CB5C" + >AM 33,"CB5D" +E.BIT3 .HS 00 + .DA #E.BIT4-* + >PSTR "BIT4" + >AM 23,"CB66" + >AM 24,"DDCBa66" + >AM 25,"FDCBa66" + >AM 26,"CB67" + >AM 28,"CB60" + >AM 29,"CB61" + >AM 30,"CB62" + >AM 31,"CB63" + >AM 32,"CB64" + >AM 33,"CB65" +E.BIT4 .HS 00 + .DA #E.BIT5-* + >PSTR "BIT5" + >AM 23,"CB6E" + >AM 24,"DDCBa6E" + >AM 25,"FDCBa6E" + >AM 26,"CB6F" + >AM 28,"CB68" + >AM 29,"CB69" + >AM 30,"CB6A" + >AM 31,"CB6B" + >AM 32,"CB6C" + >AM 33,"CB6D" +E.BIT5 .HS 00 + .DA #E.BIT6-* + >PSTR "BIT6" + >AM 23,"CB76" + >AM 24,"DDCBa76" + >AM 25,"FDCBa76" + >AM 26,"CB77" + >AM 28,"CB70" + >AM 29,"CB71" + >AM 30,"CB72" + >AM 31,"CB73" + >AM 32,"CB74" + >AM 33,"CB75" +E.BIT6 .HS 00 + .DA #E.BIT7-* + >PSTR "BIT7" + >AM 23,"CB7E" + >AM 24,"DDCBa7E" + >AM 25,"FDCBa7E" + >AM 26,"CB7F" + >AM 28,"CB78" + >AM 29,"CB79" + >AM 30,"CB7A" + >AM 31,"CB7B" + >AM 32,"CB7C" + >AM 33,"CB7D" +E.BIT7 .HS 00 + .DA #E.CALL-* + >PSTR "CALL" + >AM 34,"CDaa" +E.CALL .HS 00 + .DA #E.CALLC-* + >PSTR "CALLC" + >AM 34,"DCaa" +E.CALLC .HS 00 + .DA #E.CALLM-* + >PSTR "CALLM" + >AM 34,"FCaa" +E.CALLM .HS 00 + .DA #E.CALLNC-* + >PSTR "CALLNC" + >AM 34,"D4aa" +E.CALLNC .HS 00 + .DA #E.CALLNZ-* + >PSTR "CALLNZ" + >AM 34,"C4aa" +E.CALLNZ .HS 00 + .DA #E.CALLP-* + >PSTR "CALLP" + >AM 34,"F4aa" +E.CALLP .HS 00 + .DA #E.CALLPE-* + >PSTR "CALLPE" + >AM 34,"ECaa" +E.CALLPE .HS 00 + .DA #E.CALLPO-* + >PSTR "CALLPO" + >AM 34,"E4aa" +E.CALLPO .HS 00 + .DA #E.CALLZ-* + >PSTR "CALLZ" + >AM 34,"CCaa" +E.CALLZ .HS 00 + .DA #E.CCF-* + >PSTR "CCF" + >AM 255,"3F" +E.CCF .HS 00 + .DA #E.CP-* + >PSTR "CP" + >AM 23,"BE" + >AM 24,"DDBEa" + >AM 25,"FDBEa" + >AM 26,"BF" + >AM 27,"FEa" + >AM 28,"B8" + >AM 29,"B9" + >AM 30,"BA" + >AM 31,"BB" + >AM 32,"BC" + >AM 33,"BD" +E.CP .HS 00 + .DA #E.CPD-* + >PSTR "CPD" + >AM 255,"EDA9" +E.CPD .HS 00 + .DA #E.CPDR-* + >PSTR "CPDR" + >AM 255,"EDB9" +E.CPDR .HS 00 + .DA #E.CPI-* + >PSTR "CPI" + >AM 255,"EDA1" +E.CPI .HS 00 + .DA #E.CPIR-* + >PSTR "CPIR" + >AM 255,"EDB1" +E.CPIR .HS 00 + .DA #E.CPL-* + >PSTR "CPL" + >AM 255,"2F" +E.CPL .HS 00 + .DA #E.DAA-* + >PSTR "DAA" + >AM 255,"27" +E.DAA .HS 00 + .DA #E.DEC-* + >PSTR "DEC" + >AM 23,"35" + >AM 24,"DD35a" + >AM 25,"FD35a" + >AM 26,"3D" + >AM 28,"05" + >AM 35,"0B" + >AM 29,"0D" + >AM 30,"15" + >AM 36,"1B" + >AM 31,"1D" + >AM 32,"25" + >AM 37,"2B" + >AM 38,"DD2B" + >AM 39,"FD2B" + >AM 33,"2D" + >AM 40,"3B" +E.DEC .HS 00 + .DA #E.DI-* + >PSTR "DI" + >AM 255,"F3" +E.DI .HS 00 + .DA #E.DJNZ-* + >PSTR "DJNZ" + >AM 41,"10r" +E.DJNZ .HS 00 + .DA #E.EI-* + >PSTR "EI" + >AM 255,"FB" +E.EI .HS 00 + .DA #E.EX-* + >PSTR "EX" + >AM 42,"E3" + >AM 43,"DDE3" + >AM 44,"FDE3" + >AM 45,"EB" + >AM 255,"08" +E.EX .HS 00 + .DA #E.EXX-* + >PSTR "EXX" + >AM 255,"D9" +E.EXX .HS 00 + .DA #E.HLT-* + >PSTR "HLT" + >AM 255,"76" +E.HLT .HS 00 + .DA #E.IM0-* + >PSTR "IM0" + >AM 255,"ED46" +E.IM0 .HS 00 + .DA #E.IM1-* + >PSTR "IM1" + >AM 255,"ED56" +E.IM1 .HS 00 + .DA #E.IM2-* + >PSTR "IM2" + >AM 255,"ED5E" +E.IM2 .HS 00 + .DA #E.IN-* + >PSTR "IN" + >AM 46,"DBa" + >AM 47,"ED78" + >AM 48,"ED40" + >AM 49,"ED48" + >AM 50,"ED50" + >AM 51,"ED58" + >AM 52,"ED60" + >AM 53,"ED68" +E.IN .HS 00 + .DA #E.INC-* + >PSTR "INC" + >AM 23,"34" + >AM 24,"DD34a" + >AM 25,"FD34a" + >AM 26,"3C" + >AM 28,"04" + >AM 35,"03" + >AM 29,"0C" + >AM 30,"14" + >AM 36,"13" + >AM 31,"1C" + >AM 32,"24" + >AM 37,"23" + >AM 38,"DD23" + >AM 39,"FD23" + >AM 33,"2C" + >AM 40,"33" +E.INC .HS 00 + .DA #E.IND-* + >PSTR "IND" + >AM 255,"EDAA" +E.IND .HS 00 + .DA #E.INDR-* + >PSTR "INDR" + >AM 255,"EDBA" +E.INDR .HS 00 + .DA #E.INI-* + >PSTR "INI" + >AM 255,"EDA2" +E.INI .HS 00 + .DA #E.INIR-* + >PSTR "INIR" + >AM 255,"EDB2" +E.INIR .HS 00 + .DA #E.JP-* + >PSTR "JP" + >AM 23,"E9" + >AM 54,"DDE9" + >AM 55,"FDE9" + >AM 34,"C3aa" +E.JP .HS 00 + .DA #E.JPC-* + >PSTR "JPC" + >AM 34,"DAaa" +E.JPC .HS 00 + .DA #E.JPM-* + >PSTR "JPM" + >AM 34,"FAaa" +E.JPM .HS 00 + .DA #E.JPNC-* + >PSTR "JPNC" + >AM 34,"D2aa" +E.JPNC .HS 00 + .DA #E.JPNZ-* + >PSTR "JPNZ" + >AM 34,"C2aa" +E.JPNZ .HS 00 + .DA #E.JPP-* + >PSTR "JPP" + >AM 34,"F2aa" +E.JPP .HS 00 + .DA #E.JPPE-* + >PSTR "JPPE" + >AM 34,"EAaa" +E.JPPE .HS 00 + .DA #E.JPPO-* + >PSTR "JPPO" + >AM 34,"E2aa" +E.JPPO .HS 00 + .DA #E.JPZ-* + >PSTR "JPZ" + >AM 34,"CAaa" +E.JPZ .HS 00 + .DA #E.JR-* + >PSTR "JR" + >AM 41,"18r" +E.JR .HS 00 + .DA #E.JRC-* + >PSTR "JRC" + >AM 41,"38r" +E.JRC .HS 00 + .DA #E.JRNC-* + >PSTR "JRNC" + >AM 41,"30r" +E.JRNC .HS 00 + .DA #E.JRNZ-* + >PSTR "JRNZ" + >AM 41,"20r" +E.JRNZ .HS 00 + .DA #E.JRZ-* + >PSTR "JRZ" + >AM 41,"28r" +E.JRZ .HS 00 + .DA #E.LD-* + >PSTR "LD" + >AM 56,"32aa" + >AM 57,"ED43aa" + >AM 58,"ED53aa" + >AM 59,"22aa" + >AM 59,"ED6Baa" + >AM 60,"DD22aa" + >AM 61,"DD22aa" + >AM 62,"ED73aa" + >AM 63,"02" + >AM 64,"12" + >AM 65,"77" + >AM 66,"36a" + >AM 67,"70" + >AM 68,"71" + >AM 69,"72" + >AM 70,"73" + >AM 71,"74" + >AM 72,"75" + >AM 73,"DD77a" + >AM 74,"DD36aa" + >AM 74,"DD76aa" + >AM 75,"DD70a" + >AM 76,"DD71a" + >AM 77,"DD72a" + >AM 78,"DD73a" + >AM 79,"DD74a" + >AM 80,"DD75a" + >AM 81,"FD77a" + >AM 82,"FD36aa" + >AM 82,"FD76aa" + >AM 83,"FD70a" + >AM 84,"FD71a" + >AM 85,"FD72a" + >AM 86,"FD73a" + >AM 87,"FD74a" + >AM 88,"FD75a" + >AM 89,"3Aaa" + >AM 90,"0A" + >AM 91,"1A" + >AM 0,"7E" + >AM 1,"DD7Ea" + >AM 2,"FD7Ea" + >AM 3,"7F" + >AM 4,"3Ea" + >AM 5,"78" + >AM 6,"79" + >AM 7,"7A" + >AM 8,"7B" + >AM 9,"7C" + >AM 92,"ED57" + >AM 10,"7D" + >AM 93,"ED5F" + >AM 94,"46" + >AM 95,"DD46r" + >AM 96,"FD46r" + >AM 97,"47" + >AM 98,"06a" + >AM 99,"40" + >AM 100,"41" + >AM 101,"42" + >AM 102,"43" + >AM 103,"44" + >AM 104,"45" + >AM 105,"ED4Baa" + >AM 106,"01aa" + >AM 107,"4E" + >AM 108,"DD4Er" + >AM 109,"FD4Er" + >AM 110,"4F" + >AM 111,"0Ea" + >AM 112,"48" + >AM 113,"49" + >AM 114,"4A" + >AM 115,"4B" + >AM 116,"4C" + >AM 117,"4D" + >AM 118,"56" + >AM 119,"DD56a" + >AM 120,"FD56a" + >AM 121,"57" + >AM 122,"16a" + >AM 123,"50" + >AM 124,"51" + >AM 125,"52" + >AM 126,"53" + >AM 127,"54" + >AM 128,"55" + >AM 129,"ED5Baa" + >AM 130,"11aa" + >AM 131,"5E" + >AM 132,"DD5Ea" + >AM 133,"FD5Ea" + >AM 134,"5F" + >AM 135,"1Ea" + >AM 136,"58" + >AM 137,"59" + >AM 138,"5A" + >AM 139,"5B" + >AM 140,"5C" + >AM 141,"5D" + >AM 142,"66" + >AM 143,"DD66a" + >AM 144,"FD66a" + >AM 145,"67" + >AM 146,"26a" + >AM 147,"60" + >AM 148,"61" + >AM 149,"62" + >AM 150,"63" + >AM 151,"64" + >AM 152,"65" + >AM 153,"2Aaa" + >AM 153,"ED6Baa" + >AM 154,"21aa" + >AM 155,"ED47" + >AM 156,"DD2Aaa" + >AM 157,"DD21aa" + >AM 158,"FD2Aaa" + >AM 159,"FD21aa" + >AM 160,"6E" + >AM 161,"DD6Ea" + >AM 162,"FD6Ea" + >AM 163,"6F" + >AM 164,"2Ea" + >AM 165,"68" + >AM 166,"69" + >AM 167,"6A" + >AM 168,"6B" + >AM 169,"6C" + >AM 170,"6D" + >AM 171,"ED4F" + >AM 172,"ED7Baa" + >AM 173,"31aa" + >AM 174,"F9" + >AM 175,"DDF9" + >AM 176,"FDF9" +E.LD .HS 00 + .DA #E.LDD-* + >PSTR "LDD" + >AM 255,"EDA8" +E.LDD .HS 00 + .DA #E.LDDR-* + >PSTR "LDDR" + >AM 255,"EDB8" +E.LDDR .HS 00 + .DA #E.LDI-* + >PSTR "LDI" + >AM 255,"EDA0" +E.LDI .HS 00 + .DA #E.LDIR-* + >PSTR "LDIR" + >AM 255,"EDB0" +E.LDIR .HS 00 + .DA #E.NEG-* + >PSTR "NEG" + >AM 255,"ED44" +E.NEG .HS 00 + .DA #E.NOP-* + >PSTR "NOP" + >AM 255,"00" +E.NOP .HS 00 + .DA #E.OR-* + >PSTR "OR" + >AM 23,"B6" + >AM 24,"DDB6a" + >AM 25,"FDB6a" + >AM 26,"B7" + >AM 27,"F6a" + >AM 28,"B0" + >AM 29,"B1" + >AM 30,"B2" + >AM 31,"B3" + >AM 32,"B4" + >AM 33,"B5" +E.OR .HS 00 + .DA #E.OTDR-* + >PSTR "OTDR" + >AM 255,"EDBB" +E.OTDR .HS 00 + .DA #E.OTIR-* + >PSTR "OTIR" + >AM 255,"EDB3" +E.OTIR .HS 00 + .DA #E.OUT-* + >PSTR "OUT" + >AM 177,"D3a" + >AM 178,"ED79" + >AM 179,"ED41" + >AM 180,"ED49" + >AM 181,"ED51" + >AM 182,"ED59" + >AM 183,"ED61" + >AM 184,"ED69" +E.OUT .HS 00 + .DA #E.OUTD-* + >PSTR "OUTD" + >AM 255,"EDAB" +E.OUTD .HS 00 + .DA #E.OUTI-* + >PSTR "OUTI" + >AM 255,"EDA3" +E.OUTI .HS 00 + .DA #E.POP-* + >PSTR "POP" + >AM 185,"F1" + >AM 35,"C1" + >AM 36,"D1" + >AM 37,"E1" + >AM 38,"DDE1" + >AM 39,"FDE1" +E.POP .HS 00 + .DA #E.PUSH-* + >PSTR "PUSH" + >AM 185,"F5" + >AM 35,"C5" + >AM 36,"D5" + >AM 37,"E5" + >AM 38,"DDE5" + >AM 39,"FDE5" +E.PUSH .HS 00 + .DA #E.RES0-* + >PSTR "RES0" + >AM 23,"CB86" + >AM 24,"DDCBa86" + >AM 25,"FDCBa86" + >AM 26,"CB87" + >AM 28,"CB80" + >AM 29,"CB81" + >AM 30,"CB82" + >AM 31,"CB83" + >AM 32,"CB84" + >AM 33,"CB85" +E.RES0 .HS 00 + .DA #E.RES1-* + >PSTR "RES1" + >AM 23,"CB8E" + >AM 24,"DDCBa8E" + >AM 25,"FDCBa8E" + >AM 26,"CB8F" + >AM 28,"CB88" + >AM 29,"CB89" + >AM 30,"CB8A" + >AM 31,"CB8B" + >AM 32,"CB8C" + >AM 33,"CB8D" +E.RES1 .HS 00 + .DA #E.RES2-* + >PSTR "RES2" + >AM 23,"CB96" + >AM 24,"DDCBa96" + >AM 25,"FDCBa96" + >AM 26,"CB97" + >AM 28,"CB90" + >AM 29,"CB91" + >AM 30,"CB92" + >AM 31,"CB93" + >AM 32,"CB94" + >AM 33,"CB95" +E.RES2 .HS 00 + .DA #E.RES3-* + >PSTR "RES3" + >AM 23,"CB9E" + >AM 24,"DDCBa9E" + >AM 25,"FDCBa9E" + >AM 26,"CB9F" + >AM 28,"CB98" + >AM 29,"CB99" + >AM 30,"CB9A" + >AM 31,"CB9B" + >AM 32,"CB9C" + >AM 33,"CB9D" +E.RES3 .HS 00 + .DA #E.RES4-* + >PSTR "RES4" + >AM 23,"CBA6" + >AM 24,"DDCBaA6" + >AM 25,"FDCBaA6" + >AM 26,"CBA7" + >AM 28,"CBA0" + >AM 29,"CBA1" + >AM 30,"CBA2" + >AM 31,"CBA3" + >AM 32,"CBA4" + >AM 33,"CBA5" +E.RES4 .HS 00 + .DA #E.RES5-* + >PSTR "RES5" + >AM 23,"CBAE" + >AM 24,"DDCBaAE" + >AM 25,"FDCBaAE" + >AM 26,"CBAF" + >AM 28,"CBA8" + >AM 29,"CBA9" + >AM 30,"CBAA" + >AM 31,"CBAB" + >AM 32,"CBAC" + >AM 33,"CBAD" +E.RES5 .HS 00 + .DA #E.RES6-* + >PSTR "RES6" + >AM 23,"CBB6" + >AM 24,"DDCBaB6" + >AM 25,"FDCBaB6" + >AM 26,"CBB7" + >AM 28,"CBB0" + >AM 29,"CBB1" + >AM 30,"CBB2" + >AM 31,"CBB3" + >AM 32,"CBB4" + >AM 33,"CBB5" +E.RES6 .HS 00 + .DA #E.RES7-* + >PSTR "RES7" + >AM 23,"CBBE" + >AM 24,"DDCBaBE" + >AM 25,"FDCBaBE" + >AM 26,"CBBF" + >AM 28,"CBB8" + >AM 29,"CBB9" + >AM 30,"CBBA" + >AM 31,"CBBB" + >AM 32,"CBBC" + >AM 33,"CBBD" +E.RES7 .HS 00 + .DA #E.RET-* + >PSTR "RET" + >AM 255,"C9" +E.RET .HS 00 + .DA #E.RETC-* + >PSTR "RETC" + >AM 255,"D8" +E.RETC .HS 00 + .DA #E.RETI-* + >PSTR "RETI" + >AM 255,"ED4D" +E.RETI .HS 00 + .DA #E.RETM-* + >PSTR "RETM" + >AM 255,"F8" +E.RETM .HS 00 + .DA #E.RETN-* + >PSTR "RETN" + >AM 255,"ED45" +E.RETN .HS 00 + .DA #E.RETNC-* + >PSTR "RETNC" + >AM 255,"D0" +E.RETNC .HS 00 + .DA #E.RETNZ-* + >PSTR "RETNZ" + >AM 255,"C0" +E.RETNZ .HS 00 + .DA #E.RETP-* + >PSTR "RETP" + >AM 255,"F0" +E.RETP .HS 00 + .DA #E.RETPE-* + >PSTR "RETPE" + >AM 255,"E8" +E.RETPE .HS 00 + .DA #E.RETPO-* + >PSTR "RETPO" + >AM 255,"E0" +E.RETPO .HS 00 + .DA #E.RETZ-* + >PSTR "RETZ" + >AM 255,"C8" +E.RETZ .HS 00 + .DA #E.RL-* + >PSTR "RL" + >AM 23,"CB16" + >AM 23,"CB1E" + >AM 24,"DDCBa16" + >AM 24,"DDCBa1E" + >AM 25,"FDCBa16" + >AM 25,"FDCBa1E" + >AM 26,"CB17" + >AM 26,"CB1F" + >AM 28,"CB10" + >AM 28,"CB18" + >AM 29,"CB11" + >AM 29,"CB19" + >AM 30,"CB12" + >AM 30,"CB1A" + >AM 31,"CB13" + >AM 31,"CB1B" + >AM 32,"CB14" + >AM 32,"CB1C" + >AM 33,"CB15" + >AM 33,"CB1D" +E.RL .HS 00 + .DA #E.RLA-* + >PSTR "RLA" + >AM 255,"17" +E.RLA .HS 00 + .DA #E.RLC-* + >PSTR "RLC" + >AM 23,"CB06" + >AM 24,"DDCBa06" + >AM 25,"FDCBa06" + >AM 26,"CB07" + >AM 28,"CB00" + >AM 29,"CB01" + >AM 30,"CB02" + >AM 31,"CB03" + >AM 32,"CB04" + >AM 33,"CB05" +E.RLC .HS 00 + .DA #E.RLCA-* + >PSTR "RLCA" + >AM 255,"07" +E.RLCA .HS 00 + .DA #E.RLD-* + >PSTR "RLD" + >AM 255,"ED6F" +E.RLD .HS 00 + .DA #E.RRA-* + >PSTR "RRA" + >AM 255,"1F" +E.RRA .HS 00 + .DA #E.RRC-* + >PSTR "RRC" + >AM 23,"CB0E" + >AM 24,"DDCBa0E" + >AM 25,"FDCBa0E" + >AM 26,"CB0F" + >AM 28,"CB08" + >AM 29,"CB09" + >AM 30,"CB0A" + >AM 31,"CB0B" + >AM 32,"CB0C" + >AM 33,"CB0D" +E.RRC .HS 00 + .DA #E.RRCA-* + >PSTR "RRCA" + >AM 255,"0F" +E.RRCA .HS 00 + .DA #E.RRD-* + >PSTR "RRD" + >AM 255,"ED67" +E.RRD .HS 00 + .DA #E.RST0-* + >PSTR "RST0" + >AM 255,"C7" +E.RST0 .HS 00 + .DA #E.RST10-* + >PSTR "RST10" + >AM 255,"D7" +E.RST10 .HS 00 + .DA #E.RST18-* + >PSTR "RST18" + >AM 255,"DF" +E.RST18 .HS 00 + .DA #E.RST20-* + >PSTR "RST20" + >AM 255,"E7" +E.RST20 .HS 00 + .DA #E.RST28-* + >PSTR "RST28" + >AM 255,"EF" +E.RST28 .HS 00 + .DA #E.RST30-* + >PSTR "RST30" + >AM 255,"F7" +E.RST30 .HS 00 + .DA #E.RST38-* + >PSTR "RST38" + >AM 255,"FF" +E.RST38 .HS 00 + .DA #E.RST8-* + >PSTR "RST8" + >AM 255,"CF" +E.RST8 .HS 00 + .DA #E.SBC-* + >PSTR "SBC" + >AM 23,"9E" + >AM 24,"DD9Ea" + >AM 25,"FD9Ea" + >AM 26,"9F" + >AM 27,"DEa" + >AM 28,"98" + >AM 29,"99" + >AM 30,"9A" + >AM 31,"9B" + >AM 32,"9C" + >AM 11,"ED42" + >AM 12,"ED52" + >AM 13,"ED62" + >AM 14,"ED72" + >AM 33,"9D" +E.SBC .HS 00 + .DA #E.SCF-* + >PSTR "SCF" + >AM 255,"37" +E.SCF .HS 00 + .DA #E.SET0-* + >PSTR "SET0" + >AM 23,"CBC6" + >AM 24,"DDCBaC6" + >AM 25,"FDCBaC6" + >AM 26,"CBC7" + >AM 28,"CBC0" + >AM 29,"CBC1" + >AM 30,"CBC2" + >AM 31,"CBC3" + >AM 32,"CBC4" + >AM 33,"CBC5" +E.SET0 .HS 00 + .DA #E.SET1-* + >PSTR "SET1" + >AM 23,"CBCE" + >AM 24,"DDCBaCE" + >AM 25,"FDCBaCE" + >AM 26,"CBCF" + >AM 28,"CBC8" + >AM 29,"CBC9" + >AM 30,"CBCA" + >AM 31,"CBCB" + >AM 32,"CBCC" + >AM 33,"CBCD" +E.SET1 .HS 00 + .DA #E.SET2-* + >PSTR "SET2" + >AM 23,"CBD6" + >AM 24,"DDCBaD6" + >AM 25,"FDCBaD6" + >AM 26,"CBD7" + >AM 28,"CBD0" + >AM 29,"CBD1" + >AM 30,"CBD2" + >AM 31,"CBD3" + >AM 32,"CBD4" + >AM 33,"CBD5" +E.SET2 .HS 00 + .DA #E.SET3-* + >PSTR "SET3" + >AM 23,"CBDE" + >AM 24,"DDCBaDE" + >AM 25,"FDCBaDE" + >AM 26,"CBDF" + >AM 28,"CBD8" + >AM 29,"CBD9" + >AM 30,"CBDA" + >AM 31,"CBDB" + >AM 32,"CBDC" + >AM 33,"CBDD" +E.SET3 .HS 00 + .DA #E.SET4-* + >PSTR "SET4" + >AM 23,"CBE6" + >AM 24,"DDCBaE6" + >AM 25,"FDCBaE6" + >AM 26,"CBE7" + >AM 28,"CBE0" + >AM 29,"CBE1" + >AM 30,"CBE2" + >AM 31,"CBE3" + >AM 32,"CBE4" + >AM 33,"CBE5" +E.SET4 .HS 00 + .DA #E.SET5-* + >PSTR "SET5" + >AM 23,"CBEE" + >AM 24,"DDCBaEE" + >AM 25,"FDCBaEE" + >AM 26,"CBEF" + >AM 28,"CBE8" + >AM 29,"CBE9" + >AM 30,"CBEA" + >AM 31,"CBEB" + >AM 32,"CBEC" + >AM 33,"CBED" +E.SET5 .HS 00 + .DA #E.SET6-* + >PSTR "SET6" + >AM 23,"CBF6" + >AM 24,"DDCBaF6" + >AM 25,"FDCBaF6" + >AM 26,"CBF7" + >AM 28,"CBF0" + >AM 29,"CBF1" + >AM 30,"CBF2" + >AM 31,"CBF3" + >AM 32,"CBF4" + >AM 33,"CBF5" +E.SET6 .HS 00 + .DA #E.SET7-* + >PSTR "SET7" + >AM 23,"CBFE" + >AM 24,"DDCBaFE" + >AM 25,"FDCBaFE" + >AM 26,"CBFF" + >AM 28,"CBF8" + >AM 29,"CBF9" + >AM 30,"CBFA" + >AM 31,"CBFB" + >AM 32,"CBFC" + >AM 33,"CBFD" +E.SET7 .HS 00 + .DA #E.SLA-* + >PSTR "SLA" + >AM 23,"CB26" + >AM 24,"DDCBa26" + >AM 25,"FDCBa26" + >AM 26,"CB27" + >AM 28,"CB20" + >AM 29,"CB21" + >AM 30,"CB22" + >AM 31,"CB23" + >AM 32,"CB24" + >AM 33,"CB25" +E.SLA .HS 00 + .DA #E.SRA-* + >PSTR "SRA" + >AM 23,"CB2E" + >AM 24,"DDCBa2E" + >AM 25,"FDCBa2E" + >AM 26,"CB2F" + >AM 28,"CB28" + >AM 29,"CB29" + >AM 30,"CB2A" + >AM 31,"CB2B" + >AM 32,"CB2C" + >AM 33,"CB2D" +E.SRA .HS 00 + .DA #E.SRL-* + >PSTR "SRL" + >AM 23,"CB3E" + >AM 24,"DDCBa3E" + >AM 25,"FDCBa3E" + >AM 26,"CB3F" + >AM 28,"CB38" + >AM 29,"CB39" + >AM 30,"CB3A" + >AM 31,"CB3B" + >AM 32,"CB3C" + >AM 33,"CB3D" +E.SRL .HS 00 + .DA #E.SUB-* + >PSTR "SUB" + >AM 23,"96" + >AM 24,"DD96a" + >AM 25,"FD96a" + >AM 26,"97" + >AM 27,"D6a" + >AM 28,"90" + >AM 29,"91" + >AM 30,"92" + >AM 31,"93" + >AM 32,"94" + >AM 33,"95" +E.SUB .HS 00 + .DA #E.XOR-* + >PSTR "XOR" + >AM 23,"AE" + >AM 24,"DDAEa" + >AM 25,"FDAEa" + >AM 26,"AF" + >AM 27,"EEa" + >AM 28,"A8" + >AM 29,"A9" + >AM 30,"AA" + >AM 31,"AB" + >AM 32,"AC" + >AM 33,"AD" +E.XOR .HS 00 + .HS 00 MAN SAVE BIN/ASM.T.Z80.S ASM - \ No newline at end of file diff --git a/BIN/ASM.T.xlsm b/BIN/ASM.T.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..550cf1b744a2cdb004dc92915b483e1d0e86c38c GIT binary patch literal 51208 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 literal 0 HcmV?d00001