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 |