From 9b2f3caffdc5a1c293414f12dcf935b0c1621a7a Mon Sep 17 00:00:00 2001 From: Rob McMullen Date: Mon, 30 Jan 2017 10:56:15 -0800 Subject: [PATCH] Fixed 16-bit relative branching in 6809 --- 6809.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/6809.py b/6809.py index 8fe0cba..e4ffb93 100644 --- a/6809.py +++ b/6809.py @@ -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 ], }