360 Assembly/360 Instructions
From Wikibooks, the open-content textbooks collection
There are several types of instructions on the 360 mainframe. The instruction type is determined by the first two bits of the op code. The instruction types are
- RR Instructions which use 2 registers for the arguments. These are two bytes long. RR instructions are op codes where the two high bits of the op code are 00, e.g. instructions 00-3F.
- RX Instructions which use one register and combined register and address as a base-displacement address. These are 4 bytes long. RX instructions are op codes where the two high bits of the op code are 01, e.g. instructions 40-7F.
- RS Instructions which use one register and combined register and address as a base-displacement address to reference a single string. These are 4 (or 6 fact?) bytes long. RS instructions are op codes where the two high bits of the op code are 10, e.g. instructions 80-BF.
- SS Instructions which use two combined register and address values as base-displacement addresses to reference two strings. These are also 6 bytes long. SS instructions are op codes where the two high bits of the op code are 11, e.g. instructions CF-FF.
All instructions must be aligned to an even address. Attempts to create an instruction at an odd address will be flagged as an error by the assembler; an attempt to branch to an odd address will result in a program check.
There are three classes of instructions. 360 instructions are those which were part of the original IBM 360 mainframe instruction set. 370 instructions were added with the creation of the IBM 370, are only available on 370 and higher series machines, and will cause a program check if they are attempted to be executed on a 360. z/System instructions were created after the 370, and will not work on 360 or 370 hardware, only on z/System machines.
| Opcode (Hex) |
Mnemonic |
Description |
Type of Instruction |
Class of Instruction |
|---|---|---|---|---|
| 0101 | PR | |||
| 0102 | UPT | |||
| 0107 | SCKPF | |||
| 010B | TAM | |||
| 010C | SAM24 | |||
| 010D | SAM31 | |||
| 010E | SAM64 | |||
| 01FF | TRAP2 | |||
| 04 | SPM | |||
| 05 | BALR | Branch And Load Register | RR | Branch Instruction
|
| 06 | BCTR | Branch on CounT Register | RR | Branch Instruction |
| 07 | BCR | |||
| 0A | SVC | SuperVisor Call | Immediate | Control Flow Instruction |
| 0B | BSM | |||
| 0C | BASSM | |||
| 0D | BASR | Branch And Store Register | ||
| 0E | MVCL | MoVe Character Long | ||
| 0F | CLCL | Compare Logical Character Long | ||
| 10 | LPR | |||
| 11 | LNR | |||
| 12 | LTR | Load and Test Register | ||
| 13 | LCR | Load and Compare Register | ||
| 14 | NR | aNd Register | ||
| 15 | CLR | Compare Logical Register | RR | |
| 16 | OR | Or Register | RR | |
| 17 | XR | eXclusive-or Register | RR | |
| 18 | LR | Load Register | RR | |
| 19 | CR | Compare Register | RR | |
| 1A | AR | Add Register | RR | Arithmetic Instruction |
| 1B | SR | Subtract Register | RR | Arithmetic Instruction |
| 1C | MR | Multiply Register | RR | Arithmetic Instruction |
| 1D | DR | Divide Register | RR | Arithmetic Instruction |
| 1E | ALR | Add Logical Register | RR | Arithmetic Instruction |
| 1F | SLR | Subtract Logical Register | RR | Arithmetic Instruction |
| 20 | LPDR | |||
| 21 | LNDR | |||
| 22 | LTDR | |||
| 23 | LCDR | |||
| 24 | HDR | |||
| 25 | LDXR | |||
| 25 | LRDR | |||
| 26 | MXR | |||
| 27 | MXDR | |||
| 28 | LDR | |||
| 29 | CDR | Compare Double Register | ||
| 2A | ADR | Add Double Register | RR | Arithmetic Instruction |
| 2B | SDR | Subtract Double Register | RR | Arithmetic Instruction |
| 2C | MDR | Multiply Double Register | RR | Arithmetic Instruction |
| 2D | DDR | Divide Double Register | RR | Arithmetic Instruction |
| 2E | AWR | |||
| 2F | SWR | |||
| 30 | LPER | |||
| 31 | LNER | |||
| 32 | LTER | |||
| 33 | LCER | |||
| 34 | HER | |||
| 35 | LEDR | |||
| 35 | LRER | |||
| 36 | AXR | |||
| 37 | SXR | |||
| 38 | LER | |||
| 39 | CER | |||
| 3A | AER | |||
| 3B | SER | |||
| 3C | MER | |||
| 3C | MDER | |||
| 3D | DER | |||
| 3E | AUR | |||
| 3F | SUR | |||
| 40 | STH | STore Halfword | ||
| 41 | LA | Load Address | ||
| 42 | STC | STore Character | ||
| 43 | IC | Insert Character | ||
| 44 | EX | EXecute | ||
| 45 | BAL | Branch And Link | ||
| 46 | BCT | Branch on CounT | ||
| 47 | BC | Branch on Condition | ||
| 48 | LH | Load Halfword | ||
| 49 | CH | Compare Halfword | ||
| 4A | AH | Add Halfword | RX | Arithmetic Instruction |
| 4B | SH | Subtract Halfword | RX | Arithmetic Instruction |
| 4C | MH | Multiply Halfword | RX | Arithmetic Instruction |
| 4D | BAS | Branch And Store | ||
| 4E | CVD | ConVert to Decimal | ||
| 4F | CVB | ConVert to Binary | ||
| 50 | ST | STore | ||
| 51 | LAE | |||
| 54 | N | aNd | ||
| 55 | CL | Compare Logical | ||
| 56 | O | Or | ||
| 57 | X | eXclusive or | ||
| 58 | L | Load | ||
| 59 | C | Compare | ||
| 5A | A | Add | ||
| 5B | S | Subtract | ||
| 5C | M | Multiply | ||
| 5D | D | Divide | ||
| 5E | AL | Add Logical | ||
| 5F | SL | Subtract Logical | ||
| 60 | STD | |||
| 67 | MXD | |||
| 68 | LD | Load Double | ||
| 69 | CD | Compare Double | ||
| 6A | AD | Add Double | ||
| 6B | SD | Subtract Double | ||
| 6C | MD | Multiply Double | ||
| 6D | DD | Divide Double | ||
| 6E | AW | |||
| 6F | SW | |||
| 70 | STE | |||
| 71 | MS | |||
| 78 | LE | |||
| 79 | CE | |||
| 7A | AE | |||
| 7B | SE | |||
| 7C | ME | |||
| 7C | MDE | |||
| 7D | DE | |||
| 7E | AU | |||
| 7F | SU | |||
| 80 | SSM | |||
| 82 | LPSW | Load Program Status Word | Data Transfer Instruction | |
| 83 | Diagnose | Diagnose | ||
| 84 | BRXH | Branch Register on indeX High | ||
| 85 | BRXLE | Branch Register on indeX Low or Equal | ||
| 86 | BXH | Branch on indeX High | ||
| 87 | BXLE | Branch on indeX Low or Equal | ||
| 88 | SRL | Shift Right Logical | ||
| 89 | SLL | Shift Left Logical | ||
| 8A | SRA | Shift Right Arithmetic | ||
| 8B | SLA | Shift Left Arithmetic | ||
| 8C | SRDL | Shift Right Double Logical | ||
| 8D | SLDL | Shift Left Double Logical | ||
| 8E | SRDA | Shift Right Double Arithmetic | ||
| 8F | SLDA | Shift Left Double Arithmetic | ||
| 90 | STM | STore Multiple | ||
| 91 | TM | Test under Mask | ||
| 92 | MVI | MoVe Immediate | ||
| 93 | TS | Test and Set | ||
| 94 | NI | aNd Immediate | ||
| 95 | CLI | Compare Logical Immediate | ||
| 96 | OI | Or Immediate | ||
| 97 | XI | eXclusive-or Immediate | ||
| 98 | LM | Load Multiple | ||
| 99 | TRACE | |||
| 9A | LAM | |||
| 9B | STAM | |||
| A50 | IIHH | |||
| A51 | IIHL | |||
| A52 | IILH | |||
| A53 | IILL | |||
| A54 | NIHH | |||
| A55 | NIHL | |||
| A56 | NILH | |||
| A57 | NILL | |||
| A58 | OIHH | |||
| A59 | OIHL | |||
| A5A | OILH | |||
| A5B | OILL | |||
| A5C | LLIHH | |||
| A5D | LLIHL | |||
| A5E | LLILH | |||
| A5F | LLILL | |||
| A70 | TMLH | |||
| A70 | TMH | |||
| A71 | TMLL | |||
| A71 | TML | |||
| A72 | TMHH | |||
| A73 | TMHL | |||
| A74 | BRC | |||
| A75 | BRAS | |||
| A76 | BRCT | |||
| A77 | BRCTG | |||
| A78 | LHI | |||
| A79 | LGHI | |||
| A7A | AHI | |||
| A7B | AGHI | |||
| A7C | MHI | |||
| A7D | MGHI | |||
| A7E | CHI | |||
| A7F | CGHI | |||
| A8 | MVCLE | |||
| A9 | CLCLE | |||
| AC | STNSM | |||
| AD | STOSM | |||
| AE | SIGP | |||
| AF | MC | |||
| B1 | LRA | |||
| B202 | STIDP | |||
| B204 | SCK | |||
| B205 | STCK | |||
| B206 | SCKC | |||
| B207 | STCKC | |||
| B208 | SPT | |||
| B209 | STPT | |||
| B20A | SPKA | |||
| B20B | IPK | |||
| B20D | PTLB | |||
| B210 | SPX | |||
| B211 | STPX | |||
| B212 | STAP | |||
| B214 | SIE | |||
| B218 | PC | |||
| B219 | SAC | |||
| B21A | CFC | |||
| B221 | IPTE | |||
| B222 | IPM | |||
| B223 | IVSK | |||
| B224 | IAC | |||
| B225 | SSAR | |||
| B226 | EPAR | |||
| B227 | ESAR | |||
| B228 | PT | |||
| B229 | ISKE | |||
| B22A | RRBE | |||
| B22B | SSKE | |||
| B22C | TB | |||
| B22D | DXR | |||
| B22E | PGIN | |||
| B22F | PGOUT | |||
| B230 | CSCH | |||
| B231 | HSCH | |||
| B232 | MSCH | |||
| B233 | SSCH | |||
| B234 | STSCH | |||
| B235 | TSCH | |||
| B236 | TPI | |||
| B237 | SAL | |||
| B238 | RSCH | |||
| B239 | STCRW | |||
| B23A | STCPS | |||
| B23B | RCHP | |||
| B23C | SCHM | |||
| B240 | BAKR | |||
| B241 | CKSM | |||
| B244 | SQDR | |||
| B245 | SQER | |||
| B246 | STURA | |||
| B247 | MSTA | |||
| B248 | PALB | |||
| B249 | EREG | |||
| B24A | ESTA | |||
| B24B | LURA | |||
| B24C | TAR | |||
| B24D | CPYA | |||
| B24E | SAR | |||
| B24F | EAR | |||
| B250 | CSP | |||
| B252 | MSR | |||
| B254 | MVPG | |||
| B255 | MVST | |||
| B257 | CUSE | |||
| B258 | BSG | |||
| B25A | BSA | |||
| B25D | CLST | |||
| B25E | SRST | |||
| B263 | CMPSC | |||
| B276 | XSCH | |||
| B277 | RP | |||
| B278 | STCKE | |||
| B279 | SACF | |||
| B27D | STSI | |||
| B299 | SRNM | |||
| B29C | STFPC | |||
| B29D | LFPC | |||
| B2A5 | TRE | |||
| B2A6 | CUUTF | |||
| B2A7 | CUTFU | |||
| B2B1 | STFL | |||
| B2B2 | LPSWE | |||
| B2FF | TRAP4 | |||
| B300 | LPEBR | |||
| B301 | LNEBR | |||
| B302 | LTEBR | |||
| B303 | LCEBR | |||
| B304 | LDEBR | |||
| B305 | LXDBR | |||
| B306 | LXEBR | |||
| B307 | MXDBR | |||
| B308 | KEBR | |||
| B309 | CEBR | |||
| B30A | AEBR | |||
| B30B | SEBR | |||
| B30C | MDEBR | |||
| B30D | DEBR | |||
| B30E | MAEBR | |||
| B30F | MSEBR | |||
| B310 | LPDBR | |||
| B311 | LNDBR | |||
| B312 | LTDBR | |||
| B313 | LCDBR | |||
| B314 | SQEBR | |||
| B315 | SQDBR | |||
| B316 | SQXBR | |||
| B317 | MEEBR | |||
| B318 | KDBR | |||
| B319 | CDBR | |||
| B31A | ADBR | |||
| B31B | SDBR | |||
| B31C | MDBR | |||
| B31D | DDBR | |||
| B31E | MADBR | |||
| B31F | MSDBR | |||
| B324 | LDER | |||
| B325 | LXDR | |||
| B326 | LXER | |||
| B336 | SQXR | |||
| B337 | MEER | |||
| B340 | LPXBR | |||
| B341 | LNXBR | |||
| B342 | LTXBR | |||
| B343 | LCXBR | |||
| B344 | LEDBR | |||
| B345 | LDXBR | |||
| B346 | LEXBR | |||
| B347 | FIXBR | |||
| B348 | KXBR | |||
| B349 | CXBR | |||
| B34A | AXBR | |||
| B34B | SXBR | |||
| B34C | MXBR | |||
| B34D | DXBR | |||
| B350 | TBEDR | |||
| B351 | TBDR | |||
| B353 | DIEBR | |||
| B357 | FIEBR | |||
| B358 | THDER | |||
| B359 | THDR | |||
| B35B | DIDBR | |||
| B35F | FIDBR | |||
| B360 | LPXR | |||
| B361 | LNXR | |||
| B362 | LTXR | |||
| B363 | LCXR | |||
| B365 | LXR | |||
| B366 | LEXR | |||
| B367 | FIXR | |||
| B369 | CXR | |||
| B374 | LZER | |||
| B375 | LZDR | |||
| B376 | LZXR | |||
| B377 | FIER | |||
| B37F | FIDR | |||
| B384 | SFPC | |||
| B38C | EFPC | |||
| B394 | CEFBR | |||
| B395 | CDFBR | |||
| B396 | CXFBR | |||
| B398 | CFEBR | |||
| B399 | CFDBR | |||
| B39A | CFXBR | |||
| B3A4 | CEGBR | |||
| B3A5 | CDGBR | |||
| B3A6 | CXGBR | |||
| B3A8 | CGEBR | |||
| B3A9 | CGDBR | |||
| B3AA | CGXBR | |||
| B3B4 | CEFR | |||
| B3B5 | CDFR | |||
| B3B6 | CXFR | |||
| B3B8 | CFER | |||
| B3B9 | CFDR | |||
| B3BA | CFXR | |||
| B3C4 | CEGR | |||
| B3C5 | CDGR | |||
| B3C6 | CXGR | |||
| B3C8 | CGER | |||
| B3C9 | CGDR | |||
| B3CA | CGXR | |||
| B6 | STCTL | |||
| B7 | LCTL | |||
| B900 | LPGR | |||
| B901 | LNGR | |||
| B902 | LTGR | |||
| B903 | LCGR | |||
| B904 | LGR | |||
| B905 | LURAG | |||
| B908 | AGR | |||
| B909 | SGR | |||
| B90A | ALGR | |||
| B90B | SLGR | |||
| B90C | MSGR | |||
| B90D | DSGR | |||
| B90E | EREGG | |||
| B90F | LRVGR | |||
| B910 | LPGFR | |||
| B911 | LNGFR | |||
| B912 | LTGFR | |||
| B913 | LCGFR | |||
| B914 | LLGFR | |||
| B916 | LCGR | |||
| B917 | LLGTR | |||
| B918 | AGFR | |||
| B919 | SGFR | |||
| B91A | ALGFR | |||
| B91B | SLGFR | |||
| B91C | MSGFR | |||
| B91D | DSGFR | |||
| B91F | LRVR | |||
| B920 | CGR | |||
| B921 | CLGR | |||
| B925 | STURG | |||
| B930 | CGFR | |||
| B931 | CLGFR | |||
| B946 | BCTGR | |||
| B980 | NGR | |||
| B981 | OGR | |||
| B982 | XGR | |||
| B986 | MLGR | |||
| B987 | DLGR | |||
| B988 | ALCGR | |||
| B989 | SLBGR | |||
| B98D | EPSW | |||
| B990 | TRTT | |||
| B991 | TRTO | |||
| B992 | TROT | |||
| B993 | TROO | |||
| B996 | MLR | |||
| B997 | DLR | |||
| B998 | ALCR | |||
| B999 | SLBR | |||
| B99D | ESEA | |||
| BA | CS | |||
| BB | CDS | |||
| BD | CLM | |||
| BE | STCM | Store Characters under Mask | ||
| BF | ICM | Insert Characters under Mask | ||
| C00 | LARL | |||
| C04 | BRCL | |||
| C05 | BRASL | |||
| D1 | MVN | MoVe Numeric | ||
| D2 | MVC | MoVe Character | ||
| D3 | MVZ | MoVe Zoned | ||
| D4 | NC | aNd Character | ||
| D5 | CLC | Compare Logical Character | ||
| D6 | OC | Or Character | ||
| D7 | XC | eXclusive-or Character | ||
| D9 | MVCK | |||
| DA | MVCP | |||
| DB | MVCS | |||
| DC | TR | TRanslate | ||
| DD | TRT | TRanslate and Test | ||
| DE | ED | EDit | ||
| DF | EDMK | EDit and MarK | ||
| E1 | PKU | |||
| E2 | UNPKU | |||
| E303 | LRAG | |||
| E304 | LG | |||
| E308 | AG | |||
| E309 | SG | |||
| E30A | ALG | |||
| E30B | SLG | |||
| E30C | MSG | |||
| E30D | DSG | |||
| E30E | CVBG | |||
| E30F | LRVG | |||
| E314 | LGF | |||
| E315 | LGH | |||
| E316 | LLGF | |||
| E317 | LLGT | |||
| E318 | AGF | |||
| E319 | SGF | |||
| E31A | ALGF | |||
| E31B | SLGF | |||
| E31C | MSGF | |||
| E31D | DSGF | |||
| E31E | LRV | |||
| E31F | LRVH | |||
| E320 | CG | |||
| E321 | CLG | |||
| E324 | STG | |||
| E32E | CVDG | |||
| E32F | STRVG | |||
| E330 | CGF | |||
| E331 | CLGF | |||
| E33E | STRV | |||
| E33F | STRVH | |||
| E346 | BCTG | |||
| E380 | NG | |||
| E381 | OG | |||
| E382 | XG | |||
| E386 | MLG | |||
| E387 | DLG | |||
| E388 | ALCG | |||
| E389 | SLBG | |||
| E38E | STPQ | |||
| E38F | LPQ | |||
| E390 | LLGC | |||
| E391 | LLGH | |||
| E396 | ML | |||
| E397 | DL | |||
| E398 | ALC | |||
| E399 | SLB | |||
| E500 | LASP | |||
| E501 | TPROT | |||
| E502 | STRAG | |||
| E50E | MVCSK | |||
| E50F | MVCDK | |||
| E8 | MVCIN | |||
| E9 | PKA | |||
| EA | UNPKA | |||
| EB04 | LMG | |||
| EB0A | SRAG | |||
| EB0B | SLAG | |||
| EB0C | SRLG | |||
| EB0D | SLLG | |||
| EB0F | TRACG | |||
| EB1C | RLLG | |||
| EB1D | RLL | |||
| EB20 | CLMH | |||
| EB24 | STMG | |||
| EB25 | STCTG | |||
| EB26 | STMH | |||
| EB2C | STCMH | |||
| EB2F | LCTLG | |||
| EB30 | CSG | |||
| EB3E | CDSG | |||
| EB44 | BXHG | |||
| EB45 | BXLEG | |||
| EB80 | ICMH | |||
| EB8E | MVCLU | |||
| EB8F | CLCLU | |||
| EB96 | LMH | |||
| EBC0 | TP | |||
| EC44 | BRXHG | |||
| EC45 | BRXLG | |||
| ED04 | LDEB | |||
| ED05 | LXDB | |||
| ED06 | LXEB | |||
| ED07 | MXDB | |||
| ED08 | KEB | |||
| ED09 | CEB | |||
| ED0A | AEB | |||
| ED0B | SEB | |||
| ED0C | MDEB | |||
| ED0D | DEB | |||
| ED0E | MAEB | |||
| ED0F | MSEB | |||
| ED10 | TCEB | |||
| ED11 | TCDB | |||
| ED12 | TCXB | |||
| ED14 | SQEB | |||
| ED15 |