Instrucciones : TMS 9900  
   

Mnemonico Codigo IXPVCEAL F Z Descripción
A s,d A000 ---***** 1 Y Suma
AB s,d B000 --****** 1 Y Suma Bytes
ABS d 740 ---***** 6 Y Valor Absoluto
AI r,i 220 ---***** 8 Y Suma Inmediata
ANDI r,i 240 -----*** 8 Y Y Inmediato
B s 440 -------- 6 N Desvio (PC=d)
BL s 680 -------- 6 N Desvio y Link (R11=PC,PC=s)
BLWP s 400 -------- 6 N Desvio y cargar Workspace Ptr (3) (2)
C s,d 8000 -----*** 1 N Comparar
CB s,d 9000 --*--*** 1 N Comparar Bytes
CI r,i 280 -----*** 8 N Comparar Inmediato
CKOF 03C0 -------- 7 N Reloj apagado
CKON 03A0 -------- 7 N Reloj encendido
CLR d 04C0 -------- 6 N Borrar
COC s,r 2000 -----*-- 3 N Comparar Unos Correspondientes
CZC s,r 2400 -----*-- 3 N Comparar Ceros Correspondientes
DEC d 600 ---***** 6 Y Decrementar
DECT d 640 ---***** 6 Y Decrementar 2 veces
DIV d,r 3C00 ---*---- 9 N Dividir
IDLE 340 -------- 7 N Computer Idle
INC d 580 ---***** 6 Y Incrementar
INCT d 05C0 ---***** 6 Y Incrementar 2 veces
INV d 540 -----*** 6 Y Invertir
JEQ a 1300 -------- 2 N Saltar si es Igual
JGT a 1500 -------- 2 N Saltar si es Mayor
JH a 1B00 -------- 2 N Saltar si es Alto
JHE a 1400 -------- 2 N Saltar si es Alto o Igual
JL a 1A00 -------- 2 N Saltar si es Bajo
JLE a 1200 -------- 2 N Saltar si es Bajo o Igual
JLT a 1100 -------- 2 N Saltar si es Menor
JMP a 1000 -------- 2 N Salto Incondicional
JNC a 1700 -------- 2 N Saltar si no hay Acarreo
JNE a 1600 -------- 2 N Saltar si no es Igual
JNO a 1900 -------- 2 N Saltar si no hay Desborde
JOC a 1800 -------- 2 N Saltar en Acarreo
JOP a 1C00 -------- 2 N Saltar si es impar
LDCR s,c 3000 --*--*** 4 Y Cargar Registro de
Comunicación
LI r,i 200 -----*** 8 N Cargar Inmediato
LIMI i 300 *------- 8 N Cargar Mascara de Interrupciónes Inmediato
LREX 3.00E+00 *------- 7 N Cargar o Recomenzar Ejecución
LWPI i 2.00E+00 -------- 8 N Cargar Workspace Pointer Inmediato
MOV s,d C000 -----*** 1 Y Mover
MOVB s,d D000 --*--*** 1 Y Mover Bytes
MPY d,r 3800 -------- 9 N Multiplicar
NEG d 500 ---***** 6 Y Negar
NOP 1000 --------   N No Operación (pseudo-operación)
ORI r,i 260 -----*** 8 Y O Inmediato
RSET 360 *------- 7 N Reset
RT 458 --------   N Returno
(reemplaza 'B *11',pseudo-op)
RTWP 380 ???????? 7 N Returnar Workspace Pointer (4)
S s,d 6000 ---***** 1 N Restar
SB s,d 7000 --****** 1 N Restar Bytes
SBO a 1D00 -------- 2 N Poner Bit a Uno
SBZ a 1.00E+00 -------- 2 N Poner Bit a Cero
SETO d 700 -------- 6 N Poner a Unos
SLA r,c 0A00 ----**** 5 Y Dezplazamiento a la Izq. Aritmetico (1)
SOC s,d E000 -----*** 1 Y Poner Unos Correspondientes
SOCB s,d F000 -----*** 1 Y Poner Unos Correspondientes Bytes
SRA r,c 800 ----**** 5 Y Desplazamiento a la Der. Aritmetico (1)
SRC r,c 800 ----**** 5 Y Dezplazamiento a la Der. Circular (1)
SRL r,c 900 ----**** 5 Y Dezplazamiento a la Der. Logico (1)
STCR s,c 3400 --*--*** 4 Y Guardar Registro de Comunicación
STST r 02C0 -------- 8 N Guardar Registro de Estado
STWP r 02A0 -------- 8 N Guardar Workspace Pointer
SWPB d 06C0 -------- 6 N Intercambiar Bytes
SZC s,d 4000 -----*** 1 Y Poner Ceros Correspondientes
SZCB s,d 5000 -----*** 1 Y Poner Ceros Correspondientes Bytes
TB a 1F00 -----*-- 2 N Testear Bit
X s 480 -------- 6 N Ejecutar la instrucción en s
XOP s,c 2C00 -1------ 9 N Operación Extendida (5) (2)
XOR s,r 2800 -----*** 3 N O Exclusiva
Referencias:
  XXXX opcode Hexadecimal (16-bit)
    -*01? No afectado/
afectado/reseteado/seteado/desconocido
      F   Formato (1-9, ver abajo)
        Z Resultado comparado con cero (Y/N)
Registro de Estado:
  I       Mascara de Interrupciónes
(Bits 12-15)
X X       Extended operation (Bit 6)
OP P       Impar (Bit 5)
OV V       Desborde (Bit 4)
C C       Acarreo (Bit 3)
EQ E       Igual (Bit 2)
A> A       Mayor Aritmetico (Bit 1)
L> L       Mayor Logico (Bit 0)
Modos de direccionamiento:
Rn Registro Workspace (TT=00)
*Rn Registro workspace indirecto (TT=01)
*Rn+ Indirecto auto incremento (TT=11)
@nn Symbolico (directo)
nn(Rn) Indexado (no R0, TT=10)
nn Inmediato (TT=10)
a relativo al PC (PC=PC+2+2*offset)
a Relatico al CRU (PC=CRU+offset)
Directivas del Ensamblador:
BES nn Bloque que acaba con Simbolo
BSS nn Bloque que comienza con Simbolo
BYTE e(,...) Byte (,byte...)
DEFW nn(,...) Definir Word (,word...)
EVEN Limite de palabra par.
Registros:
CRU Registro de Comunicación (Bits 4-13, R12)
PC Contador de Programa (16-bit)
Rn Registro Workspace (16-bit)
n lo mismo (si no hay conflicto de modo)
WP Puntero Workspace (16-bit)
ST Registro de Estado (16-bit)
Abreviaciones:
a Dirección Relativa (-128 a +127)
c Cuenta (4-bit, 0 a 15)
d Destino
e expresión de 8-bits (0 a 255)
i Immediato
n Número de Registro (0 a 15)
nn Expresión de 16-bits (0 a 65535)
r Registro Workspace
s Fuente
Vectores del Sistema:
0000H a 003FH Interrupt trap vectors
0040H a 007FH XOP instruction trap vectors
FFFCH a FFFFH LOAD function trap vector
Formato del las instrucciones:
XXXBTTDDDDTTSSSS Formato 1 (Aritmetico)
XXXXXXXXOOOOOOOO Formato 2 (Salto)
XXXXXXDDDDTTSSSS Formato 3 (Logico)
XXXXXXCCCCTTSSSS Formato 4 (CRU)
XXXXXXXXCCCCWWWW Formato 5 (Desplazamiento)
XXXXXXXXXXTTSSSS Formato 6 (Programa)
XXXXXXXXXXXUUUUU Formato 7 (Control)
XXXXXXXXXXXUWWWW Formato 8 (Inmediato, sigue una palabra)
XXXXXXDDDDTTSSSS Formato 9 (MPY,DIV,XOP)
B Indicador de Byte (0=word, 1=byte)
CCCC Transferir o cuenta de desplazamiento
DDDD Dirección de destino
OOOOOOOO Offset (-128 a +127 words)
SSSS Dirección fuente
TT Modificación de dirección
U No usado
WWWW Número de registro Workspace
X...X Op code
Notas:
1 Si c=0 bits 12-14 de R0 se usan
2 R13=WP viejo, R14=PC viejo, R15=ST viejo
3 WP=(s),PC=(s+2)
4 WP=R13, PC=R14,ST=R15
5 WP=(40H+4c), PC=(42H+4c),R11=s
Esta página es parte del sitio 154iSoftware  
1