-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstructions.rtf
More file actions
52 lines (52 loc) · 3.76 KB
/
instructions.rtf
File metadata and controls
52 lines (52 loc) · 3.76 KB
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
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\ri-1080\tx720\tx2160\tx3240\tx4320\tx5400\tx6480\tx7380\tx8280\tx9180\tx10080\tx11160\tx11880\f0\fs20\tab Name\tab data_pop\tab data_push\tab dw_tos\tab dw_next\tab r_pop\tab r_push\tab rw_tos\tab w_mem\tab d_select\tab r_select alu_select\par
00000\tab no operation\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX\par
00001\tab load top\tab 0\tab 0\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 11\tab X\tab XXXX\par
00010\tab load push\tab 0\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 11\tab X\tab XXXX\par
00011\tab store top\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 1\tab XX\tab X\tab XXXX\par
00100\tab store pop\tab 1\tab X\tab 0\tab 0\tab 0\tab 0\tab 0\tab 1\tab XX\tab X\tab XXXX\par
00101\tab signed add\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0001\par
00110\tab signed sub\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0010\par
00111\tab signed mult\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0011\par
01000\tab signed divide\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0100\par
01001\tab signed /MOD\tab 1\tab X\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0101\par
01010\tab bitwise and\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0110\par
01011\tab bitwise or\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0111\par
01100\tab bitwise XOR\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1000\par
01101\tab compare\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1001\par
01110\tab greater than\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1010\par
01111\tab less than\tab 1\tab X\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1011\par
10000\tab bitwise not\tab 0\tab 0\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1100\par
10001\tab swap\tab 0\tab 0\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1101\par
10010\tab over\tab 0\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 1101\par
10011\tab drop\tab 1\tab X\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX\par
10100\tab dup\tab 0\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 01\tab X\tab 0000\par
10101\tab to return\tab 1\tab X\tab 0\tab 0\tab 0\tab 1\tab 1\tab 0\tab XX\tab 1\tab 0000\par
10110\tab from return\tab 0\tab 1\tab 1\tab 0\tab 1\tab X\tab 0\tab 0\tab 10\tab X\tab XXXX\par
10111\tab from return-\tab 0\tab 1\tab 1\tab 0\tab 1\tab X\tab 0\tab 0\tab 00\tab X\tab XXXX\par
11000\tab copy return\tab 0\tab 1\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 10\tab X\tab XXXX\par
11001\tab branch if zero\tab 1\tab 0\tab 0\tab 0\tab 0\tab 1\tab 1\tab 0\tab XX\tab 0\tab XXXX //tos is zero\par
11001\tab branch if zero\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX //tos is nz\par
11010\tab branch if nz\tab 1\tab 0\tab 0\tab 0\tab 0\tab 1\tab 1\tab 0\tab XX\tab 0\tab XXXX //tos is nz\par
11010\tab branch if nz\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX //tos is zero\par
11011\tab branch if nzl\tab 0\tab 0\tab 0\tab 0\tab 0\tab 1\tab 1\tab 0\tab XX\tab 0\tab XXXX //tos is nz\par
11011\tab branch if nzl\tab 1\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX\par
11100\tab exit\tab 0\tab 0\tab 0\tab 0\tab 1\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX\par
11101\tab exit+\tab 0\tab 0\tab 0\tab 0\tab 1\tab 0\tab 0\tab 0\tab XX\tab X\tab XXXX\par
11110\par
11111\par
\par
\par
if then statement example\par
branch if zero/nz\par
//branch code\par
exit+\par
\par
for loop to zero statement example\par
branch if nzl\par
to return\par
// code\par
from return-\par
exit\par
}