fix doc + add 8 regs

This commit is contained in:
xamidev
2024-10-23 20:25:09 +02:00
parent fd0d05003e
commit 6eb02b3b58
3 changed files with 8 additions and 6 deletions

View File

@@ -20,7 +20,7 @@ make
- 8-bit processing unit
- RISC (reduced instruction set computer)
- 4 general purpose registers (labeled R0 to R3)
- 8 general purpose registers (labeled Rx)
- 1 input port, 1 output port (via getchar and putchar)
- Turing-completeness: bitwise and arithmetic operations
@@ -33,9 +33,11 @@ MOV RX, RY
; Put value X in register RX
PUT RX, X
; Arithmetic addition and substraction stored in RX
; Arithmetic operations. Result stored in RX
ADD RX, RY
SUB RX, RY
MUL RX, RY
DIV RX, RY
; Bitwise operations stored in RX
OR RX, RY

6
cpu.c
View File

@@ -196,10 +196,10 @@ void cpu_run()
void cpu_dump()
{
printf("\n*** CPU state dump ***\nPC: 0x%x\nEqual flag: %d\nHalted: %d\n\n", cpu.pc, cpu.equal_flag, cpu.halted);
for (size_t i=0; i<NUM_REGISTERS; i++)
for (size_t i=1; i<NUM_REGISTERS; i+=2)
{
printf("R%lu: 0x%x\n", i, cpu.reg[i]);
printf("R%lu: 0x%04x R%lu: 0x%04x\n", i, cpu.reg[i], i+1, cpu.reg[i+1]);
}
puts("");
}

2
cpu.h
View File

@@ -2,7 +2,7 @@
#define CPU_H
#define MEM_SIZE 256
#define NUM_REGISTERS 4
#define NUM_REGISTERS 8
#define BUF_MAX 256
/*