summaryrefslogtreecommitdiff
path: root/assemble.c
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2021-02-13 13:59:48 -0500
committermrb0nk500 <b0nk@b0nk.xyz>2021-02-13 13:59:48 -0500
commit8d7f27d9a0b61d3694a62f3e54be885d8073f02b (patch)
treeb505454c79dba2e691ee19f716ccfd0d0aba1430 /assemble.c
parentac778a4d39ba6c80651ce20ce780dfe859c3dcff (diff)
- Reverted back one commit before the previous commit.
This is because the previous commit actually created a bug, rather than fixing one. - Added JMP, and JSR to the ortho extension, and implemented them both in the assembler, and emulator.
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: