And their argument kinds
instruction | argument kinds | name |
---|---|---|
alloc |
(datum) |
allocate |
free |
(datum) |
free |
push |
(datum) |
push |
pop |
(mutable page) |
pop |
flip |
(datum) |
flip |
unf |
(datum) |
unflip |
staptr |
(datum) |
get stack pointer |
cdxptr |
(mutable Datum) |
get codex pointer |
instruction | argument kinds | name |
---|---|---|
mov |
(mutable page), (page) |
move |
set |
(mutable datum), (datum) |
set |
cast |
(mutable datum), (datum), (datum) |
type cast |
memv |
(mutable page), (page), (datum), (datum) |
memory move |
fill |
(mutable page), (datum), (datum) |
fill |
rsz |
(mutable page), (datum) |
resize |
instruction | argument kinds | name |
---|---|---|
inc |
(mutable datum) |
increment |
dec |
(mutable datum) |
decrement |
add |
(mutable datum), (datum), (datum) |
add |
sub |
(mutable datum), (datum), (datum) |
subtract |
mul |
(mutable datum), (datum), (datum) |
multiply |
div |
(mutable datum), (datum), (datum) |
divide |
mod |
(mutable datum), (datum), (datum) |
modulo |
instruction | argument kinds | name |
---|---|---|
and |
(mutable datum), (datum), (datum) |
bitwise and |
or |
(mutable datum), (datum), (datum) |
bitwise or |
xor |
(mutable datum), (datum), (datum) |
bitwise exclusive or |
not |
(mutable datum), (datum) |
bitwise inversion |
rshf |
(mutable datum), (datum), (datum) |
bitshift to the right |
lshf |
(mutable datum), (datum), (datum) |
bitshift to the left |
instruction | argument kinds | name |
---|---|---|
cmp |
(datum), (datum) |
compare |
gcmp |
(datum), (datum) |
compare greater than |
scmp |
(datum), (datum) |
compare smaller than |
gecmp |
(datum), (datum) |
compare greater than or equal to |
secmp |
(datum), (datum) |
compare smaller than or equal to |
pecmp |
(page), (page) |
compage page equal |
instruction | argument kinds | name |
---|---|---|
input |
(mutable page), (page), (datum) |
user input |
dprint |
(datum), (datum) |
digit print |
print |
(page), (datum) |
page print |
fread |
(mutable page), (page), (datum), (mutable datum) |
file read |
fwrite |
(page), (page), (datum), (mutable datum) |
file write |
flen |
(mutable datum), (page), (mutable datum) |
file length |
time |
(mutable datum) |
current time |
instruction | argument kinds | name |
---|---|---|
ex |
(v), (v), (v), (v) |
expression |
lib |
(v), (v), (v), (v) |
library |
instruction | argument | name |
---|---|---|
Ce |
(statement) |
condition equal to |
Cs |
(statement) |
condition smaller than |
Cg |
(statement) |
condition greater than |
Cse |
(statement) |
condition smaller than or equal to |
Cge |
(statement) |
condition greater than or equal to |
Cn |
(statement) |
condition not equal to |
jmp |
(label) |
jump |
call |
(label) |
call |
ret |
return |
keyword | argument | name |
---|---|---|
def |
(binding) = (expression) |
define |
enum |
(bindings) = (base expression) |
enumerate |
opens |
open namespace | |
clons |
close namespace | |
insert |
(filename) |
insert |
operator | preforms | name |
---|---|---|
$ |
(v)(datum) -- (v)(mutable page) |
stack reference |
@ |
(v)(datum) -- (v)(mutable page) |
top-down stack reference |
! |
(v)(page) -- (v)(datum) |
direct datum |
^ |
(v)(datum) -- (v)(immutable page) |
make page |
] |
(page)(datum) -- (page)(datum) |
index |
> |
(page)(datum) -- (page)(datum) |
relative index |
]* |
(mutable page)(datum) -- (mutable page)(mutable datum) |
keeping index |
>* |
(mutable page)(datum) -- (mutable page)(mutable datum) |
keeping relative index |
t |
(v)(datum) -- (v)(immutable datum) |
times size of type |
l |
(v)(page) -- (page)(immutable datum) |
length |
o |
(v)(page) -- (page)(immutable datum) |
offset |
~ |
(v)(v) -- (v)(v) |
swap |
, |
(v)(v) -- (NULL)(NULL) |
comma |
UNFINISHED
alloc d
Allocates d
amount of page of 8 bytes on the stack.
free d
Frees d
amount of pages from the stack.
push p
Pushes page p
to the stack.
pop P
Pops the page on the top of the stack into P
.
flip d
Flips d
amount of pages from the stack to the codex.
unf d
Unflips d
amount of pages from the codex to the stack.
staptr D
Sets datum D
to the value of the stack pointer.
cdxptr D
Sets datum D
to the value of the codex pointer.
mov P1, p2
Copies page p2
onto page P1
.
set D, d
Sets datum D1
to datum d2
.
cast D1, d2, d3
Casts d2
from the current type to the type give by d3
into D1
.
memv P1, p2, d3, d4
Copies d4
amount of bytes to the intrinsic offset of P1
, from p2
, with an offset of d3
.
fill P1, d2, d3
Sets d3
amount of bytes in P1
to d2
, starting at the intrinsic offset of P1
.
rsz P1, d2
Resizes the P1
to the size given by d2
.