osiris-set-std 0.1.11

A standard operation set.
Documentation

Osiris/Set:Standard

Warning

Before v1.0.0, the API may change a lot :

  • The set is incomplete. A lot is planed, but more is to be defined,
  • Operations will be added,
  • Arguments scheme may change,
  • Operations could be moved or removed.

Operations

  • 0x0000 noop

Flow control

  • 0x0101 jump:address
  • 0x0102 call:address
  • 0x0103 return
  • 0x0104 goto direct:u32
  • 0x0105 gosub direct:u32
  • 0x0108 loop:counter_init
  • 0x0109 next direct:u32
  • 0x010A goto-if:CMP direct:u32
  • 0x010B gosub-if:CMP direct:u32
  • 0x01FF halt

Registers control

  • 0x0201 set-top:target top:u32
  • 0x0202 set-bottom:target bottom:u32
  • 0x0203 clear-range
  • 0x0204 move-to-float:float unsigned:u16
  • 0x0205 move-from-float:unsigned float:u16
  • 0x0210 push:unsigned
  • 0x0211 pop:unsigned

Memory control

  • 0x0301 store-words:target [start:end]
  • 0x0302 load-words:target [start:end]
  • 0x0303 get-memory-size:target
  • 0x0304 store-floats:target [start:end]
  • 0x0305 load-floats:target [start:end]

Unsigned-integral arithmetic

  • 0x1001 sum-unsigned:target [start:end]
  • 0x1002 product-unsigned:target [start:end]
  • 0x1003 difference-unsigned:target [start:end]
  • 0x1004 quotient-unsigned:target [start:end]
  • 0x100F compare-unsigned r1:u16:r2:u16

License