mirror of
https://github.com/jefftranter/udis.git
synced 2024-05-31 17:41:28 +00:00
Implement more of Z80.
This commit is contained in:
parent
aa6fc9de2d
commit
b1503028d2
275
z80.py
275
z80.py
|
@ -106,6 +106,7 @@ addressModeTable = {
|
|||
"a,indnn" : "a,(${1:02X}{0:02X})",
|
||||
"a,indn" : "a,(${0:02X})",
|
||||
"indnn,a" : "(${1:02X}{0:02X}),a",
|
||||
"indaa,bc" : "(${1:02X}{0:02X}),bc",
|
||||
"hl,indnn" : "hl,(${1:02X}{0:02X})",
|
||||
"indbc,a" : "(bc),a",
|
||||
"indde,a" : "(de),a",
|
||||
|
@ -147,6 +148,7 @@ addressModeTable = {
|
|||
"c,n" : "c,${0:04X}",
|
||||
"nn" : "${1:02X}{0:02X}",
|
||||
"b,indc" : "b,(c)",
|
||||
"indc,b" : "(c),b",
|
||||
"00" : "$00",
|
||||
"08" : "$08",
|
||||
"10" : "$10",
|
||||
|
@ -219,6 +221,10 @@ addressModeTable = {
|
|||
"7,h" : "7,h",
|
||||
"7,l" : "7,l",
|
||||
"7,indhl" : "7,(hl)",
|
||||
"n,(ix+d)" : "n,(ix+${0:02X})",
|
||||
"n,(iy+d)" : "n,(iy+${0:02X})",
|
||||
"(iy+d)" : "(iy+${0:02X})",
|
||||
"(ix+d)" : "(ix+${0:02X})",
|
||||
}
|
||||
|
||||
|
||||
|
@ -630,146 +636,161 @@ opcodeTable = {
|
|||
0xcb7f : [ 2, "bit", "7,a" ],
|
||||
|
||||
0xcb80 : [ 2, "res", "0,b" ],
|
||||
0xcb81 : [ 2, "res", "0,b" ],
|
||||
0xcb82 : [ 2, "res", "0,b" ],
|
||||
0xcb83 : [ 2, "res", "0,b" ],
|
||||
0xcb84 : [ 2, "res", "0,b" ],
|
||||
0xcb85 : [ 2, "res", "0,b" ],
|
||||
0xcb86 : [ 2, "res", "0,b" ],
|
||||
0xcb87 : [ 2, "res", "0,b" ],
|
||||
0xcb88 : [ 2, "res", "0,b" ],
|
||||
0xcb89 : [ 2, "res", "0,b" ],
|
||||
0xcb8a : [ 2, "res", "0,b" ],
|
||||
0xcb8b : [ 2, "res", "0,b" ],
|
||||
0xcb8c : [ 2, "res", "0,b" ],
|
||||
0xcb8d : [ 2, "res", "0,b" ],
|
||||
0xcb8e : [ 2, "res", "0,b" ],
|
||||
0xcb8f : [ 2, "res", "0,b" ],
|
||||
0xcb81 : [ 2, "res", "0,c" ],
|
||||
0xcb82 : [ 2, "res", "0,d" ],
|
||||
0xcb83 : [ 2, "res", "0,e" ],
|
||||
0xcb84 : [ 2, "res", "0,h" ],
|
||||
0xcb85 : [ 2, "res", "0,l" ],
|
||||
0xcb86 : [ 2, "res", "0,indhl" ],
|
||||
0xcb87 : [ 2, "res", "0,a" ],
|
||||
0xcb88 : [ 2, "res", "1,b" ],
|
||||
0xcb89 : [ 2, "res", "1,c" ],
|
||||
0xcb8a : [ 2, "res", "1,d" ],
|
||||
0xcb8b : [ 2, "res", "1,e" ],
|
||||
0xcb8c : [ 2, "res", "1,h" ],
|
||||
0xcb8d : [ 2, "res", "1,l" ],
|
||||
0xcb8e : [ 2, "res", "1,indhl" ],
|
||||
0xcb8f : [ 2, "res", "1,a" ],
|
||||
|
||||
0xcb90 : [ 2, "res", "0,b" ],
|
||||
0xcb91 : [ 2, "res", "0,b" ],
|
||||
0xcb92 : [ 2, "res", "0,b" ],
|
||||
0xcb93 : [ 2, "res", "0,b" ],
|
||||
0xcb94 : [ 2, "res", "0,b" ],
|
||||
0xcb95 : [ 2, "res", "0,b" ],
|
||||
0xcb96 : [ 2, "res", "0,b" ],
|
||||
0xcb97 : [ 2, "res", "0,b" ],
|
||||
0xcb98 : [ 2, "res", "0,b" ],
|
||||
0xcb99 : [ 2, "res", "0,b" ],
|
||||
0xcb9a : [ 2, "res", "0,b" ],
|
||||
0xcb9b : [ 2, "res", "0,b" ],
|
||||
0xcb9c : [ 2, "res", "0,b" ],
|
||||
0xcb9d : [ 2, "res", "0,b" ],
|
||||
0xcb9e : [ 2, "res", "0,b" ],
|
||||
0xcb9f : [ 2, "res", "0,b" ],
|
||||
0xcb90 : [ 2, "res", "2,b" ],
|
||||
0xcb91 : [ 2, "res", "2,c" ],
|
||||
0xcb92 : [ 2, "res", "2,d" ],
|
||||
0xcb93 : [ 2, "res", "2,e" ],
|
||||
0xcb94 : [ 2, "res", "2,h" ],
|
||||
0xcb95 : [ 2, "res", "2,l" ],
|
||||
0xcb96 : [ 2, "res", "2,indhl" ],
|
||||
0xcb97 : [ 2, "res", "2,a" ],
|
||||
0xcb98 : [ 2, "res", "3,b" ],
|
||||
0xcb99 : [ 2, "res", "3,c" ],
|
||||
0xcb9a : [ 2, "res", "3,d" ],
|
||||
0xcb9b : [ 2, "res", "3,e" ],
|
||||
0xcb9c : [ 2, "res", "3,h" ],
|
||||
0xcb9d : [ 2, "res", "3,l" ],
|
||||
0xcb9e : [ 2, "res", "3,indhl" ],
|
||||
0xcb9f : [ 2, "res", "3,a" ],
|
||||
|
||||
0xcba0 : [ 2, "res", "0,b" ],
|
||||
0xcba1 : [ 2, "res", "0,b" ],
|
||||
0xcba2 : [ 2, "res", "0,b" ],
|
||||
0xcba3 : [ 2, "res", "0,b" ],
|
||||
0xcba4 : [ 2, "res", "0,b" ],
|
||||
0xcba5 : [ 2, "res", "0,b" ],
|
||||
0xcba6 : [ 2, "res", "0,b" ],
|
||||
0xcba7 : [ 2, "res", "0,b" ],
|
||||
0xcba8 : [ 2, "res", "0,b" ],
|
||||
0xcba9 : [ 2, "res", "0,b" ],
|
||||
0xcbaa : [ 2, "res", "0,b" ],
|
||||
0xcbab : [ 2, "res", "0,b" ],
|
||||
0xcbac : [ 2, "res", "0,b" ],
|
||||
0xcbad : [ 2, "res", "0,b" ],
|
||||
0xcbae : [ 2, "res", "0,b" ],
|
||||
0xcbaf : [ 2, "res", "0,b" ],
|
||||
0xcba0 : [ 2, "res", "4,b" ],
|
||||
0xcba1 : [ 2, "res", "4,c" ],
|
||||
0xcba2 : [ 2, "res", "4,d" ],
|
||||
0xcba3 : [ 2, "res", "4,e" ],
|
||||
0xcba4 : [ 2, "res", "4,h" ],
|
||||
0xcba5 : [ 2, "res", "4,l" ],
|
||||
0xcba6 : [ 2, "res", "4,indhl" ],
|
||||
0xcba7 : [ 2, "res", "4,a" ],
|
||||
0xcba8 : [ 2, "res", "5,b" ],
|
||||
0xcba9 : [ 2, "res", "5,c" ],
|
||||
0xcbaa : [ 2, "res", "5,d" ],
|
||||
0xcbab : [ 2, "res", "5,e" ],
|
||||
0xcbac : [ 2, "res", "5,h" ],
|
||||
0xcbad : [ 2, "res", "5,l" ],
|
||||
0xcbae : [ 2, "res", "5,indhl" ],
|
||||
0xcbaf : [ 2, "res", "a,b" ],
|
||||
|
||||
0xcbb0 : [ 2, "res", "0,b" ],
|
||||
0xcbb1 : [ 2, "res", "0,b" ],
|
||||
0xcbb2 : [ 2, "res", "0,b" ],
|
||||
0xcbb3 : [ 2, "res", "0,b" ],
|
||||
0xcbb4 : [ 2, "res", "0,b" ],
|
||||
0xcbb5 : [ 2, "res", "0,b" ],
|
||||
0xcbb6 : [ 2, "res", "0,b" ],
|
||||
0xcbb7 : [ 2, "res", "0,b" ],
|
||||
0xcbb8 : [ 2, "res", "0,b" ],
|
||||
0xcbb9 : [ 2, "res", "0,b" ],
|
||||
0xcbba : [ 2, "res", "0,b" ],
|
||||
0xcbbb : [ 2, "res", "0,b" ],
|
||||
0xcbbc : [ 2, "res", "0,b" ],
|
||||
0xcbbd : [ 2, "res", "0,b" ],
|
||||
0xcbbe : [ 2, "res", "0,b" ],
|
||||
0xcbbf : [ 2, "res", "0,b" ],
|
||||
0xcbb0 : [ 2, "res", "6,b" ],
|
||||
0xcbb1 : [ 2, "res", "6,c" ],
|
||||
0xcbb2 : [ 2, "res", "6,d" ],
|
||||
0xcbb3 : [ 2, "res", "6,e" ],
|
||||
0xcbb4 : [ 2, "res", "6,h" ],
|
||||
0xcbb5 : [ 2, "res", "6,l" ],
|
||||
0xcbb6 : [ 2, "res", "6,indhl" ],
|
||||
0xcbb7 : [ 2, "res", "6,a" ],
|
||||
0xcbb8 : [ 2, "res", "7,b" ],
|
||||
0xcbb9 : [ 2, "res", "7,c" ],
|
||||
0xcbba : [ 2, "res", "7,d" ],
|
||||
0xcbbb : [ 2, "res", "7,e" ],
|
||||
0xcbbc : [ 2, "res", "7,h" ],
|
||||
0xcbbd : [ 2, "res", "7,l" ],
|
||||
0xcbbe : [ 2, "res", "7,indhl" ],
|
||||
0xcbbf : [ 2, "res", "7,a" ],
|
||||
|
||||
0xcbc0 : [ 2, "res", "0,b" ],
|
||||
0xcbc1 : [ 2, "res", "0,b" ],
|
||||
0xcbc2 : [ 2, "res", "0,b" ],
|
||||
0xcbc3 : [ 2, "res", "0,b" ],
|
||||
0xcbc4 : [ 2, "res", "0,b" ],
|
||||
0xcbc5 : [ 2, "res", "0,b" ],
|
||||
0xcbc6 : [ 2, "res", "0,b" ],
|
||||
0xcbc7 : [ 2, "res", "0,b" ],
|
||||
0xcbc8 : [ 2, "res", "0,b" ],
|
||||
0xcbc9 : [ 2, "res", "0,b" ],
|
||||
0xcbca : [ 2, "res", "0,b" ],
|
||||
0xcbcb : [ 2, "res", "0,b" ],
|
||||
0xcbcc : [ 2, "res", "0,b" ],
|
||||
0xcbcd : [ 2, "res", "0,b" ],
|
||||
0xcbce : [ 2, "res", "0,b" ],
|
||||
0xcbcf : [ 2, "res", "0,b" ],
|
||||
0xcbc0 : [ 2, "set", "0,b" ],
|
||||
0xcbc1 : [ 2, "set", "0,c" ],
|
||||
0xcbc2 : [ 2, "set", "0,d" ],
|
||||
0xcbc3 : [ 2, "set", "0,e" ],
|
||||
0xcbc4 : [ 2, "set", "0,h" ],
|
||||
0xcbc5 : [ 2, "set", "0,l" ],
|
||||
0xcbc6 : [ 2, "set", "0,indhl" ],
|
||||
0xcbc7 : [ 2, "set", "0,a" ],
|
||||
0xcbc8 : [ 2, "set", "1,b" ],
|
||||
0xcbc9 : [ 2, "set", "1,c" ],
|
||||
0xcbca : [ 2, "set", "1,d" ],
|
||||
0xcbcb : [ 2, "set", "1,e" ],
|
||||
0xcbcc : [ 2, "set", "1,h" ],
|
||||
0xcbcd : [ 2, "set", "1,l" ],
|
||||
0xcbce : [ 2, "set", "1,indhl" ],
|
||||
0xcbcf : [ 2, "set", "1,a" ],
|
||||
|
||||
0xcbd0 : [ 2, "res", "0,b" ],
|
||||
0xcbd1 : [ 2, "res", "0,b" ],
|
||||
0xcbd2 : [ 2, "res", "0,b" ],
|
||||
0xcbd3 : [ 2, "res", "0,b" ],
|
||||
0xcbd4 : [ 2, "res", "0,b" ],
|
||||
0xcbd5 : [ 2, "res", "0,b" ],
|
||||
0xcbd6 : [ 2, "res", "0,b" ],
|
||||
0xcbd7 : [ 2, "res", "0,b" ],
|
||||
0xcbd8 : [ 2, "res", "0,b" ],
|
||||
0xcbd9 : [ 2, "res", "0,b" ],
|
||||
0xcbda : [ 2, "res", "0,b" ],
|
||||
0xcbdb : [ 2, "res", "0,b" ],
|
||||
0xcbdc : [ 2, "res", "0,b" ],
|
||||
0xcbdd : [ 2, "res", "0,b" ],
|
||||
0xcbde : [ 2, "res", "0,b" ],
|
||||
0xcbdf : [ 2, "res", "0,b" ],
|
||||
0xcbd0 : [ 2, "set", "2,b" ],
|
||||
0xcbd1 : [ 2, "set", "2,c" ],
|
||||
0xcbd2 : [ 2, "set", "2,d" ],
|
||||
0xcbd3 : [ 2, "set", "2,e" ],
|
||||
0xcbd4 : [ 2, "set", "2,h" ],
|
||||
0xcbd5 : [ 2, "set", "2,l" ],
|
||||
0xcbd6 : [ 2, "set", "2,indhl" ],
|
||||
0xcbd7 : [ 2, "set", "2,a" ],
|
||||
0xcbd8 : [ 2, "set", "3,b" ],
|
||||
0xcbd9 : [ 2, "set", "3,c" ],
|
||||
0xcbda : [ 2, "set", "3,d" ],
|
||||
0xcbdb : [ 2, "set", "3,e" ],
|
||||
0xcbdc : [ 2, "set", "3,h" ],
|
||||
0xcbdd : [ 2, "set", "3,l" ],
|
||||
0xcbde : [ 2, "set", "3,indhl" ],
|
||||
0xcbdf : [ 2, "set", "3,a" ],
|
||||
|
||||
0xcbe0 : [ 2, "res", "0,b" ],
|
||||
0xcbe1 : [ 2, "res", "0,b" ],
|
||||
0xcbe2 : [ 2, "res", "0,b" ],
|
||||
0xcbe3 : [ 2, "res", "0,b" ],
|
||||
0xcbe4 : [ 2, "res", "0,b" ],
|
||||
0xcbe5 : [ 2, "res", "0,b" ],
|
||||
0xcbe6 : [ 2, "res", "0,b" ],
|
||||
0xcbe7 : [ 2, "res", "0,b" ],
|
||||
0xcbe8 : [ 2, "res", "0,b" ],
|
||||
0xcbe9 : [ 2, "res", "0,b" ],
|
||||
0xcbea : [ 2, "res", "0,b" ],
|
||||
0xcbeb : [ 2, "res", "0,b" ],
|
||||
0xcbec : [ 2, "res", "0,b" ],
|
||||
0xcbed : [ 2, "res", "0,b" ],
|
||||
0xcbee : [ 2, "res", "0,b" ],
|
||||
0xcbef : [ 2, "res", "0,b" ],
|
||||
0xcbe0 : [ 2, "set", "4,b" ],
|
||||
0xcbe1 : [ 2, "set", "4,c" ],
|
||||
0xcbe2 : [ 2, "set", "4,d" ],
|
||||
0xcbe3 : [ 2, "set", "4,e" ],
|
||||
0xcbe4 : [ 2, "set", "4,h" ],
|
||||
0xcbe5 : [ 2, "set", "4,l" ],
|
||||
0xcbe6 : [ 2, "set", "4,indhl" ],
|
||||
0xcbe7 : [ 2, "set", "4,a" ],
|
||||
0xcbe8 : [ 2, "set", "5,b" ],
|
||||
0xcbe9 : [ 2, "set", "5,c" ],
|
||||
0xcbea : [ 2, "set", "5,d" ],
|
||||
0xcbeb : [ 2, "set", "5,e" ],
|
||||
0xcbec : [ 2, "set", "5,h" ],
|
||||
0xcbed : [ 2, "set", "5,l" ],
|
||||
0xcbee : [ 2, "set", "5,indhl" ],
|
||||
0xcbef : [ 2, "set", "5,a" ],
|
||||
|
||||
0xcbf0 : [ 2, "res", "0,b" ],
|
||||
0xcbf1 : [ 2, "res", "0,b" ],
|
||||
0xcbf2 : [ 2, "res", "0,b" ],
|
||||
0xcbf3 : [ 2, "res", "0,b" ],
|
||||
0xcbf4 : [ 2, "res", "0,b" ],
|
||||
0xcbf5 : [ 2, "res", "0,b" ],
|
||||
0xcbf6 : [ 2, "res", "0,b" ],
|
||||
0xcbf7 : [ 2, "res", "0,b" ],
|
||||
0xcbf8 : [ 2, "res", "0,b" ],
|
||||
0xcbf9 : [ 2, "res", "0,b" ],
|
||||
0xcbfa : [ 2, "res", "0,b" ],
|
||||
0xcbfb : [ 2, "res", "0,b" ],
|
||||
0xcbfc : [ 2, "res", "0,b" ],
|
||||
0xcbfd : [ 2, "res", "0,b" ],
|
||||
0xcbfe : [ 2, "res", "0,b" ],
|
||||
0xcbf0 : [ 2, "set", "6,b" ],
|
||||
0xcbf1 : [ 2, "set", "6,c" ],
|
||||
0xcbf2 : [ 2, "set", "6,d" ],
|
||||
0xcbf3 : [ 2, "set", "6,e" ],
|
||||
0xcbf4 : [ 2, "set", "6,h" ],
|
||||
0xcbf5 : [ 2, "set", "6,l" ],
|
||||
0xcbf6 : [ 2, "set", "6,indhl" ],
|
||||
0xcbf7 : [ 2, "set", "6,a" ],
|
||||
0xcbf8 : [ 2, "set", "7,b" ],
|
||||
0xcbf9 : [ 2, "set", "7,c" ],
|
||||
0xcbfa : [ 2, "set", "7,d" ],
|
||||
0xcbfb : [ 2, "set", "7,e" ],
|
||||
0xcbfc : [ 2, "set", "7,h" ],
|
||||
0xcbfd : [ 2, "set", "7,l" ],
|
||||
0xcbfe : [ 2, "set", "7,indhl" ],
|
||||
0xcbff : [ 2, "set", "7,a" ],
|
||||
|
||||
0xdd09 : [ 2, "add", "ix,bc" ],
|
||||
|
||||
0xdd8e : [3, "adc", "(ix+d)" ],
|
||||
|
||||
0xddcb : [ 4, "bit", "n,(ix+d)" ],
|
||||
|
||||
0xed40 : [ 2, "in", "b,indc" ],
|
||||
0xed41 : [ 2, "out", "indc,b" ],
|
||||
0xed42 : [ 2, "sbc", "hl,bc" ],
|
||||
0xed43 : [ 4, "ld", "indaa,bc" ],
|
||||
0xed44 : [ 2, "neg", "implied" ],
|
||||
0xed45 : [ 2, "retn", "implied" ],
|
||||
#...
|
||||
0xedbb : [ 2, "otdr", "implied" ],
|
||||
|
||||
0xfd09 : [ 2, "add", "iy,bc" ],
|
||||
|
||||
0xed40 : [ 2, "in", "b,indc" ],
|
||||
0xfd8e : [3, "adc", "(iy+d)" ],
|
||||
|
||||
0xfdcb : [ 4, "bit", "n,(iy+d)" ],
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user