[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
                                
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.


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