Skip to content

Instruction Set

Nick Pope edited this page Jun 19, 2013 · 26 revisions

Virtual Machine Instruction Set

NID Manipulations

add

Add two numeric NIDs together and put result into dest. add :<dest> [:]<a> [:]<b>

sub

Subtract two numeric NIDs (b from a) and put result into dest. sub :<dest> [:]<a> [:]<b>

div

div :<dest> [:]<a> [:]<b>

mul

mul :<dest> [:]<a> [:]<b>

shiftl

Shift value left by n bits and put into dest. shiftl :<dest> [:]<value> [:]<n>

shiftr

Shift value right by n bits and put into dest. shiftr :<dest> [:]<value> [:]<n>

and

and :<dest> [:]<a> [:]<b>

or

or :<dest> [:]<a> [:]<b>

xor

xor :<dest> [:]<a> [:]<b>

neg

`neg : [:]

inc

inc :<value>

dec

dec :<value>

clear

Sets value to null. clear :<value>

int

Convert value to an integer and put into dest. int :<dest> [:]<value>

float

Convert value to a float and put into dest. float :<dest> [:]<value>

Data

load

store

copy

data

ret

Branching

jump

jeq

jneq

jleq

jgeq

jlt

jgt

Hypergraph Access

read

write

dep

new

delete

Clone this wiki locally