Fixed 16-bit relative branching in 6809

This commit is contained in:
Rob McMullen 2017-01-30 10:56:15 -08:00
parent ecd866e380
commit 9b2f3caffd
1 changed files with 20 additions and 20 deletions

40
6809.py
View File

@ -25,7 +25,7 @@ addressModeTable = {
"indexed" : "${0:02X},x",
"extended" : "${0:02X}{1:02X}",
"rel8" : "${0:04X}",
"rel16" : "${0:02X}{1:02X}",
"rel16" : "${0:04X}",
"r1,r2" : "${0:02X}", # Not fully implemented
# Extended Indirect
# Relative Indirect
@ -290,43 +290,43 @@ opcodeTable = {
0x6d : [ 2, "tst", "indexed" ],
0x7d : [ 3, "tst", "extended" ],
0x24 : [ 2, "bcc", "rel8", pcr ],
0x1024 : [ 2, "lbcc", "rel16" ],
0x1024 : [ 4, "lbcc", "rel16", pcr ],
0x25 : [ 2, "bcs", "rel8", pcr ],
0x1025 : [ 2, "lbcs", "rel16" ],
0x1025 : [ 4, "lbcs", "rel16", pcr ],
0x27 : [ 2, "beq", "rel8", pcr ],
0x1027 : [ 2, "lbeq", "rel16" ],
0x1027 : [ 4, "lbeq", "rel16", pcr ],
0x2c : [ 2, "bge", "rel8", pcr ],
0x102c : [ 2, "lbge", "rel16" ],
0x102c : [ 4, "lbge", "rel16", pcr ],
0x2e : [ 2, "bgt", "rel8", pcr ],
0x102e : [ 2, "lbgt", "rel16" ],
0x102e : [ 4, "lbgt", "rel16", pcr ],
0x22 : [ 2, "bhi", "rel8", pcr ],
0x1022 : [ 2, "lbhi", "rel16" ],
0x1022 : [ 4, "lbhi", "rel16", pcr ],
0x24 : [ 2, "bhs", "rel8", pcr ],
0x1024 : [ 2, "lbhs", "rel16" ],
0x1024 : [ 4, "lbhs", "rel16", pcr ],
0x2f : [ 2, "ble", "rel8", pcr ],
0x102f : [ 2, "lble", "rel16" ],
0x102f : [ 4, "lble", "rel16", pcr ],
0x25 : [ 2, "blo", "rel8", pcr ],
0x1025 : [ 2, "lblo", "rel16" ],
0x1025 : [ 4, "lblo", "rel16", pcr ],
0x23 : [ 2, "bls", "rel8", pcr ],
0x1023 : [ 2, "lbls", "rel16" ],
0x1023 : [ 4, "lbls", "rel16", pcr ],
0x2d : [ 2, "blt", "rel8", pcr ],
0x102d : [ 2, "lblt", "rel16" ],
0x102d : [ 4, "lblt", "rel16", pcr ],
0x2b : [ 2, "bmi", "rel8", pcr ],
0x102b : [ 2, "lbmi", "rel16" ],
0x102b : [ 4, "lbmi", "rel16", pcr ],
0x26 : [ 2, "bne", "rel8", pcr ],
0x1026 : [ 4, "lbne", "rel16" ],
0x1026 : [ 4, "lbne", "rel16", pcr ],
0x2a : [ 2, "bpl", "rel8", pcr ],
0x102a : [ 4, "lbpl", "rel16" ],
0x102a : [ 4, "lbpl", "rel16", pcr ],
0x20 : [ 2, "bra", "rel8", pcr ],
0x16 : [ 3, "lbra", "rel16" ],
0x16 : [ 3, "lbra", "rel16", pcr ],
0x21 : [ 2, "brn", "rel8", pcr ],
0x1021 : [ 4, "lbrn", "rel16" ],
0x1021 : [ 4, "lbrn", "rel16", pcr ],
0x8d : [ 2, "bsr", "rel8", pcr ],
0x17 : [ 3, "lbsr", "rel16" ],
0x17 : [ 3, "lbsr", "rel16", pcr ],
0x28 : [ 2, "bvc", "rel8", pcr ],
0x1028 : [ 4, "lbvc", "rel16" ],
0x1028 : [ 4, "lbvc", "rel16", pcr ],
0x29 : [ 2, "bvs", "rel8", pcr ],
0x1029 : [ 4, "lbvs", "rel16" ],
0x1029 : [ 4, "lbvs", "rel16", pcr ],
}