mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-13 15:27:18 +00:00
while also adding some consistency. All listings now list . (dot) as defined so they need updating.
305 lines
18 KiB
Plaintext
305 lines
18 KiB
Plaintext
1 ;;;;;
|
|
2 ;
|
|
3 ; Use all opcodes once
|
|
4 ;
|
|
5
|
|
6 000000 000000 halt
|
|
7 000002 000001 wait
|
|
8 000004 000002 rti
|
|
9 000006 000003 bpt
|
|
10 000010 000004 iot
|
|
11 000012 000005 reset
|
|
12 000014 000006 rtt
|
|
13 000016 000007 mfpt
|
|
14
|
|
15 ; 00 00 10 ... 00 00 77 unused
|
|
16
|
|
17 000020 000167 177774 jmp .
|
|
18 000024 000207 rts pc
|
|
19
|
|
20 ; 00 02 10 ... 00 02 27 unused
|
|
21
|
|
22 000026 000233 spl 3
|
|
23 000030 000240 nop ; = clear NO condition codes
|
|
24
|
|
25 000032 000241 clc
|
|
26 000034 000242 clv
|
|
27 000036 000244 clz
|
|
28 000040 000250 cln
|
|
29 000042 000257 ccc
|
|
30
|
|
31 000044 000261 sec
|
|
32 000046 000262 sev
|
|
33 000050 000264 sez
|
|
34 000052 000270 sen
|
|
35 000054 000277 scc
|
|
36
|
|
37 000056 000333 swab @(r3)+
|
|
38
|
|
39 000060 000777 br .
|
|
40 000062 001377 bne .
|
|
41 000064 001777 beq .
|
|
42 000066 002377 bge .
|
|
43 000070 002777 blt .
|
|
44 000072 003377 bgt .
|
|
45 000074 003777 ble .
|
|
46
|
|
47 000076 004767 177774 jsr pc,.
|
|
48
|
|
49 000102 005033 clr @(r3)+
|
|
50 000104 005133 com @(r3)+
|
|
51 000106 005233 inc @(r3)+
|
|
52 000110 005333 dec @(r3)+
|
|
53 000112 005433 neg @(r3)+
|
|
54 000114 005533 adc @(r3)+
|
|
55 000116 005633 sbc @(r3)+
|
|
56 000120 005733 tst @(r3)+
|
|
57
|
|
58 000122 006033 ror @(r3)+
|
|
59 000124 006133 rol @(r3)+
|
|
60 000126 006233 asr @(r3)+
|
|
61 000130 006333 asl @(r3)+
|
|
62 000132 006433 mark #33
|
|
63 000134 006533 mfpi @(r3)+
|
|
64 000136 006633 mtpi @(r3)+
|
|
65 000140 006733 sxt @(r3)+
|
|
66
|
|
67 000142 007033 csm @(r3)+ ; only some models
|
|
68 ; 00 71 00 ... 00 71 77 unused
|
|
69 000144 007233 tstset @(r3)+ ; only some models
|
|
70 000146 007333 wrtlck @(r3)+ ; only some models
|
|
71
|
|
72 ; 00 74 00 ... 00 77 77 unused
|
|
73
|
|
74 000150 011122 mov (r1),(r2)+
|
|
75 000152 021122 cmp (r1),(r2)+
|
|
76 000154 031122 bit (r1),(r2)+
|
|
77 000156 041122 bic (r1),(r2)+
|
|
78 000160 051122 bis (r1),(r2)+
|
|
79 000162 061122 add (r1),(r2)+
|
|
80
|
|
81 000164 070211 mul (r1),r2
|
|
82 000166 071211 div (r1),r2
|
|
83 000170 072211 ash (r1),r2
|
|
84 000172 073211 ashc (r1),r2
|
|
85 000174 074122 xor r1,(r2)+
|
|
86
|
|
87 000176 075001 fadd r1 ; PDP-11/35, 11/40 floating point unit (FIS)
|
|
88 000200 075011 fsub r1
|
|
89 000202 075021 fmul r1
|
|
90 000204 075031 fdiv r1
|
|
91
|
|
92 ; 07 50 40 ... 07 60 17 unused
|
|
93
|
|
94 ; 07 60 20 ... 07 61 77 CIS Commercial Instruction Set
|
|
95
|
|
96 ; 07600x unused
|
|
97 ; 07601x unused
|
|
98 000206 076020 l2d0 ; 07602x
|
|
99 000210 076021 l2d1
|
|
100 000212 076022 l2d2
|
|
101 000214 076023 l2d3
|
|
102 000216 076024 l2d4
|
|
103 000220 076025 l2d5
|
|
104 000222 076026 l2d6
|
|
105 000224 076027 l2d7
|
|
106
|
|
107 000226 076030 movc ; 07603x
|
|
108 000230 076031 movrc
|
|
109 000232 076032 movtc
|
|
110 ; 3..7?
|
|
111
|
|
112 000234 076040 locc ;07604x
|
|
113 000236 076041 skpc
|
|
114 000240 076042 scanc
|
|
115 000242 076043 spanc
|
|
116 000244 076044 cmpc
|
|
117 000246 076045 matc
|
|
118 ; 6..7?
|
|
119
|
|
120 000250 076050 addn ; 07605x
|
|
121 000252 076051 subn
|
|
122 000254 076052 cmpn
|
|
123 000256 076053 cvtnl
|
|
124 000260 076054 cvtpn
|
|
125 000262 076055 cvtnp
|
|
126 000264 076056 ashn
|
|
127 000266 076057 cvtln
|
|
128
|
|
129 000270 076060 l3d0 ; 07606x
|
|
130 000272 076061 l3d1
|
|
131 000274 076062 l3d2
|
|
132 000276 076063 l3d3
|
|
133 000300 076064 l3d4
|
|
134 000302 076065 l3d5
|
|
135 000304 076066 l3d6
|
|
136 000306 076067 l3d7
|
|
137
|
|
138 000310 076070 addp ; 07607x
|
|
139 000312 076071 subp
|
|
140 000314 076072 cmpp
|
|
141 000316 076073 cvtlp
|
|
142 000320 076073 cvtpl
|
|
143 000322 076074 mulp
|
|
144 000324 076075 divp
|
|
145 000326 076076 ashp
|
|
146 ; 7?
|
|
147 ; 07610x unused
|
|
148 ; 07611x unused
|
|
149 ; 07612x unused: would be L2D0I
|
|
150
|
|
151 ; All the *I instructions need inline operands, which are omitted in this test.
|
|
152 ; This Macro11 (as an extension) allows to specify them as arguments
|
|
153 ; following the opcode, so you don't have to use inline .word directives.
|
|
154
|
|
155 000330 076130 movci ; 07613x
|
|
156 000332 076131 movrci
|
|
157 000334 076132 movtci
|
|
158 ; 3..7?
|
|
159
|
|
160 000336 076140 locci ; 07614x
|
|
161 000340 076141 skpci
|
|
162 000342 076142 scanci
|
|
163 000344 076143 spanci
|
|
164 000346 076144 cmpci
|
|
165 000350 076145 matci
|
|
166 ; 6..7?
|
|
167
|
|
168 000352 076150 addni ; 07615x
|
|
169 000354 076151 subni
|
|
170 000356 076152 cmpni
|
|
171 000360 076153 cvtnli
|
|
172 000362 076154 cvtpni
|
|
173 000364 076155 cvtnpi
|
|
174 000366 076156 ashni
|
|
175 000370 076157 cvtlni
|
|
176
|
|
177 ; 07616x unused: would be L3D0I
|
|
178
|
|
179 000372 076170 addpi ; 07617x
|
|
180 000374 076171 subpi
|
|
181 000376 076172 cmppi
|
|
182 000400 076177 cvtlpi
|
|
183 000402 076173 cvtpli
|
|
184 000404 076174 mulpi
|
|
185 000406 076175 divpi
|
|
186 000410 076176 ashpi
|
|
187 ; 7?
|
|
188
|
|
189 ; 07 62 00 ... 07 67 77 unused
|
|
190
|
|
191 000412 077101 sob r1,.
|
|
192
|
|
193 000414 100377 bpl .
|
|
194 000416 100777 bmi .
|
|
195 000420 101377 bhi .
|
|
196 000422 101777 blos .
|
|
197 000424 102377 bvc .
|
|
198 000426 103377 bcc .
|
|
199 000430 103377 bhis . ; same
|
|
200 000432 103777 bcs .
|
|
201 000434 103777 blo . ; same
|
|
202
|
|
203 000436 104000 emt #0 ; ...
|
|
204 000440 104377 emt #255.
|
|
205 000442 104400 trap #0 ; ...
|
|
206 000444 104777 trap #255.
|
|
207
|
|
208 000446 105033 clrb @(r3)+
|
|
209 000450 105133 comb @(r3)+
|
|
210 000452 105233 incb @(r3)+
|
|
211 000454 105333 decb @(r3)+
|
|
212 000456 105433 negb @(r3)+
|
|
213 000460 105533 adcb @(r3)+
|
|
214 000462 105633 sbcb @(r3)+
|
|
215 000464 105733 tstb @(r3)+
|
|
216
|
|
217 000466 106033 rorb @(r3)+
|
|
218 000470 106133 rolb @(r3)+
|
|
219 000472 106233 asrb @(r3)+
|
|
220 000474 106333 aslb @(r3)+
|
|
221
|
|
222 000476 106433 mtps @(r3)+
|
|
223 000500 106511 mfpd (r1)
|
|
224 000502 106611 mtpd (r1)
|
|
225 000504 106733 mfps @(r3)+
|
|
226
|
|
227 000506 111122 movb (r1),(r2)+
|
|
228 000510 121122 cmpb (r1),(r2)+
|
|
229 000512 131122 bitb (r1),(r2)+
|
|
230 000514 141122 bicb (r1),(r2)+
|
|
231 000516 151122 bisb (r1),(r2)+
|
|
232 000520 161122 sub (r1),(r2)+
|
|
233
|
|
234 ; 17 00 00 ... 17 77 77 Floating Point Processor (FPP) floating point
|
|
235
|
|
236 000522 170000 cfcc
|
|
237 000524 170001 setf
|
|
238 000526 170002 seti
|
|
239 000530 170011 setd
|
|
240 000532 170012 setl
|
|
241
|
|
242 000534 170131 ldfps @(r1)+
|
|
243 000536 170231 stfps @(r1)+
|
|
244 000540 170331 stst @(r1)+
|
|
245
|
|
246 000001 ac1 = %1
|
|
247 000005 ac5 = %5
|
|
248
|
|
249 000542 170405 clrf ac5 ; fdst: fpp register or general mode (not register)
|
|
250 000544 170435 clrd @(r5)+ ; same opcode
|
|
251 000546 170505 tstf ac5
|
|
252 000550 170535 tstd @(r5)+ ; same opcode
|
|
253 000552 170605 absf ac5
|
|
254 000554 170635 absd @(r5)+ ; same opcode
|
|
255 000556 170705 negf ac5
|
|
256 000560 170735 negd @(r5)+ ; same opcode
|
|
257
|
|
258 000562 171135 mulf @(r5)+,ac1
|
|
259 000564 171105 muld ac5,ac1 ; same opcode
|
|
260 000566 171535 modf @(r5)+,ac1
|
|
261 000570 171505 modd ac5,ac1 ; same opcode
|
|
262 000572 172135 addf @(r5)+,ac1
|
|
263 000574 172105 addd r5,ac1 ; same opcode
|
|
264 000576 172535 ldf @(r5)+,ac1
|
|
265 000600 172505 ldd r5,ac1 ; same opcode
|
|
266 000602 173135 subf @(r5)+,ac1
|
|
267 000604 173105 subd r5,ac1 ; same opcode
|
|
268
|
|
269 000606 173535 cmpf @(r5)+,ac1
|
|
270 000610 173505 cmpd r5,ac1 ; same opcode
|
|
271 000612 174135 stf ac1,@(r5)+
|
|
272 000614 174105 std ac1,r5 ; same opcode
|
|
273 000616 174535 divf @(r5)+,ac1
|
|
274 000620 174505 divd r5,ac1 ; same opcode
|
|
275
|
|
276 000622 175135 stexp ac1,@(r5)+
|
|
277 000624 175535 stcfi ac1,@(r5)+
|
|
278 000626 175535 stcfl ac1,@(r5)+ ; same opcode
|
|
279 000630 175535 stcdi ac1,@(r5)+ ; same opcode
|
|
280 000632 175535 stcdl ac1,@(r5)+ ; same opcode
|
|
281 000634 176135 stcfd ac1,@(r5)+
|
|
282 000636 176135 stcdf ac1,@(r5)+ ; same opcode
|
|
283
|
|
284 000640 176535 ldexp @(r5)+,ac1
|
|
285 000642 177135 ldcif @(r5)+,ac1 ; same opcode
|
|
286 000644 177135 ldcid @(r5)+,ac1 ; same opcode
|
|
287 000646 177135 ldclf @(r5)+,ac1 ; same opcode
|
|
288 000650 177135 ldcld @(r5)+,ac1 ; same opcode
|
|
289 000652 177535 ldcdf @(r5)+,ac1
|
|
290 000654 177535 ldcfd @(r5)+,ac1 ; same opcode
|
|
291
|
|
292 .end
|
|
292
|
|
|
|
|
|
Symbol table
|
|
|
|
. 000656R 001 AC1 =%000001 AC5 =%000005
|
|
|
|
|
|
Program sections:
|
|
|
|
. ABS. 000000 000 (RW,I,GBL,ABS,OVR,NOSAV)
|
|
000656 001 (RW,I,LCL,REL,CON,NOSAV)
|