aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstatin <[email protected]>2024-09-13 21:19:32 +0900
committerAstatin <astatin@redacted>2024-09-13 21:19:32 +0900
commit7f41367ce01fbecaec6eb5f173152a59fe55e669 (patch)
tree8906e4806bbbbc0cf987eec3b4c2f337325fecf3
parent17a9053286ac251546dca6cf475d0e9843cf9cc5 (diff)
Fix `C` condition on JP and CALL
-rwxr-xr-xgbasm7
1 files changed, 5 insertions, 2 deletions
diff --git a/gbasm b/gbasm
index 2b01a3e..78b7715 100755
--- a/gbasm
+++ b/gbasm
@@ -127,7 +127,8 @@ instructions = [
{ "opcode": "JP", "params": [
{ "type": ["16b"], "format": lambda args, _: [0b11000011, args[0] & 0xff, args[0] >> 8] },
{ "type": ["HL"], "format": lambda args, _: [0b11101001] },
- { "type": ["cc", "16b"], "format": lambda args, _: [0b11000010 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] }
+ { "type": ["cc", "16b"], "format": lambda args, _: [0b11000010 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] },
+ { "type": ["C", "16b"], "format": lambda args, _: [0b11000010 | (3 << 3), args[1] & 0xff, args[1] >> 8] }
]},
{ "opcode": "JR", "params": [
{ "type": ["8b"], "format": lambda args, _: [0b00011000, args[0]] },
@@ -139,11 +140,13 @@ instructions = [
]},
{ "opcode": "CALL", "params": [
{ "type": ["16b"], "format": lambda args, _: [0b11001101, args[0] & 0xff, args[0] >> 8] },
- { "type": ["cc", "16b"], "format": lambda args, _: [0b11000100 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] }
+ { "type": ["cc", "16b"], "format": lambda args, _: [0b11000100 | (args[0] << 3), args[1] & 0xff, args[1] >> 8] },
+ { "type": ["C", "16b"], "format": lambda args, _: [0b11000100 | (3 << 3), args[1] & 0xff, args[1] >> 8] }
]},
{ "opcode": "RET", "params": [
{ "type": [], "format": lambda args, _: [0b11001001] },
{ "type": ["cc"], "format": lambda args, _: [0b11000000 | (args[0] << 3)] },
+ { "type": ["C"], "format": lambda args, _: [0b11000000 | (3 << 3)] }
]},
{ "opcode": "RETI", "params": [
{ "type": [], "format": lambda args, _: [0b11011001] },