blob: 7baa9c8c9127b4a7cdbdf266edc2e14062c75fd4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
nop
rot (abc-bca)
-rot (abc-cab)
dup (x-xx)
swap (xy-yx)
over (xy-xyx)
drop (xy-x)
tuck (xy-yxy)
nip (xy-y)
lit (-l)
equal (xy-f)
nequal (xy-f)
add (xy-z)
sub (xy-z)
mul
div
neg
slt
ult
sle
ule
lod (a-d)
sto (da-)
push
pop
what abotu either
1[addr:15] : call
0
01 literal
want:
calls (15 bits)
j, cj, relative addr, 8 bits
lit, 4 or 8 or 16 bits
mark,loc,ret, + 4bit arg
regular op, no arg (between 16 and 32 of these)
CALL (addr:15)
or
JMP (cond?:1) (rdst:rest)
or
(mark/loc/ret/lit4) (arg:4)
or
regular op (7 bits)
OPW:7: 1 T:2 arg:4
OPR:7: 0 opcode:6
00 - 3f regular opcodes (64 of them)
4x mark x
5x loc x
6x ret x
7x lit4 x
I: 0 0 (OPW|OPR) (OPW|OPR)
J: 0 1 0 cond? raddr:12
L: 0 1 1 value:13
C: 1 addr:15
|