readme
This commit is contained in:
parent
b8c15c65ee
commit
20171a1d86
79
README.md
Normal file
79
README.md
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
|
||||||
|
# vc4
|
||||||
|
|
||||||
|
**virtual computer 4** (see [vc3](https://git.sfja.dk/sfja/vc4) and [vc2](https://github.com/simonFJ20/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
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user