open-simh.simtools/tests/test-opcodes.lst.ok
Olaf Seibert 0ab2a4fa16 Add consistency checking for symbol flags
while also adding some consistency.
All listings now list . (dot) as defined so they need updating.
2021-05-30 13:19:39 +02:00

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)