Archived
1
0

add ld (load) register, fix minor bug

This commit is contained in:
Erick
2022-02-04 01:50:15 +01:00
parent f89c89a7f3
commit c462a70d3f
+5 -2
View File
@@ -141,9 +141,12 @@ int main(int argc, const char* argv[]) {
break;
case OP_LD:
uint16_t dr = (instr >> 9) & 0x7;
uint16_t PCoffset9 = sign_extend(instr & 0x1FF, 9); // 9-bit value that indicates where to load the address when added to RG_PC
reg[dr] = mem_read(PCoffset9 + reg[RG_PC]);
update_flags(dr);
break;
case OP_ST:
@@ -183,7 +186,7 @@ int main(int argc, const char* argv[]) {
uint16_t dr = (instr >> 9) & 0x7;
uint16_t PCoffset9 = sign_extend(instr & 0x1FF, 9); // 9-bit value that indicates where to load the address when added to RG_PC
reg[dr] = mem_read(mem_read(PCoffset9 + reg[RG_PC]++));
reg[dr] = mem_read(mem_read(PCoffset9 + reg[RG_PC]));
update_flags(dr);