Expand description
This crate defines a standard set for a future osiris-machine.
Each module has its own operation prefix which is one byte long.
§Operations
0x0000noop
§Control
0x0101control::jump:address0x0102control::call:address0x0103control::call_return0x0104control::gotodirect:320x0105control::gosubdirect:320x0108control::loop_init:counter_init0x0109control::nextdirect:320x010Acontrol::goto_if:CMPdirect:320x010Bcontrol::gosub_if:CMPdirect:320x010Ccontrol::goto_check:checkeddirect:320x010Dcontrol::gosub_check:checkeddirect:320x010Econtrol::skip_if:CMP0x010Fcontrol::skip_check:checked0x01FFcontrol::halt
§Registers control
0x0201registers::set_top:target top:320x0202registers::set_bottom:target bottom:320x0203registers::clear_range0x0204registers::move_to_float:float unsigned:160x0205registers::move_from_float:unsigned float:160x0210registers::push:unsigned0x0211registers::pop:unsigned0x0220registers::get_compare:target
§Memory management
0x0301memory::store_words:target[start:end]0x0302memory::load_words:target[start:end]0x0303memory::get_memory_size:target0x0304memory::store_floats:target[start:end]0x0305memory::load_floats:target[start:end]
§Logic operations
0x0400logic::is:CMPtarget:16:compare:160x0401logic::not:target0:origin:160x0402logic::or:target[start:end]0x0403logic::and:target[start:end]0x0404logic::xor:target[start:end]0x0405logic::nor:target[start:end]0x0406logic::nand:target[start:end]0x0407logic::nxor:target[start:end]
§Integral arithmetic
0x1001unsigned_arithmetic::sum_unsigned:target[start:end]0x1002unsigned_arithmetic::product_unsigned:target[start:end]0x1003unsigned_arithmetic::difference_unsigned:target[start:end]0x1004unsigned_arithmetic::quotient_unsigned:target[start:end]0x100Funsigned_arithmetic::compare_unsignedr1:r2
Modules§
- control
- 0x01 Control operations (branch, thread, future, message, configuration)
- logic
- 0x04
- memory
- 0x03 Memory operations (store/load, stack, allocation)
- range_
applications - registers
- 0x02 Register operations (set, move, stack)
- unsigned_
arithmetic - 0x10 Integral arithmetic (+, -, /, *, rnd(), <=>)
Functions§
- get_
standard_ set - Returns the standard operation set.