diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2020-12-04 15:20:28 -0500 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2020-12-08 18:07:53 -0500 |
commit | 50875a80729eaf3be2b1473e385eca1102fce4e6 (patch) | |
tree | 45cbca7cf392397852d1fec651bc0dd96f462622 | |
parent | 498756102a430d68018ff39502b568f93a110227 (diff) |
- Started work on writing the new version of the
assembler.
- Did alot of stuff in the emulator.
- Did alot of stuff in the SuB Suite.
-rw-r--r-- | sux.h | 26 |
1 files changed, 0 insertions, 26 deletions
@@ -533,28 +533,20 @@ static /*inline*/ uint64_t get_ortho_addr(struct sux *cpu, uint8_t prefix, uint6 } op[i].scale = (inst_size == 2) ? tmp.u8[0] : 0; } -<<<<<<< HEAD if (addr_size != 0xFF) { inst_size = addr_size+1; -======= - if (addr_size != 0xFF || (rs && op[i].id == MEM_IMM)) { - inst_size = (addr_size != 0xFF) ? addr_size+1 : rs; ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into op[i].value = read_value(cpu, 0, address, inst_size-1, inc_clk, 0); value[i] = op[i].value; if (inc_pc) { address += inst_size; } } -<<<<<<< HEAD if (rs && op[i].id == MEM_IMM) { value[i] = address; if (inc_pc) { address += rs; } } -======= ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into if (is_rind) { for (int j = 0; j < 2 && op[i].rind[j] != 0xFF; j++) { uint64_t reg; @@ -914,11 +906,7 @@ static /*inline*/ void exec_ortho_inst(struct sux *cpu, uint8_t opcode, uint8_t operand op[2]; cpu->pc = get_ortho_addr(cpu, prefix, cpu->pc, op, address, op_type, op_id, 1, 1, thread); if (op[1].type) { -<<<<<<< HEAD src = read_value(cpu, 0, (op[1].id != MEM_IMM) ? op[1].value : address[1], size, 1, 1); -======= - src = read_value(cpu, 0, op[1].value, size, 1, 1); ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into } else { switch (op[1].id) { case REG_A : src = cpu->a; break; @@ -940,13 +928,9 @@ static /*inline*/ void exec_ortho_inst(struct sux *cpu, uint8_t opcode, uint8_t } } if (op[0].type) { -<<<<<<< HEAD if (op[0].id != MEM_IMM) { dst = read_value(cpu, 0, op[0].value, size, 1, 1); } -======= - dst = read_value(cpu, 0, op[0].value, size, 1, 1); ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into } else { switch (op[0].id) { case REG_A : dst = cpu->a; break; @@ -1067,16 +1051,10 @@ static /*inline*/ void exec_ortho_inst(struct sux *cpu, uint8_t opcode, uint8_t case ORTHO_1CC(SET, VC): dst = set(cpu, !getflag(V), thread); break; } -<<<<<<< HEAD if (op[0].type) { if (op[0].id != MEM_IMM) { write_value(cpu, dst, op[0].value, size, 1, 1); } -======= - - if (op[0].type) { - write_value(cpu, dst, op[0].value, size, 1, 1); ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into } else { switch (op[0].id) { case REG_A : cpu->a = dst; break; @@ -1099,13 +1077,9 @@ static /*inline*/ void exec_ortho_inst(struct sux *cpu, uint8_t opcode, uint8_t } if (isdiv) { if (op[1].type) { -<<<<<<< HEAD if (op[0].id != MEM_IMM) { write_value(cpu, dst, op[1].value, size, 1, 1); } -======= - write_value(cpu, rem, op[1].value, size, 1, 1); ->>>>>>> 673efac... - Implemented support for the Orthogonal extension into } else { switch (op[1].id) { case REG_A : cpu->a = rem; break; |