-
Notifications
You must be signed in to change notification settings - Fork 0
Instruction Set
Add two numeric NIDs together and put result into dest.
add $<dest> [$]<a> [$]<b>
Subtract two numeric NIDs (b from a) and put result into dest.
sub $<dest> [$]<a> [$]<b>
div $<dest> [$]<a> [$]<b>
mul $<dest> [$]<a> [$]<b>
Shift value left by n bits and put into dest.
shiftl $<dest> [$]<value> [$]<n>
Shift value right by n bits and put into dest.
shiftr $<dest> [$]<value> [$]<n>
and $<dest> [$]<a> [$]<b>
or $<dest> [$]<a> [$]<b>
xor $<dest> [$]<a> [$]<b>
`neg $ [$]
inc $<value>
dec $<value>
Sets value to null.
clear $<value>
Convert value to an integer and put into dest.
int $<dest> [$]<value>
Convert value to a float and put into dest.
float $<dest> [$]<value>
Copy a value from source into dest.
copy $<dest> [$]<source>
Return value.
ret [$]<value>
jump :<label>
jeq :<label> [$]<a> [$]<b>
jneq :<label> [$]<a> [$]<b>
jleq :<label> [$]<a> [$]<b>
jgeq :<label> [$]<a> [$]<b>
jlt :<label> [$]<a> [$]<b>
jgt :<label> [$]<a> [$]<b>
Read a single value from the t1 t2 HARC into dest.
`read $ [$] [$]
Define the HARC t1 t2 as value. The value may be a constant or definition.
`define [$] [$] [$]
Follow a path through the graph, starting at element and putting the result into dest. Elements may be repeated any number of times and are separated by dots.
path $<dest> [$]<element>[.]*