34 lines
893 B
Plaintext
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
|