Module control

Source
Expand description

0x01 Control operations (branch, thread, future, message, configuration)

  • 0x0101 jump:address

  • 0x0102 call:address

  • 0x0103 return (call_return)

  • 0x0104 goto direct:32

  • 0x0105 gosub direct:32

  • 0x0108 loop:counter_init (loop_init)

  • 0x0109 next direct:32

  • 0x010A goto_if:CMP direct:32

  • 0x010B gosub_if:CMP direct:32

  • 0x010C goto_check:checked direct:32

  • 0x010D gosub_check:checked direct:32

  • 0x010E skip_if:CMP

  • 0x010F skip_check:checked

  • 0x01FF halt

  • TODO 0x0170 FORK $target : invoke Cpu which JUMPs to $target with a new context instance, while the current Cpu continues with the next instruction.

  • TODO 0x0180 PROMISE ?

  • TODO 0x0181 RESOLVE ?

  • TODO 0x0188 PRODUCE ?

  • TODO 0x0187 CONSUME ?

  • TODO … MESSAGES

  • TODO 0x01F0 CHANGE FREQUENCY

Constants§

CALL
0x0102
CALL_RETURN
0x0103
GOSUB
0x0105
GOSUB_CHECK
0x010D
GOSUB_IF
0x010B
GOTO
0x0104
GOTO_CHECK
0x010C
GOTO_IF
0x010A
HALT
0x01FF
JUMP
0x0101
LOOP
0x0108
NEXT
0x0109
SET_MASK
SKIP_CHECK
0x010F
SKIP_IF
0x010E

Functions§

call
0x0102 call:address
call_return
0x0103 return (call_return)
gosub
0x0105 gosub direct:32
gosub_check
0x010D gosub_check:checked direct:32
gosub_if
0x010B gosub_if:CMP direct:32
goto
0x0104 goto direct:32
goto_check
0x010C goto_check:checked direct:32
goto_if
0x010A goto_if:CMP direct:32
halt
0x01FF halt
jump
0x0101 jump:address
loop_init
0x0108 loop:counter_init (loop_init)
next
0x0109 next direct:32
operation_set
Returns control operations.
skip_check
0x010F skip_check:checked
skip_if
0x010E skip_if:CMP