Texas Instruments TMS1000

NOTE: The opcodes in column 1 refer to the TMS1000/1200/1070/1270. The opcodes in the second column refer to the TMS1100/1300


TMS1000 instruction set summary
TMS1000 I/O instruction opcodes
Mnemonic Operand Status Operation Op Code
C NE
KNEZ     X Set status only if data on input lines is not 0 09 0E
TKA       Load Accumulator with data on input lines   08
SETR       Set R output addressed by contents of Y 0D
RSTR       Reset R output addressed by contents of Y 0C
TDO       Transfer data from Accumulator and status flag to output O 0A
CLO       Clear the output register O 0B
TMS1000 Primary memory reference opcodes
TAM       Store Accumulator to RAM location pointed to by XY 03 27
TMY       Load register Y from RAM location pointed to by XY 22
TMA       Load Accumulator from RAM location pointed to by XY 21
XMA       Exchange Accumulator with data pointed to by XY 2E 03
TMS1000 Primary memory reference (with register) opcodes
TAMIY       Store Accumulator to RAM (XY pointer) and increment Y 20  
TAMIYC   X   Store Accumulator to RAM (XY pointer) and increment Y set status on carry   25
TAMDYN   X   Store Accumulator to RAM (XY pointer) and increment Y set status if no borrow   24
TAMZA       Store Accumulator to RAM (XY pointer) and clear Accumulator 04 26
TMS1000 Secondary memory reference opcodes
AMAAC   X   Add RAM (XY pointer) to Accumulator with carry out 25 06
SAMAN   X   Subtract Accumulator from RAM (XY pointer) and set status on borrow 27 3C
IMAC   X   Load contents of RAM (XY pointer) to Accumulator and increment. Set status on carry. 28 3E
DMAN   X   Load contents of RAM (XY pointer) to Accumulator and decrement. Set status if no borrow. 2A 07
ALEM   X   Set status flag only if Accumulator is less than or equal to RAM (XY pointer) 29 01
MNEA     X Set status flag only if RAM (XY pointer) is not equal to Accumulator   00
MNEZ     X Set status if RAM (XY pointer) not zero 26 3F
SBIT b     Set specified bit of RAM addressed by XY 001100bb
RBIT b     Reset specified bit of RAM addressed by XY 001101bb
TBIT1 b   X Test specified bit of RAM addressed by XY 001110bb
TMS1000 Immediate opcodes
TCY data     Load register Y immediate 0100xxxx
TCMIY data     Load RAM (XY pointer) and increment Y 0110xxxx
LDX data     Load register X immediate 001111xx 00101xxx
LDP data     Load Page Buffer register immediate 0001xxxx
TMS1000 immediate operate opcodes
ALEC data X   Set status if Accumulator is less than or equal to immediate data 0111xxxx  
YNEC data   X Set status if RAM (XY pointer) is not equal to immediate data 0101xxxx
A2AAC   X   Add 2 to Accumulator and set status flag on carry   78
A3AAC   X   Add 3 to Accumulator and set status flag on carry   74
A4AAC   X   Add 4 to Accumulator and set status flag on carry   7C
A5AAC   X   Add 5 to Accumulator and set status flag on carry   72
A6AAC   X   Add 6 to Accumulator and set status flag on carry 06 7A
A7AAC   X   Add 7 to Accumulator and set status flag on carry   76
A8AAC   X   Add 8 to Accumulator and set status flag on carry 01 7E
A9AAC   X   Add 9 to Accumulator and set status flag on carry   71
A10AAC   X   Add 10 to Accumulator and set status flag on carry 05 79
A11AAC   X   Add 11 to Accumulator and set status flag on carry   75
A12AAC   X   Add 12 to Accumulator and set status flag on carry   7D
A13AAC   X   Add 13 to Accumulator and set status flag on carry   73
A14AAC   X   Add 14 to Accumulator and set status flag on carry   7B
TMS1000 jump opcode
RETN       Return from subroutine 0F
TMS1000 conditional branch opcodes
BR label     Branch if status flag set 10xxxxxx
CALL label     Call subroutine if status flag is set. A call within subroutine acts as a branch. 11xxxxxx
TMS1000 register to register move opcodes
TAY       Transfer Accumulator to register Y 24 20
TYA       Transfer register Y to Accumulator 23
TMS1000 register to register operation opcode
YNEA     X Set status flag if Y is not equal to Accumulator 02
TMS1000 register operation opcodes
CLA       Clear Accumulator 2F 7F
IA       Increment Accumulator (status not affected) 0E  
IAC   X   Increment Accumulator and set status flag on carry   70
DAN   X   Decrement Accumulator and set status flag if no borrow 07 77
IYC   X   Increment register Y and set status flag on carry 2B 05
DYN   X   Decrement register Y and set status flag if no borrow 2C 04
CPAIZ   X   Negate Accumulator (2's compliment) and set status flag on zero 2D 3D
COMX       Compliment X 00  
COMX       Compliment the most significant bit of X   09
COMC       Compliment chapter flag   0B


Colophon

Disclaimer: This document in no way represents Nyx. All opinions and errors are mine alone.
lowell.turner@ieee.org