2025-10-02 22:44:00 +02:00
2025-10-02 22:44:00 +02:00
2025-09-05 21:33:02 +02:00
2025-09-05 21:33:02 +02:00
2025-09-05 21:33:02 +02:00
2025-09-05 21:33:02 +02:00
2025-09-05 22:37:45 +02:00
2025-10-02 22:44:00 +02:00

vc4

virtual computer 4 (see vc3 and vc2)

a computer-emulator with custom architecture, and some stuff to write and run software on it.

goals

  • assemble program on host
  • run program from host
  • run program from emulated disk
  • output to monitor device
  • input from keyboard device
  • command shell
  • read/write files on emulated disk
  • host/vm file share
  • run programs from emulated disk
  • edit text files
  • assemble program on vm

isa

  • 16-bit instruction set
  • big endian

registers

r0      accumulator / return value
r1
r2
r3
r4
r5
r6
sp      stack pointer
bp      base pointer

instructions

r   = register
i16 = 16-bit immediate
m   = memory [r/i16]

nop
hlt
jmp     r/i16
jnz     r/i16
cmp     r/i16
mov     r/i16/m r
mov     r       r/i16/m
movb    m       r
movb    r       m
in      r/i16
out     r/i16   r/i16
call    r/i16
ret
lit     r/i16
int     i8

or      r       r/i16
xor     r       r/i16
and     r       r/i16
shl     r       r/i16
rshl    r       r/i16
shr     r       r/i16
rshr    r       r/i16
add     r       r/i16
sub     r       r/i16
rsub    r       r/i16
mul     r       r/i16
imul    r       r/i16
div     r       r/i16
idiv    r       r/i16
mod     r       r/i16
rmod    r       r/i16
Description
No description provided
Readme 50 KiB
Languages
C 97%
Makefile 3%