The instructions to be described on this page have the formats, taken from the main illustration of instruction formats on the first page of this section, shown in this diagram:
As well, the 33-bit alternate instructions as illustrated in this diagram:
include memory-to-register operate instructions, which are also listed below.
And the 48-bit memory reference instructions, as illustrated in this diagram:
both the form that only uses one bit to indicate an index scaled to the operand size, and the form that uses a three-bit field, to allow the left shift to be applied to the index to be specified directly, are listed below as well.
The opcodes for these instructions are:
Three-Address Two-Address 33-bit Memory 48-bit Memory 48-bit Scaled Reference Reference Memory Reference 153000 xxxxxx 153600 000xxx 00xxx0 xxxxxx 170000 00xxxx xxxxxx 170200 00xxxx xxxxxx SWB Swap Byte 153002 xxxxxx 153600 004xxx 00xxx1 xxxxxx 170000 01xxxx xxxxxx 170200 04xxxx xxxxxx CB Compare Byte 153010 xxxxxx 153600 010xxx 00xxx2 xxxxxx 170000 02xxxx xxxxxx 170200 10xxxx xxxxxx LB Load Byte 00xxx3 xxxxxx 170000 03xxxx xxxxxx 170200 14xxxx xxxxxx STB Store Byte 153020 xxxxxx 153600 020xxx 01xxx0 xxxxxx 170000 04xxxx xxxxxx 170201 00xxxx xxxxxx AB Add Byte 153022 xxxxxx 153600 024xxx 01xxx1 xxxxxx 170000 05xxxx xxxxxx 170201 04xxxx xxxxxx SB Subtract Byte 153040 xxxxxx 153600 040xxx 02xxx0 xxxxxx 170000 07xxxx xxxxxx 170201 14xxxx xxxxxx IB Insert Byte 153050 xxxxxx 153600 050xxx 02xxx2 xxxxxx 170000 12xxxx xxxxxx 170202 10xxxx xxxxxx ULB Unsigned Load Byte 153052 xxxxxx 153600 054xxx 02xxx3 xxxxxx 170000 13xxxx xxxxxx 170202 14xxxx xxxxxx XB Exclusive OR Byte 153060 xxxxxx 153600 060xxx 03xxx0 xxxxxx 170000 14xxxx xxxxxx 170203 00xxxx xxxxxx NB AND Byte 153062 xxxxxx 153600 064xxx 03xxx1 xxxxxx 170000 15xxxx xxxxxx 170203 04xxxx xxxxxx OB OR Byte 153100 xxxxxx 153600 100xxx 04xxx0 xxxxxx 170001 00xxxx xxxxxx 170210 00xxxx xxxxxx SWH Swap Halfword 153102 xxxxxx 153600 104xxx 04xxx1 xxxxxx 170001 01xxxx xxxxxx 170210 04xxxx xxxxxx CH Compare Halfword 153110 xxxxxx 153600 110xxx 04xxx2 xxxxxx 170001 02xxxx xxxxxx 170210 10xxxx xxxxxx LH Load Halfword 04xxx3 xxxxxx 170001 03xxxx xxxxxx 170210 14xxxx xxxxxx STH Store Halfword 153120 xxxxxx 153600 120xxx 05xxx0 xxxxxx 170001 04xxxx xxxxxx 170211 00xxxx xxxxxx AH Add Halfword 153122 xxxxxx 153600 124xxx 05xxx1 xxxxxx 170001 05xxxx xxxxxx 170211 04xxxx xxxxxx SH Subtract Halfword 153130 xxxxxx 153600 130xxx 05xxx2 xxxxxx 170001 06xxxx xxxxxx 170211 10xxxx xxxxxx MH Multiply Halfword 153132 xxxxxx 153600 134xxx 05xxx3 xxxxxx 170001 07xxxx xxxxxx 170211 14xxxx xxxxxx DH Divide Halfword 153140 xxxxxx 153600 140xxx 06xxx0 xxxxxx 170001 10xxxx xxxxxx 170212 00xxxx xxxxxx IH Insert Halfword 153150 xxxxxx 153600 150xxx 06xxx2 xxxxxx 170001 12xxxx xxxxxx 170212 10xxxx xxxxxx ULH Unsigned Load Halfword 153152 xxxxxx 153600 154xxx 06xxx3 xxxxxx 170001 13xxxx xxxxxx 170212 14xxxx xxxxxx XH Exclusive OR Halfword 153160 xxxxxx 153600 160xxx 07xxx0 xxxxxx 170001 14xxxx xxxxxx 170213 00xxxx xxxxxx NH AND Halfword 153162 xxxxxx 153600 164xxx 07xxx1 xxxxxx 170001 15xxxx xxxxxx 170213 04xxxx xxxxxx OH OR Halfword 153170 xxxxxx 153600 170xxx 07xxx2 xxxxxx 170001 16xxxx xxxxxx 170213 10xxxx xxxxxx MEH Multiply Extensibly Halfword 153172 xxxxxx 153600 174xxx 07xxx3 xxxxxx 170001 17xxxx xxxxxx 170213 14xxxx xxxxxx DEH Divide Extensibly Halfword 153200 xxxxxx 153601 000xxx 10xxx0 xxxxxx 170002 00xxxx xxxxxx 170220 00xxxx xxxxxx SW Swap 153202 xxxxxx 153601 004xxx 10xxx1 xxxxxx 170002 01xxxx xxxxxx 170220 04xxxx xxxxxx C Compare 153210 xxxxxx 153601 010xxx 10xxx2 xxxxxx 170002 02xxxx xxxxxx 170220 10xxxx xxxxxx L Load 10xxx3 xxxxxx 170002 03xxxx xxxxxx 170220 14xxxx xxxxxx ST Store 153220 xxxxxx 153601 020xxx 11xxx0 xxxxxx 170002 04xxxx xxxxxx 170221 00xxxx xxxxxx A Add 153222 xxxxxx 153601 024xxx 11xxx1 xxxxxx 170002 05xxxx xxxxxx 170221 04xxxx xxxxxx S Subtract 153230 xxxxxx 153601 030xxx 11xxx2 xxxxxx 170002 06xxxx xxxxxx 170221 10xxxx xxxxxx M Multiply 153232 xxxxxx 153601 034xxx 11xxx3 xxxxxx 170002 07xxxx xxxxxx 170221 14xxxx xxxxxx D Divide 153240 xxxxxx 153601 040xxx 12xxx0 xxxxxx 170002 10xxxx xxxxxx 170222 00xxxx xxxxxx I Insert 153250 xxxxxx 153601 050xxx 12xxx2 xxxxxx 170002 12xxxx xxxxxx 170222 10xxxx xxxxxx UL Unsigned Load 153252 xxxxxx 153601 054xxx 12xxx3 xxxxxx 170002 13xxxx xxxxxx 170222 14xxxx xxxxxx X Exclusive OR 153260 xxxxxx 153601 060xxx 13xxx0 xxxxxx 170002 14xxxx xxxxxx 170223 00xxxx xxxxxx N AND 153262 xxxxxx 153601 064xxx 13xxx1 xxxxxx 170002 15xxxx xxxxxx 170223 04xxxx xxxxxx O OR 153270 xxxxxx 153601 070xxx 13xxx2 xxxxxx 170002 16xxxx xxxxxx 170223 10xxxx xxxxxx ME Multiply Extensibly 153272 xxxxxx 153601 074xxx 13xxx3 xxxxxx 170002 17xxxx xxxxxx 170223 14xxxx xxxxxx DE Divide Extensibly 153300 xxxxxx 153601 100xxx 14xxx0 xxxxxx 170003 00xxxx xxxxxx 170230 00xxxx xxxxxx SWL Swap Long 153302 xxxxxx 153601 104xxx 14xxx1 xxxxxx 170003 01xxxx xxxxxx 170230 04xxxx xxxxxx CL Compare Long 153310 xxxxxx 153601 110xxx 14xxx2 xxxxxx 170003 02xxxx xxxxxx 170230 10xxxx xxxxxx LL Load Long 14xxx3 xxxxxx 170003 03xxxx xxxxxx 170230 14xxxx xxxxxx STL Store Long 153320 xxxxxx 153601 120xxx 15xxx0 xxxxxx 170003 04xxxx xxxxxx 170231 00xxxx xxxxxx AL Add Long 153322 xxxxxx 153601 124xxx 15xxx1 xxxxxx 170003 05xxxx xxxxxx 170231 04xxxx xxxxxx SL Subtract Long 153330 xxxxxx 153601 130xxx 15xxx2 xxxxxx 170003 06xxxx xxxxxx 170231 10xxxx xxxxxx ML Multiply Long 153332 xxxxxx 153601 134xxx 15xxx3 xxxxxx 170003 07xxxx xxxxxx 170231 14xxxx xxxxxx DL Divide Long 153352 xxxxxx 153601 154xxx 16xxx3 xxxxxx 170003 13xxxx xxxxxx 170232 14xxxx xxxxxx XL Exclusive OR Long 153360 xxxxxx 153601 160xxx 17xxx0 xxxxxx 170003 14xxxx xxxxxx 170233 00xxxx xxxxxx NL AND Long 153362 xxxxxx 153601 164xxx 17xxx1 xxxxxx 170003 15xxxx xxxxxx 170233 04xxxx xxxxxx OL OR Long 153370 xxxxxx 153601 170xxx 17xxx2 xxxxxx 170003 16xxxx xxxxxx 170233 10xxxx xxxxxx MEL Multiply Extensibly Long 153372 xxxxxx 153601 174xxx 17xxx3 xxxxxx 170003 17xxxx xxxxxx 170233 14xxxx xxxxxx DEL Divide Extensibly Long 153400 xxxxxx 153602 000xxx 20xxx0 xxxxxx 170010 00xxxx xxxxxx 170240 00xxxx xxxxxx SWM Swap Medium 153402 xxxxxx 153602 004xxx 20xxx1 xxxxxx 170010 01xxxx xxxxxx 170240 04xxxx xxxxxx CM Compare Medium 153410 xxxxxx 153602 010xxx 20xxx2 xxxxxx 170010 02xxxx xxxxxx 170240 10xxxx xxxxxx LM Load Medium 20xxx3 xxxxxx 170010 03xxxx xxxxxx 170240 14xxxx xxxxxx STM Store Medium 153420 xxxxxx 153602 020xxx 21xxx0 xxxxxx 170010 04xxxx xxxxxx 170241 00xxxx xxxxxx AM Add Medium 153422 xxxxxx 153602 024xxx 21xxx1 xxxxxx 170010 05xxxx xxxxxx 170241 04xxxx xxxxxx SM Subtract Medium 153430 xxxxxx 153602 030xxx 21xxx2 xxxxxx 170010 06xxxx xxxxxx 170241 10xxxx xxxxxx MM Multiply Medium 153432 xxxxxx 153602 034xxx 21xxx3 xxxxxx 170010 07xxxx xxxxxx 170241 14xxxx xxxxxx DM Divide Medium 153440 xxxxxx 153602 040xxx 22xxx0 xxxxxx 170011 00xxxx xxxxxx 170242 00xxxx xxxxxx SWF Swap Floating 153442 xxxxxx 153602 044xxx 22xxx1 xxxxxx 170011 01xxxx xxxxxx 170242 04xxxx xxxxxx CF Compare Floating 153450 xxxxxx 153602 050xxx 22xxx2 xxxxxx 170011 02xxxx xxxxxx 170242 10xxxx xxxxxx LF Load Floating 22xxx3 xxxxxx 170011 03xxxx xxxxxx 170242 14xxxx xxxxxx STF Store Floating 153460 xxxxxx 153602 060xxx 23xxx0 xxxxxx 170011 04xxxx xxxxxx 170243 00xxxx xxxxxx AF Add Floating 153462 xxxxxx 153602 064xxx 23xxx1 xxxxxx 170011 05xxxx xxxxxx 170243 04xxxx xxxxxx SF Subtract Floating 153470 xxxxxx 153602 070xxx 23xxx2 xxxxxx 170011 06xxxx xxxxxx 170243 10xxxx xxxxxx MF Multiply Floating 153472 xxxxxx 153602 074xxx 23xxx3 xxxxxx 170011 07xxxx xxxxxx 170243 14xxxx xxxxxx DF Divide Floating 153500 xxxxxx 153602 100xxx 24xxx0 xxxxxx 170012 00xxxx xxxxxx 170250 00xxxx xxxxxx SWD Swap Double 153502 xxxxxx 153602 104xxx 24xxx1 xxxxxx 170012 01xxxx xxxxxx 170250 04xxxx xxxxxx CD Compare Double 153510 xxxxxx 153602 110xxx 24xxx2 xxxxxx 170012 02xxxx xxxxxx 170250 10xxxx xxxxxx LD Load Double 24xxx3 xxxxxx 170012 03xxxx xxxxxx 170250 14xxxx xxxxxx STD Store Double 153520 xxxxxx 153602 120xxx 25xxx0 xxxxxx 170012 04xxxx xxxxxx 170251 00xxxx xxxxxx AD Add Double 153522 xxxxxx 153602 124xxx 25xxx1 xxxxxx 170012 05xxxx xxxxxx 170251 04xxxx xxxxxx SD Subtract Double 153530 xxxxxx 153602 130xxx 25xxx2 xxxxxx 170012 06xxxx xxxxxx 170251 10xxxx xxxxxx MD Multiply Double 153532 xxxxxx 153602 134xxx 25xxx3 xxxxxx 170012 07xxxx xxxxxx 170251 14xxxx xxxxxx DD Double 153540 xxxxxx 153602 140xxx 26xxx0 xxxxxx 170001 00xxxx xxxxxx 170252 00xxxx xxxxxx SWQ Swap Quad 153542 xxxxxx 153602 144xxx 26xxx1 xxxxxx 170001 01xxxx xxxxxx 170252 04xxxx xxxxxx CQ Compare Quad 153550 xxxxxx 153602 150xxx 26xxx2 xxxxxx 170001 02xxxx xxxxxx 170252 10xxxx xxxxxx LQ Load Quad 26xxx3 xxxxxx 170001 03xxxx xxxxxx 170252 14xxxx xxxxxx STQ Store Quad 153560 xxxxxx 153602 160xxx 27xxx0 xxxxxx 170001 04xxxx xxxxxx 170253 00xxxx xxxxxx AQ Add Quad 153562 xxxxxx 153602 164xxx 27xxx1 xxxxxx 170001 05xxxx xxxxxx 170253 04xxxx xxxxxx SQ Subtract Quad 153570 xxxxxx 153602 170xxx 27xxx2 xxxxxx 170001 06xxxx xxxxxx 170253 10xxxx xxxxxx MQ Multiply Quad 153572 xxxxxx 153602 174xxx 27xxx3 xxxxxx 170001 07xxxx xxxxxx 170253 14xxxx xxxxxx DQ Divide Quad
Most of these operations were defined on the page concerning 17-bit and 15-bit instructions.
Subsequent pages will give opcodes for additional instructions with these formats, for performing operations on data types other than two's complement binary integers and IEEE 754 (or similar, in the case of the Medium length) floating point.