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 156000 xxxxxx 157000 000xxx 00xxx0 xxxxxx 170000 00xxxx xxxxxx 170200 00xxxx xxxxxx SWB Swap Byte 156002 xxxxxx 157000 004xxx 00xxx1 xxxxxx 170000 01xxxx xxxxxx 170200 04xxxx xxxxxx CB Compare Byte 156010 xxxxxx 157000 010xxx 00xxx2 xxxxxx 170000 02xxxx xxxxxx 170200 10xxxx xxxxxx LB Load Byte 00xxx3 xxxxxx 170000 03xxxx xxxxxx 170200 14xxxx xxxxxx STB Store Byte 156020 xxxxxx 157000 020xxx 01xxx0 xxxxxx 170000 04xxxx xxxxxx 170201 00xxxx xxxxxx AB Add Byte 156022 xxxxxx 157000 024xxx 01xxx1 xxxxxx 170000 05xxxx xxxxxx 170201 04xxxx xxxxxx SB Subtract Byte 156040 xxxxxx 157000 040xxx 02xxx0 xxxxxx 170000 07xxxx xxxxxx 170201 14xxxx xxxxxx IB Insert Byte 156050 xxxxxx 157000 050xxx 02xxx2 xxxxxx 170000 12xxxx xxxxxx 170202 10xxxx xxxxxx ULB Unsigned Load Byte 156052 xxxxxx 157000 054xxx 02xxx3 xxxxxx 170000 13xxxx xxxxxx 170202 14xxxx xxxxxx XB Exclusive OR Byte 156060 xxxxxx 157000 060xxx 03xxx0 xxxxxx 170000 14xxxx xxxxxx 170203 00xxxx xxxxxx NB AND Byte 156062 xxxxxx 157000 064xxx 03xxx1 xxxxxx 170000 15xxxx xxxxxx 170203 04xxxx xxxxxx OB OR Byte 156100 xxxxxx 157000 100xxx 04xxx0 xxxxxx 170001 00xxxx xxxxxx 170210 00xxxx xxxxxx SWH Swap Halfword 156102 xxxxxx 157000 104xxx 04xxx1 xxxxxx 170001 01xxxx xxxxxx 170210 04xxxx xxxxxx CH Compare Halfword 156110 xxxxxx 157000 110xxx 04xxx2 xxxxxx 170001 02xxxx xxxxxx 170210 10xxxx xxxxxx LH Load Halfword 04xxx3 xxxxxx 170001 03xxxx xxxxxx 170210 14xxxx xxxxxx STH Store Halfword 156120 xxxxxx 157000 120xxx 05xxx0 xxxxxx 170001 04xxxx xxxxxx 170211 00xxxx xxxxxx AH Add Halfword 156122 xxxxxx 157000 124xxx 05xxx1 xxxxxx 170001 05xxxx xxxxxx 170211 04xxxx xxxxxx SH Subtract Halfword 156130 xxxxxx 157000 130xxx 05xxx2 xxxxxx 170001 06xxxx xxxxxx 170211 10xxxx xxxxxx MH Multiply Halfword 156132 xxxxxx 157000 134xxx 05xxx3 xxxxxx 170001 07xxxx xxxxxx 170211 14xxxx xxxxxx DH Divide Halfword 156140 xxxxxx 157000 140xxx 06xxx0 xxxxxx 170001 10xxxx xxxxxx 170212 00xxxx xxxxxx IH Insert Halfword 156150 xxxxxx 157000 150xxx 06xxx2 xxxxxx 170001 12xxxx xxxxxx 170212 10xxxx xxxxxx ULH Unsigned Load Halfword 156152 xxxxxx 157000 154xxx 06xxx3 xxxxxx 170001 13xxxx xxxxxx 170212 14xxxx xxxxxx XH Exclusive OR Halfword 156160 xxxxxx 157000 160xxx 07xxx0 xxxxxx 170001 14xxxx xxxxxx 170213 00xxxx xxxxxx NH AND Halfword 156162 xxxxxx 157000 164xxx 07xxx1 xxxxxx 170001 15xxxx xxxxxx 170213 04xxxx xxxxxx OH OR Halfword 156170 xxxxxx 157000 170xxx 07xxx2 xxxxxx 170001 16xxxx xxxxxx 170213 10xxxx xxxxxx MEH Multiply Extensibly Halfword 156172 xxxxxx 157000 174xxx 07xxx3 xxxxxx 170001 17xxxx xxxxxx 170213 14xxxx xxxxxx DEH Divide Extensibly Halfword 156200 xxxxxx 157001 000xxx 10xxx0 xxxxxx 170002 00xxxx xxxxxx 170220 00xxxx xxxxxx SW Swap 156202 xxxxxx 157001 004xxx 10xxx1 xxxxxx 170002 01xxxx xxxxxx 170220 04xxxx xxxxxx C Compare 156210 xxxxxx 157001 010xxx 10xxx2 xxxxxx 170002 02xxxx xxxxxx 170220 10xxxx xxxxxx L Load 10xxx3 xxxxxx 170002 03xxxx xxxxxx 170220 14xxxx xxxxxx ST Store 156220 xxxxxx 157001 020xxx 11xxx0 xxxxxx 170002 04xxxx xxxxxx 170221 00xxxx xxxxxx A Add 156222 xxxxxx 157001 024xxx 11xxx1 xxxxxx 170002 05xxxx xxxxxx 170221 04xxxx xxxxxx S Subtract 156230 xxxxxx 157001 030xxx 11xxx2 xxxxxx 170002 06xxxx xxxxxx 170221 10xxxx xxxxxx M Multiply 156232 xxxxxx 157001 034xxx 11xxx3 xxxxxx 170002 07xxxx xxxxxx 170221 14xxxx xxxxxx D Divide 156240 xxxxxx 157001 040xxx 12xxx0 xxxxxx 170002 10xxxx xxxxxx 170222 00xxxx xxxxxx I Insert 156250 xxxxxx 157001 050xxx 12xxx2 xxxxxx 170002 12xxxx xxxxxx 170222 10xxxx xxxxxx UL Unsigned Load 156252 xxxxxx 157001 054xxx 12xxx3 xxxxxx 170002 13xxxx xxxxxx 170222 14xxxx xxxxxx X Exclusive OR 156260 xxxxxx 157001 060xxx 13xxx0 xxxxxx 170002 14xxxx xxxxxx 170223 00xxxx xxxxxx N AND 156262 xxxxxx 157001 064xxx 13xxx1 xxxxxx 170002 15xxxx xxxxxx 170223 04xxxx xxxxxx O OR 156270 xxxxxx 157001 070xxx 13xxx2 xxxxxx 170002 16xxxx xxxxxx 170223 10xxxx xxxxxx ME Multiply Extensibly 156272 xxxxxx 157001 074xxx 13xxx3 xxxxxx 170002 17xxxx xxxxxx 170223 14xxxx xxxxxx DE Divide Extensibly 156300 xxxxxx 157001 100xxx 14xxx0 xxxxxx 170003 00xxxx xxxxxx 170230 00xxxx xxxxxx SWL Swap Long 156302 xxxxxx 157001 104xxx 14xxx1 xxxxxx 170003 01xxxx xxxxxx 170230 04xxxx xxxxxx CL Compare Long 156310 xxxxxx 157001 110xxx 14xxx2 xxxxxx 170003 02xxxx xxxxxx 170230 10xxxx xxxxxx LL Load Long 14xxx3 xxxxxx 170003 03xxxx xxxxxx 170230 14xxxx xxxxxx STL Store Long 156320 xxxxxx 157001 120xxx 15xxx0 xxxxxx 170003 04xxxx xxxxxx 170231 00xxxx xxxxxx AL Add Long 156322 xxxxxx 157001 124xxx 15xxx1 xxxxxx 170003 05xxxx xxxxxx 170231 04xxxx xxxxxx SL Subtract Long 156330 xxxxxx 157001 130xxx 15xxx2 xxxxxx 170003 06xxxx xxxxxx 170231 10xxxx xxxxxx ML Multiply Long 156332 xxxxxx 157001 134xxx 15xxx3 xxxxxx 170003 07xxxx xxxxxx 170231 14xxxx xxxxxx DL Divide Long 156352 xxxxxx 157001 154xxx 16xxx3 xxxxxx 170003 13xxxx xxxxxx 170232 14xxxx xxxxxx XL Exclusive OR Long 156360 xxxxxx 157001 160xxx 17xxx0 xxxxxx 170003 14xxxx xxxxxx 170233 00xxxx xxxxxx NL AND Long 156362 xxxxxx 157001 164xxx 17xxx1 xxxxxx 170003 15xxxx xxxxxx 170233 04xxxx xxxxxx OL OR Long 156370 xxxxxx 157001 170xxx 17xxx2 xxxxxx 170003 16xxxx xxxxxx 170233 10xxxx xxxxxx MEL Multiply Extensibly Long 156372 xxxxxx 157001 174xxx 17xxx3 xxxxxx 170003 17xxxx xxxxxx 170233 14xxxx xxxxxx DEL Divide Extensibly Long 156400 xxxxxx 157002 000xxx 20xxx0 xxxxxx 170010 00xxxx xxxxxx 170240 00xxxx xxxxxx SWM Swap Medium 156402 xxxxxx 157002 004xxx 20xxx1 xxxxxx 170010 01xxxx xxxxxx 170240 04xxxx xxxxxx CM Compare Medium 156410 xxxxxx 157002 010xxx 20xxx2 xxxxxx 170010 02xxxx xxxxxx 170240 10xxxx xxxxxx LM Load Medium 20xxx3 xxxxxx 170010 03xxxx xxxxxx 170240 14xxxx xxxxxx STM Store Medium 156420 xxxxxx 157002 020xxx 21xxx0 xxxxxx 170010 04xxxx xxxxxx 170241 00xxxx xxxxxx AM Add Medium 156422 xxxxxx 157002 024xxx 21xxx1 xxxxxx 170010 05xxxx xxxxxx 170241 04xxxx xxxxxx SM Subtract Medium 156430 xxxxxx 157002 030xxx 21xxx2 xxxxxx 170010 06xxxx xxxxxx 170241 10xxxx xxxxxx MM Multiply Medium 156432 xxxxxx 157002 034xxx 21xxx3 xxxxxx 170010 07xxxx xxxxxx 170241 14xxxx xxxxxx DM Divide Medium 156440 xxxxxx 157002 040xxx 22xxx0 xxxxxx 170011 00xxxx xxxxxx 170242 00xxxx xxxxxx SWF Swap Floating 156442 xxxxxx 157002 044xxx 22xxx1 xxxxxx 170011 01xxxx xxxxxx 170242 04xxxx xxxxxx CF Compare Floating 156450 xxxxxx 157002 050xxx 22xxx2 xxxxxx 170011 02xxxx xxxxxx 170242 10xxxx xxxxxx LF Load Floating 22xxx3 xxxxxx 170011 03xxxx xxxxxx 170242 14xxxx xxxxxx STF Store Floating 156460 xxxxxx 157002 060xxx 23xxx0 xxxxxx 170011 04xxxx xxxxxx 170243 00xxxx xxxxxx AF Add Floating 156462 xxxxxx 157002 064xxx 23xxx1 xxxxxx 170011 05xxxx xxxxxx 170243 04xxxx xxxxxx SF Subtract Floating 156470 xxxxxx 157002 070xxx 23xxx2 xxxxxx 170011 06xxxx xxxxxx 170243 10xxxx xxxxxx MF Multiply Floating 156472 xxxxxx 157002 074xxx 23xxx3 xxxxxx 170011 07xxxx xxxxxx 170243 14xxxx xxxxxx DF Divide Floating 156500 xxxxxx 157002 100xxx 24xxx0 xxxxxx 170012 00xxxx xxxxxx 170250 00xxxx xxxxxx SWD Swap Double 156502 xxxxxx 157002 104xxx 24xxx1 xxxxxx 170012 01xxxx xxxxxx 170250 04xxxx xxxxxx CD Compare Double 156510 xxxxxx 157002 110xxx 24xxx2 xxxxxx 170012 02xxxx xxxxxx 170250 10xxxx xxxxxx LD Load Double 24xxx3 xxxxxx 170012 03xxxx xxxxxx 170250 14xxxx xxxxxx STD Store Double 156520 xxxxxx 157002 120xxx 25xxx0 xxxxxx 170012 04xxxx xxxxxx 170251 00xxxx xxxxxx AD Add Double 156522 xxxxxx 157002 124xxx 25xxx1 xxxxxx 170012 05xxxx xxxxxx 170251 04xxxx xxxxxx SD Subtract Double 156530 xxxxxx 157002 130xxx 25xxx2 xxxxxx 170012 06xxxx xxxxxx 170251 10xxxx xxxxxx MD Multiply Double 156532 xxxxxx 157002 134xxx 25xxx3 xxxxxx 170012 07xxxx xxxxxx 170251 14xxxx xxxxxx DD Double 156540 xxxxxx 157002 140xxx 26xxx0 xxxxxx 170001 00xxxx xxxxxx 170252 00xxxx xxxxxx SWQ Swap Quad 156542 xxxxxx 157002 144xxx 26xxx1 xxxxxx 170001 01xxxx xxxxxx 170252 04xxxx xxxxxx CQ Compare Quad 156550 xxxxxx 157002 150xxx 26xxx2 xxxxxx 170001 02xxxx xxxxxx 170252 10xxxx xxxxxx LQ Load Quad 26xxx3 xxxxxx 170001 03xxxx xxxxxx 170252 14xxxx xxxxxx STQ Store Quad 156560 xxxxxx 157002 160xxx 27xxx0 xxxxxx 170001 04xxxx xxxxxx 170253 00xxxx xxxxxx AQ Add Quad 156562 xxxxxx 157002 164xxx 27xxx1 xxxxxx 170001 05xxxx xxxxxx 170253 04xxxx xxxxxx SQ Subtract Quad 156570 xxxxxx 157002 170xxx 27xxx2 xxxxxx 170001 06xxxx xxxxxx 170253 10xxxx xxxxxx MQ Multiply Quad 156572 xxxxxx 157002 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.