Series 16 instructions

From Computer History Wiki
Jump to: navigation, search

Series 16 instructions are basically the same across all models of the Series 16 line (although some are missing on some models).

Most of the instructions are fitted into a basic layout used for the memory reference instructions; specifically, the basic opcode field is in the same place in all of them (although some instructions 'borrow' bits from other fields).

Memory reference instructions

Indirect Index Opcode Sector Address
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Memory reference instructions can reference i) words in the 'base' sector (normally sector 0), or ii) words in the same sector as that containing the instruction - the choice being controlled by the 'Sector' bit. (An option, "Memory Lockout", is available, which allows the base sector to be relocated; this is utilized in time-sharing operation.)

The 'Indirect' bit is also called the 'Flag' bit; the 'Index' bit is also called the 'Tag' bit; these become part of the opcode in non-memory-reference instructions. If both are set in an ordinary instruction, indexing takes place before indirection. The indirect address, if used, allows addressing of all locations in memory. The indirect address word also has Flag and Tag bits; normally, there is generally no limit to the number of levels of indirection that can be invoked.

Opcode Mnemonic Action
0 Generic and skip/shift (below)
1 JMP Jump
2 LDA Load A
3 ANA AND to A
4 STA Store A
5 ERA XOR to A
6 ADD Add
7 SUB Subtract
010 JST Jump and Store
011 CAS Compare
012 IRS Increment, replace and skip
013 IMA Interchange memory and A
014 Input-output (below)
015 LDX/STX Load X/Store X
016 MPY Multiply
017 DIV Divide

Generic instructions

Opcode
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Opcode Mnemonic Action
000000 HALT Halt
000043 INK Input keys
000201 IAB Interchange A and B
000401 ENB Enable program interrupt
001001 INH Inhibit program interrupt
140040 CRA Clear A
140100 SSP Set A sign plus
140200 RCB Reset C bit
140401 CMA Complement A
140500 SSM Set A sign minus
140600 SCB Set C bit
141044 CAR Clear A, right half
141050 CAL Clear A, left half
141206 AOA Add one to A
141216 ACA Add C to A
141340 ICA Interchange characters in A

Not all instructions are listed

Skip instructions

Opcode
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Opcode Mnemonic Action
100000 SKP Unconditional skip
100001 SRC Skip if C reset
100040 SZE Skip if A zero
100400 SPL Skip if A sign plus
101000 NOP No operation
101001 SSC Skip if C bit set
101040 SNZ Skip if A non-zero
101400 SPL Skip if A sign minus

Not all instructions are listed

Shift instructions

Opcode Count
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Opcode Mnemonic Action
0400 LRL Long right logical
0401 LRS Long arithmetic right
0402 LRR Long right rotate
0404 LGR Logical right
0405 ARS Arithmetic right
0406 ARR Logical right rotate
0410 LLL Long left logical
0411 LLS Long arithmetic left
0412 LLR Long left rotate
0414 LGL Logical left
0415 ALS Arithmetic left
0416 ALR Logical left rotate

The shift count is given in two's complement form.

Input-output instructions

Opcode Function Device
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
FT Mnemonic Action
00 OCP Output control pulse
01 SKS Skip if ready set
10 INA Input to A
11 OTA Output from A

External links