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)