[Next] [Next Section] [Up] [Previous]

Operate Instructions

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.


[Next] [Next Section] [Up] [Previous]