|
Here is an MI Instruction Set Table. It does not cover some of the newest operations, and some older ones may been removed. Copy the text to the clipboard, then paste it into Notepad or use a fixed format font. Due to the size of the table it is posted in two parts. Here is part 1: .----------.-------------------------.-------------------------------------- -. | OPCODE | Name | Operands and Conditions | |----------+-------------------------+-------------------------------------- -| | ADDLC | Add Logical Character | Sum CHARVF | | IBS | | Addend 1 CHARF | | | | Addend 2 CHARF | | | | All same length <= 256 ? | | 4 ext | | ZNTC NTZNTC ZC NTZC | |----------+-------------------------+-------------------------------------- -| | ADDN | Add Numeric | Sum NUMV | | IBSR | | Addend 1 NUM | | | | Addend 2 NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | AND | And Bytes | Result CHARV S0 | | IBS | | Source 1 CHAR S0 | | | | Source 2 CHAR S0 | | | | Longer of 2 sources, then place in | | | | result, pad X'00' or truncate | | 2 ext | | ZER NZER | |----------+-------------------------+-------------------------------------- -| | B | Branch | Target BP, INSPTR, IDL elem | |----------+-------------------------+-------------------------------------- -| | CIPHER | Cipher | Result SPCPTR | | | | Control CHAR(32)V | | | | Source SPCPTR | |----------+-------------------------+-------------------------------------- -| | CIPHERKY | Cipher Key | Result CHAR(8)V | | | | Control CHAR(64)V | | | | Source CHAR(8) | |----------+-------------------------+-------------------------------------- -| | CMPBLA | Compare Bytes Left- | Compare 1 CHAR, NUM S0 | | IB req | Adjusted | Compare 2 CHAR, NUM S0 | | | | Target(s) | | | | Shorter of 2 compare operands | | | | Stops on 1st unequal byte | | 3 ext | | HI LO EQ | |----------+-------------------------+-------------------------------------- -| | CMPBLAP | Compare Bytes Left- | Compare 1 CHAR, NUM S0 | | IB req | Adjusted with Pad | Compare 2 CHAR, NUM S0 | | | | Pad CHAR(1), NUM(1) | | | | Target(s) | | | | Shorter of 2 compare operands | | | | Stops on 1st unequal byte | | 3 ext | | HI LO EQ | |----------+-------------------------+-------------------------------------- -| | CMPBRA | Compare Bytes Right- | Compare 1 CHAR, NUM S0 | | IB req | Adjusted | Compare 2 CHAR, NUM S0 | | | | Target(s) | | | | Shorter of 2 compare operands | | | | Stops on 1st unequal byte | | 3 ext | | HI LO EQ | |----------+-------------------------+-------------------------------------- -| | CMPBRAP | Compare Bytes Right- | Compare 1 CHAR, NUM S0 | | IB req | Adjusted with Pad | Compare 2 CHAR, NUM S0 | | | | Pad CHAR(1), NUM(1) | | | | Target(s) | | | | Shorter of 2 compare operands | | | | Stops on 1st unequal byte | | 3 ext | | HI LO EQ | |----------+-------------------------+-------------------------------------- -| | CMPNV | Compare Numeric Values | Compare 1 NUM | | IB req | | Compare 2 NUM | | | | Target(s) | | 4 ext | | HI LO EQ UNOR | |----------+-------------------------+-------------------------------------- -| | CAI | Compute Array Index | Index BIN(2)V | | | | Subscript A BIN(2) | | | | Subscript B BIN(2) | | | | Dimension BIN(2)C, IMM(2) | |----------+-------------------------+-------------------------------------- -| | CMF1 | Compute Mathematical | Result NUMV | | IB | Function using 1 Input | Control CHAR(2) | | | | Source NUM | |? 2 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | CMF2 | Compute Mathematical | Result NUMV | | IB | Function using 2 Inputs | Control CHAR(2) | | | | Source 1 NUM | | | | Source 2 NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | CAT | Concatenate | Result CHARV S0 | | | | Source 1 CHAR S0 | | | | Source 2 CHAR S0 | | | | Length of result, pad X'40' or | | | | truncate | |----------+-------------------------+-------------------------------------- -| | CVTBC | Convert BSC to | Result CHARV | | IB | Characters | Control CHAR(3)VF | | | | Source CHAR | | 3 ext | | CR SE TR | |----------+-------------------------+-------------------------------------- -| | CVTCB | Convert Characters to | Result CHARV | | IB | BSC | Control CHAR(3)VF | | | | Source CHAR | | 2 ext | | SE RO | |----------+-------------------------+-------------------------------------- -| | CVTCH | Convert Characters to | Result CHARV S0 | | | HEX | Source CHAR [0-9A-F] S0 | | | | Length of result, pad X'00' | |----------+-------------------------+-------------------------------------- -| | CVTCM | Convert Characters to | Result CHARV | | IB | Multi-leaving Remote | Control CHAR(13)VF | | | Job Entry Format | Source CHAR | | 2 ext | | SE RO | |----------+-------------------------+-------------------------------------- -| | CVTCN | Convert Characters to | Result NUMV, DTAPTR-NUM | | | Numeric | Source CHAR, DTAPTR-CHAR | | | | Attributes CHAR(7), DTAPTR-CHAR(?) | |----------+-------------------------+-------------------------------------- -| | CVTCS | Convert Characters to | Result CHARV | | IB | SNA Format | Control CHAR(15)V | | | | Source CHAR | | 2 ext | | SE RO | |----------+-------------------------+-------------------------------------- -| | CVTDFFP | Convert Decimal Form to | Result FLOATV | | | Floating-Point | Dec.exponent PKD, ZND | | | | Dec.mantissa PKD, ZND | |----------+-------------------------+-------------------------------------- -| | CVTEFN | Convert External Form | Result NUMV, DTAPTR-NUM | | | to Numeric Value | Source CHAR, DTAPTR-CHAR | | | | Mask CHAR(3),DTAPTR-CHAR(3),* | |----------+-------------------------+-------------------------------------- -| | CVTFPDF | Convert Floating-Point | Dec.exponent PKDV, ZNDV | | R | to Decimal Form | Dec.mantissa PKDV, ZNDV | | | | Source FLOAT | |----------+-------------------------+-------------------------------------- -| | CVTHC | Convert HEX to | Result CHARV S0 | | | Characters | Source CHAR S0 | | | | Length of result, pad X'F0' | |----------+-------------------------+-------------------------------------- -| | CVTMC | Convert Multi-leaving | Result CHARV | | IB | Remote Job Entry Format | Control CHAR(6)VF | | | to Characters | Source CHAR | | 2 ext | | SE RO | |----------+-------------------------+-------------------------------------- -| | CVTNC | Convert Numeric to | Result CHARV, DTAPTR-CHARV | | | Characters | Source NUM, DTAPTR-NUM | | | | Attributes CHAR(7), DTAPTR-CHAR(7) | |----------+-------------------------+-------------------------------------- -| | CVTSB | Convert SNA Format to | Result CHARV | | IB | Characters | Control CHAR(14)V | | | | Source CHAR | | 3 ext | | SE RO EC | |----------+-------------------------+-------------------------------------- -| | CPYBTLLS | Copy Bits with Left | Receiver CHARV, NUMV | | | Logical Shift | Source CHAR, NUM, IMM(1) | | | | Shift CHAR(2)F, IMM(2) | | | | Length of receiver, pad B'0' | |----------+-------------------------+-------------------------------------- -| | CPYBTRLS | Copy Bits with Right | Receiver CHARV, NUMV | | | Logical Shift | Source CHAR, NUM, IMM(1) | | | | Shift CHAR(2)F, IMM(2) | | | | Length of receiver, pad B'0' | |----------+-------------------------+-------------------------------------- -| | CPYBLA | Copy Bytes Left-Adjusted| Receiver CHARV, NUMV, S0 | | | | DTAPTR-CHARV,-NUMV S0 | | | | Source CHAR, NUM, S0 | | | | DTAPTR-CHAR,-NUM S0 | | | | Shorter of two operands | |----------+-------------------------+-------------------------------------- -| | CPYBLAP | Copy Bytes Left-Adjusted| Receiver CHARV, NUMV, S0 | | | with Pad | DTAPTR-CHARV,-NUMV S0 | | | | Source CHAR, NUM, S0 | | | | DTAPTR-CHAR,-NUM S0 | | | | Pad CHAR(1), NUM(1) | | | | Length of receiver, pad | |----------+-------------------------+-------------------------------------- -| | CPYBOLA | Copy Bytes with Overlap | Receiver CHARV, NUMV, S0 | | | Left-Adjusted | Source CHAR, NUM, S0 | | | | Shorter of two operands | |----------+-------------------------+-------------------------------------- -| | CPYBOLAP | Copy Bytes with Overlap | Receiver CHARV, NUMV, S0 | | | Left-Adjusted with Pad | Source CHAR, NUM, S0 | | | | Pad CHAR(1), NUM(1) | | | | Length of receiver, pad | |----------+-------------------------+-------------------------------------- -| | CPYBREP | Copy Bytes Repeatedly | Receiver CHARVF, NUMV, S0 | | | | Source CHARF, NUM, S0 | | | | Length of receiver | |----------+-------------------------+-------------------------------------- -| | CPYBRA | Copy Bytes Right- | Receiver CHARV, NUMV, S0 | | | Adjusted | DTAPTR-CHARV,-NUMV S0 | | | | Source CHAR, NUM, S0 | | | | DTAPTR-CHAR,-NUM S0 | | | | Shorter of two operands | |----------+-------------------------+-------------------------------------- -| | CPYBRAP | Copy Bytes Right- | Receiver CHARV, NUMV, S0 | | | Adjusted with Pad | DTAPTR-CHARV,-NUMV S0 | | | | Source CHAR, NUM, S0 | | | | DTAPTR-CHAR,-NUM S0 | | | | Pad CHAR(1), NUM(1) | | | | Length of receiver, pad | |----------+-------------------------+-------------------------------------- -| | CPYHEXNN | Copy Hex Digit Numeric | Receiver CHARV, NUMV, | | | to Numeric | Source CHARF, NUM, | |----------+-------------------------+-------------------------------------- -| | CPYHEXNZ | Copy Hex Digit Numeric | Receiver CHARVF, NUMV | | | to Zone ? | Source CHARF, NUM | |----------+-------------------------+-------------------------------------- -| | CPYHEXZN | Copy Hex Digit Zone to | Receiver CHARVF, NUMV | | | to Numeric | Source CHARF, NUM | |----------+-------------------------+-------------------------------------- -| | CPYHEXZZ | Copy Hex Digit Zone to | Receiver CHARVF, NUMV | | | to Zone | Source CHARF, NUM | |----------+-------------------------+-------------------------------------- -| | CPYNV | Copy Numeric Value | Receiver NUMV, DTAPTR-NUMV | | IBR | | Source NUM, DTAPTR-NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | DIV | Divide | Quotient NUMV | | IBSR | | Dividend NUM | | | | Divisor NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | DIVREM | Divide with Remainder | Quotient NUMV | | IBSR | | Dividend NUM | | | | Divisor NUM | | | | Remainder NUMV | | 3 ext | | POS NEG ZER | |----------+-------------------------+-------------------------------------- -| | EDIT | Edit | Result CHARV, DTAPTR-CHARV | | | | Source NUM, DTAPTR-NUM | | | | Mask NUM, DTAPTR-NUM | |----------+-------------------------+-------------------------------------- -| | EXCHBY | Exchange Bytes | Source 1 NUMV, CHARVF | | | | Source 2 NUMV, CHARVF | | | | Same length | |----------+-------------------------+-------------------------------------- -| | XOR | Exclusive Or Bytes | Result CHARV S0 | | IBS | | Source 1 CHAR S0 | | | | Source 2 CHAR S0 | | | | Longer of 2 sources, then place in | | | | result, pad X'00' or truncate | | 2 ext | | ZER NZER | |----------+-------------------------+-------------------------------------- -| | ECSCAN | Extended Character Scan | Result BINV, BINA | | IB req | | Base CHAR | | | | Compare CHAR | | | | Mode CHAR(1) | | | | Target(s) | | 3 ext | | POS ZER EC | |----------+-------------------------+-------------------------------------- -| | EXTREXP | Extract Exponent | Result BINV | | IB | | Source FLOAT | | 4 ext | | NOR DEN INF NAN | |----------+-------------------------+-------------------------------------- -| | EXTRMAG | Extract Magnitude | Result NUMV | | IB | | Source NUM | | ? 4 ext | | POS ZER NAN | |----------+-------------------------+-------------------------------------- -| | MULT | Multiply | Product NUMV | | IBSR | | Multiplicand NUM | | | | Multiplier NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | NEG | Negate Number | Result NUMV | | IBS | | Source NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | NOT | Not Bytes | Result CHARV S0 | | IBS | | Source CHAR S0 | | | | Length of result, pad X'00' | | 2 ext | | ZER NZER | |----------+-------------------------+-------------------------------------- -| | OR | Or Bytes | Result CHARV S0 | | IBS | | Source 1 CHAR S0 | | | | Source 2 CHAR S0 | | | | Longer of 2 sources, then place in | | | | result, pad X'00' or truncate | | 2 ext | | ZER NZER | |----------+-------------------------+-------------------------------------- -| | REM | Remainder | Remainder NUMV | | IBS | | Dividend NUM | | | | Divisor NUM | | 3 ext | | POS NEG ZER | |----------+-------------------------+-------------------------------------- -| | SCALE | Scale | Result NUMV | | IBS | | Source NUM | | | | Scale Factor BIN(2) | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | SCAN | Scan Characters | Result BINV, BINA | | IB | | Base CHAR | | | | Compare CHAR | | ? 2 ext | | POS ZER NCMP | |----------+-------------------------+-------------------------------------- -| | SCANWC | Scan with Control | Base Locator SPCPTR | | IB | | Control CHAR(8)V | | | | Options CHAR(4) | | | | Escape Addr BP, INSPTR, IDL elem, * | | 4 ext | | HI LO EQ NF | |----------+-------------------------+-------------------------------------- -| | SEARCH | Search | Result BINV, BINA | | IB | | Array CHARA, NUMA | | | | Find CHAR, NUM | | | | Location BIN | | 2 ext | | POS ZER | |----------+-------------------------+-------------------------------------- -| | SETIP | Set Instruction Pointer | Result INSPTR | | | | Target BP | |----------+-------------------------+-------------------------------------- -| | SSCA | Store and Set Compu- | Old Attrs CHAR(5)V | | IB | tational Attributes | New Attrs CHAR(5), * | | | | Control CHAR(5), * | |----------+-------------------------+-------------------------------------- -| | SUBLC | Subtract Logical | Difference CHARVF | | IBS | Character | Minuend CHARF | | | | Subtrahend CHARF | | | | All same length <= 256 ? | | 3 ext | | ZC NTZC NTZNTC | |----------+-------------------------+-------------------------------------- -| | SUBN | Subtract Numeric | Difference NUMV | | IBSR | | Minuend NUM | | | | Subtrahend NUM | | 4 ext | | POS NEG ZER NAN | |----------+-------------------------+-------------------------------------- -| | TSTRPLC | Test and Replace | Result CHARV | | IBS | Characters | Replacement CHAR | |----------+-------------------------+-------------------------------------- -| | TSTBUM | Test Bits Under Mask | Source CHAR, NUM | | IB req | | Mask CHAR, NUM | | | | Target(s) | | | | Same length ? | | 3 ext | | ZER ONES MXD | |----------+-------------------------+-------------------------------------- -| | XLATE | Translate | Result CHARV S0 | | | | Source CHAR S0 | | | | Position CHAR, * S0 | | | | Replacement CHAR S0 | |----------+-------------------------+-------------------------------------- -| | XLATEWT | Translate with Table | Result CHARV S0 | | | | Source CHAR S0 | | | | Table CHAR(256) S0 | | | | Shorter of result and source | |----------+-------------------------+-------------------------------------- -| | TRIML | Trim Length | Length NUMV | | | | Source CHAR | | | | Trim Char CHAR(1) | |----------+-------------------------+-------------------------------------- -| | VERIFY | Verify | Invalid pos. BINV, BINA | | IB | | Source CHAR S0 | | | | Class CHAR S0 | | 2 ext | | ZER POS | `----------'-------------------------'-------------------------------------- -' +--- | This is the MI Programmers Mailing List! | To submit a new message, send your mail to MI400@midrange.com. | To subscribe to this list send email to MI400-SUB@midrange.com. | To unsubscribe from this list send email to MI400-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: dr2@cssas400.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.