-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdcpu16n.isf
121 lines (120 loc) · 2.25 KB
/
dcpu16n.isf
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#
<HEAD>
ISN:"DCPU16N"
ISD:"DCPU-16N 0.7 Instruction set"
CPUE:LE
CPUM:8
CPUW:16
FILEE:LE
</HEAD>
<KEYWORD>
+N"[sp]"
peek
+N"pk"
pick
+N"SO"
pop
+N"SA"
push
</KEYWORD>
<REG>
+N"r"
A:%000
B:%001
C:%010
X:%011
Y:%100
Z:%101
I:%110
J:%111
+N"sp"
SP
+N"c"
PC:%0
EX:%1
</REG>
<LIT>
+N"li",L5,O1
-1,30:L5*
+N"la",L16
*:+:+AL16*
</LIT>
<GROUP>
"PB":"r":%00+\1
"PB":"[r]":%01+\1
"PB":"[r+la]":%10+\1\2
"PB":"SA":%11000
"PB":"[sp]":%11001
"PB":"[sp+la]":%11010+\2
"PB":"pkla":%11010+\2
"PB":"sp":%11011
"PB":"c":%1110+\1
"PB":"la":%11111+\1
"PB":"[la]":%11110+\1
"PA":"r":%000+\1
"PA":"[r]":%001+\1
"PA":"[r+la]":%010+\1\2
"PA":"SO":%011000
"PA":"[sp]":%011001
"PA":"[sp+la]":%011010+\2
"PA":"pkla":%011010+\2
"PA":"sp":%011011
"PA":"c":%01110+\1
"PA":"li":%1+\1
"PA":"la":%011111+\1
"PA":"[la]":%011110+\1
</GROUP>
<OPCODE>
# normal opcode set
SET:2:"PB,PA": +\2+\1+%00001
ADD:2:"PB,PA": +\2+\1+%00010
SUB:2:"PB,PA": +\2+\1+%00011
MUL:2:"PB,PA": +\2+\1+%00100
MLI:2:"PB,PA": +\2+\1+%00101
DIV:2:"PB,PA": +\2+\1+%00110
DVI:2:"PB,PA": +\2+\1+%00111
MOD:2:"PB,PA": +\2+\1+%01000
MDI:2:"PB,PA": +\2+\1+%01001
AND:2:"PB,PA": +\2+\1+%01010
BOR:2:"PB,PA": +\2+\1+%01011
XOR:2:"PB,PA": +\2+\1+%01100
SHR:2:"PB,PA": +\2+\1+%01101
ASR:2:"PB,PA": +\2+\1+%01110
SHL:2:"PB,PA": +\2+\1+%01111
IFB:2:"PB,PA": +\2+\1+%10000
IFC:2:"PB,PA": +\2+\1+%10001
IFE:2:"PB,PA": +\2+\1+%10010
IFN:2:"PB,PA": +\2+\1+%10011
IFG:2:"PB,PA": +\2+\1+%10100
IFA:2:"PB,PA": +\2+\1+%10101
IFL:2:"PB,PA": +\2+\1+%10110
IFU:2:"PB,PA": +\2+\1+%10111
#XX0:2:"PB,PA": +\2+\1+%11000
#XX1:2:"PB,PA": +\2+\1+%11001
ADX:2:"PB,PA": +\2+\1+%11010
SBX:2:"PB,PA": +\2+\1+%11011
HWW:2:"PB,PA": +\2+\1+%11100
HWR:2:"PB,PA": +\2+\1+%11101
STI:2:"PB,PA": +\2+\1+%11110
STD:2:"PB,PA": +\2+\1+%11111
# special opcode set
JSR:1:"PA": \1+%0000100000
BSR:1:"PA": \1+%0001000000
NEG:1:"PA": \1+%0010100000
HCF:1:"PA": \1+%0011100000
INT:1:"PA": \1+%0100000000
IAG:1:"PA": \1+%0100100000
IAS:1:"PA": \1+%0101000000
RFI:1:"PA": \1+%0101100000
RFI:0:"": %100001+%0101100000
IAQ:1:"PA": \1+%0110000000
MMW:1:"PA": \1+%1000000000
MMR:1:"PA": \1+%1000100000
SXB:1:"PA": \1+%1010000000
SWP:1:"PA": \1+%1010100000
HLT:0:"": +%0000000000000000
SLP:0:"": +%0000010000000000
BYT.H:0:"": +%1001000000000000
BYT.L:0:"": +%0001000000000000
SKP:0:"": +%0100000000000000
</OPCODE>