User guide
10.1. THE SIAL SPECIFICATION 177
brk Breakpoint instruction
nop No operation
chgco Change coroutine
mdiv a := muldiv(P!3, P!4, P!5)
sys System function
section Kn C1 ... Cn Name of section
modstart Start of module
modend End of module
global Kn G1 L1 ... Gn Ln Global initialisation data
string Ml Kn C1 ... Cn String constant
const Mn Ww Large inte ge r constant
static Ln Kk W1 ... Wk Static variable or table
mlab Mn Destination of jge0m
lab Lm Program label
lstr Mn a := Mn (pointer to string)
entry Kn C1 ... Cn Start of a function
The followi ng Sial operators were added in August 2014 to allow native code com-
pilation of the floating point features.
float a := FLOAT a; b := ?
fix a := FIX a; b := ?
fabs a := #ABS a; b := ?
fneg a := #- a; b := ?
fmul a := b #* a; b := ?
fdiv a := b #/ a; b := ?
fadd a := b #+ a; b := ?
fsub a := b #- a; b := ?
feq a := b #= a; b := ?
fne a := b #~= a; b := ?
fls a := b #< a; b := ?
fgr a := b #> a; b := ?
fle a := b #<= a; b := ?
fge a := b #>= a; b := ?
feq0 a := a #= 0; b := ?
fne0 a := a #~= 0; b := ?
fls0 a := a #< 0; b := ?
fgr0 a := a #> 0; b := ?
fle0 a := a #<= 0; b := ?
fge0 a := a #>= 0; b := ?
The floating point conditional jump instructions are as fol l ows.