summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2020-07-06 20:04:41 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2020-07-06 20:04:41 -0400
commit756c606af68be8ccca7aced3b9c3d56fb2d5087f (patch)
treefbc02b63feb1933a213d26ae68ab1b1a104e4ef3 /opcode.h
parent887802efcdb3b56263069cc6778a8f53ed89d599 (diff)
- Implemented a new opcode table.
- Added a new preifx called the OF prefix, which adds the contents of a specific register to the current operand. - Added a table generator, which parses opcode table csv files.
Diffstat (limited to 'opcode.h')
-rw-r--r--opcode.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/opcode.h b/opcode.h
index b98803b..696ad9d 100644
--- a/opcode.h
+++ b/opcode.h
@@ -10,7 +10,7 @@
#define getclk 0
#define keypoll 0
-#define OPNUM 88
+#define OPNUM 87
#define C (1 << 0) /* Carry flag. */
#define Z (1 << 1) /* Zero flag. */
@@ -38,7 +38,7 @@ extern uint8_t get_addrsize(uint8_t prefix, uint8_t addrmode);
#define setreg_sw(reg, reg_idx, val, val_idx, prefix, addrmode, type) {\
switch (type) {\
- case RS: setreg(reg, +, reg_idx, val, +, val_idx, (1 << (prefix >> 4))-1); break;\
+ case RS: setreg(reg, +, reg_idx, val, +, val_idx, (1 << ((prefix >> 4) & 3))-1); break;\
case AM: setreg(reg, +, reg_idx, val, +, val_idx, get_addrsize(prefix, addrmode)); break;\
}\
}