Update README.md
This commit is contained in:
55
README.md
Normal file
55
README.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
Cool ARM Ripoff
|
||||||
|
|
||||||
|
A simple (and ridiculous) virtual machine/CPU made for no real reason/purpose.
|
||||||
|
|
||||||
|
Written in C, made by David Goeke.
|
||||||
|
|
||||||
|
|
||||||
|
Current features:
|
||||||
|
few to none.
|
||||||
|
|
||||||
|
32 general purpose registers
|
||||||
|
32-bit addresses
|
||||||
|
|
||||||
|
Needed features:
|
||||||
|
push/pop
|
||||||
|
call/ret
|
||||||
|
jmp/conditional jmps
|
||||||
|
store high 11 bits of an immediate in memory
|
||||||
|
|
||||||
|
instuctions (arithmetic):
|
||||||
|
add
|
||||||
|
sub (subtract)
|
||||||
|
mul (multiply)
|
||||||
|
div (divide)
|
||||||
|
mod (modulus, division remainder)
|
||||||
|
|
||||||
|
shl (logical shift left)
|
||||||
|
shr (logical shift right)
|
||||||
|
ahr (arithmetic shift right)
|
||||||
|
ror (logical rotate right)
|
||||||
|
|
||||||
|
and (logical AND)
|
||||||
|
or (logical OR)
|
||||||
|
xor (logical XOR)
|
||||||
|
not (logical NOT/invertion)
|
||||||
|
|
||||||
|
xchg (exchange registers)
|
||||||
|
|
||||||
|
Insutrctions (load/store):
|
||||||
|
ldr (load register with value from memory, using the program counter as the base)
|
||||||
|
lds (load register with value from memory, using the stack pointer as the base)
|
||||||
|
ldb (load register with value from memory, using a specified register as the base)
|
||||||
|
ldi (load register with and immediate value, only low 21 bits)
|
||||||
|
|
||||||
|
str (store register at memory, using the program counter as the base)
|
||||||
|
sts (store register at memory, using the stack pointer as the base)
|
||||||
|
stb (store register at memory, using the specified register as the base)
|
||||||
|
|
||||||
|
ldh (load high 11 bits of register with immediate)
|
||||||
|
|
||||||
|
sti (store a 21-bit immediate at memory, using the program counter as the base)
|
||||||
|
stj (store a 21-bit immediate at memory, using the stack pointer as the base)
|
||||||
|
|
||||||
|
Instructions (misc):
|
||||||
|
nop (do nothing)
|
||||||
Reference in New Issue
Block a user