summaryrefslogtreecommitdiff
path: root/assemble.c
diff options
context:
space:
mode:
Diffstat (limited to 'assemble.c')
-rw-r--r--assemble.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/assemble.c b/assemble.c
index ce35e78..a3791d3 100644
--- a/assemble.c
+++ b/assemble.c
@@ -898,7 +898,11 @@ uint64_t handle_opcode(token *t, bytecount *bc, uint8_t isasm, uint64_t address,
int i2 = 0;
int j = 0;
(op[i].type == 1) ? (opcode |= (1 << (3+!i))) : (opcode &= ~(1 << (3+!i)));
- if (op[i].type == 1 && (am & AM_ORTHO|AM_ORTHO2)) {
+ if ((am & (AM_ORTHO|AM_ORTHO2)) == (AM_ORTHO|AM_ORTHO2)) {
+ opcode |= 0x0C;
+ }
+
+ if (op[i].type == 1 && (am & (AM_ORTHO|AM_ORTHO2))) {
switch (op[i].id) {
case MEM_RIND: break;
case MEM_IMM: