-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Easy is a super stripped-down processor architecture. It’s simplified even further, basically giving you a small set of core instructions and expecting you to build more complex stuff on top of them.
Right now there’s no real CPU that runs Easy natively, so you run it through emulation on your current machine.
Using the Easy64 emulator, you can basically port Easy anywhere as a VM that reads bytecode.
Easy Assembly is pretty minimal. The instruction set looks like this:
mov, add, sub, mul, div, and, or, xor, nop, not, shl, shr, jmp, je, jne, jl, jg, cmp, call, ret, push, pop, hlt, inc, dec, load, store, entry, syscall, sysret, ssdp, csl, info.
The Easy64 emulator adds a couple extra instructions to make emulation practical:
print.
These are all classic assembly instructions. Nothing fancy,just enough primitives to let you build more complex behavior yourself.
It’s 30 in the default/classic setup.
Also, Easy got two private register, nothing change them without an SL0 working software and instructions.
SYSCALL_DECODER_POSITION -> Can changeable by Kernel for decoder function but cant changeable like normal register, usage: ssdp label
DISK_INDEX_POSITION -> Can changeable by Kernel or User Program but cant changeable like normal register, usage: outb 9, register # 9 is disk index port, register is new value gettin' from register.
Check out the examples folder in the GitHub repo, go through the code and see how things are done. Since there’s basically no hard limit on what you can build, we started with simple stuff to explore and test features.
That said, you can just jump in and start writing your own code too, that’s honestly one of the best ways to get the hang of it.
Yeah and I'm working on it.
For more information: Working on Easy64