stack-machine/doc/opcode-overview.txt

34 lines
893 B
Plaintext

NOP rtn:1 ( -- )
RSHIFT rtn:1 ( a b -- (a>>b) )
ADD rtn:1 ( a b -- (a+b) )
SUB rtn:1 ( a b -- (a-b) )
NIP rtn:1 ( a b -- b )
AND rtn:1 ( a b -- (a&b) )
OR rtn:1 ( a b -- (a|b) )
XOR rtn:1 ( a b -- (a^b) )
SWAP rtn:1 ( a b -- b a )
DUP rtn:1 ( a -- a a )
OVER ( a b -- a b a )
RDUP ( -- ) R( ra -- ra ra )
NLZ ( a -- nlz(a) )
MULT ( a b -- msw lsw )
LOAD byte:1 ( a -- mem[a] )
STORE byte:1 ( a b -- )
RDROP ( -- ) R( a -- )
POP ( -- a ) R( a -- )
PUSHPC ( -- ) R( -- pc )
PUSH ( a -- ) R( -- a )
IMMED data:5 ( -- extend(data) )
JUMP rel:1 cc:3 drop:1 ( c a -- c? )
CALL rel:1 cc:3 drop:1 ( c a -- c? ) R( -- pc )
MERGE data:7 ( a -- ((a<<7)|data) )
cc=000: never (drop/drop2)
cc=001: ST0 == 0
cc=010: ST0 < 0
cc=011: ST0 > 0
cc=100: always
cc=101: ST0 != 0
cc=110: ST0 >= 0
cc=111: ST0 <= 0