Conj_Instr_PCD

Anuncio
C/ Penélope, 5
28042 MADRID
Tel.: 91 301 00 35
Fax. 91 301 00 95
[email protected]
www.tecnosistemas.es
SAIA ®PCD
CONJUNTO DE INSTRUCCIONES
Página 2 de 22
Conjunto de
Instrucciones SAIA-PCD
CONJUNTO DE INSTRUCCIONES SAIA-PCD
El conjunto de instrucciones SAIA-PCD contiene más de 120 instrucciones
básicas que permiten todas las combinaciones lógicas binarias, las operaciones
aritméticas con números enteros y con coma flotante, así como posibilidades de
estructuración y control para el desarrollo de programas y procesos.
14 Instrucciones de bit.
4 Instrucciones de palabra, dependientes del acumulador.
14 Instrucciones de palabra.
8 Instrucciones de combinación lógica sobre palabras.
8 Instrucciones de desplazamiento y rotación.
6 Instrucciones aritméticas con números enteros.
12 Instrucciones aritméticas con coma flotante.
2 Instrucciones de conversión de números enteros en coma flotante.
14 Instrucciones de estructura de BLOCTEC.
9 Instrucciones de estructura de GRAFTEC.
6 Instrucciones de control.
2 Instrucciones de reloj.
4 Instrucciones para tarjetas analógicas.
1 Instrucción de regulación.
2 Instrucciones de test y diagnósis.
8 Instrucciones comunicación por línea serie.
4 Instrucciones de comunicación por red SAIA-LAN2.
5 Instrucciones de definición.
La flexibilidad del conjunto de instrucciones permite el direccionamiento de
elementos de forma directa, indexada, indirecta e indexada-indirecta.
Las llamadas a los bloques de programa, bloques de función y bloques
secuenciales, así como todas las instrucciones de control pueden ser condicionales o
incondicionales.
Estas condiciones se refieren al estado del Acumulador y a los Flags: Positivo,
Negativo, Cero y Error.
Conjunto de
Instrucciones SAIA-PCD
Pag. 3 de 22
INSTRUCCIONES DE BITS
NOP
STH
No operación.
Comienzo de una combinación lógica, con lectura de entrada, salida,
temporizador ó contador.
Como STH pero con lectura del estado invertido.
Combinación lógica Y entre el estado de un elemento y el contenido del
acumulador.
Como ANH pero con lectura del estado invertido.
Combinación lógica 0 entre el estado de un elemento y el contenido
acumulador.
Como ORH pero con lectura del estado invertido.
Combinación lógica 0 exclusivo. Con lectura de entrada, salida, temporizador
o contador y transferencia del resultado al acumulador.
Posicionamiento del acumulador a H ó L, inversión o transferencia del estado
de Cero, Positivo, Negativo y Error al acumulador.
Detección del flanco de una señal o de una combinación lógica, dejando el
resultado en el acumulador.
Copia el estado del acumulador sobre una salida o indicador.
Enclavamiento de una salida ó indicador si el estado del acumulador es H.
Desenclavamiento de una salida o un indicador si el estado del acumulador
es H.
Inversión del estado de una salida o indicador si el estado del acumulador es
H.
STL
ANH
ANL
ORH
ORL
XOR
ACC
DYN
OUT
SET
RES
COM
INSTRUCCIONES DE PALABRA DEPENDIENTES DEL ACUMULADOR
LD T
LD C
LDL T
LDL C
INC C
DEC C
Carga un valor de 31 bits en un T/C si el estado del acumulador es H (no
parametrizable).
Carga un valor de 16 bits en un T/C si el estado del acumulador es H
(parametrizable).
Incrementa el contador en una unidad si el estado del acumulador es H.
Decrementa el contador en una unidad si el estado del acumulador es H.
Página 4 de 22
Conjunto de
Instrucciones SAIA-PCD
INSTRUCCIONES DE PALABRA
LD R
LDL R
LDH R
INC R
DEC R
SEI
INI
DEI
STI
RSI
MOV
Carga un valor de 32 bits en un registro (no parametrizable).
Carga un valor de 16 bits en un registro.(parametrizable).
L= 16 bits menos significativos H=16 bits más significativos
Incrementa el registro en una unidad.
Decrementa el registro en una unidad.
Inicializa el registro de índice con el valor de un registro o una constante.
Incrementa el registro de índice una unidad e indica el valor final de
indexación.
Decrementa el registro de índice una unidad e indica el valor final de
indexación.
Transfiere el contenido del registro de índice a un registro.
Transfiere el contenido de un registro a un registro de índice.
Transfiere una parte de un registro ( Bit, Nible 4 bits, Byte, Palabra 16 bits,
Doble palabra 32 bits) a otro registro.
Copia un registro, temporizador o contador en otro registro, temporizador o
contador.
COPY
GET
PUT
COPYX Copia un R, T o C en otro R, T o C con indexación en la fuente y en el
destino.
GETX
Como COPYX pero con indexación en el origen únicamente.
PUTX
Como COPYX pero con indexación en el destino únicamente.
INSTRUCCIONES DE TRANSFERENCIA ENTRE BITS Y PALABRAS
BITI
BITIR
BITO
BITOR
DIGI
DIGIR
DIGO
DIGOR
Lectura de 1 a 32 Ent., Sal. o Indicadores con interpretación binaria y
transferencia a un registro.
Como BITI pero con el LSB en la dirección más alta.
Escritura de 1 a 32 bits de un registro con interpretación BCD y transferencia
a un registro.
Como BITO pero con el LSB en la dirección más alta.
Lectura de 1 a 8 dígitos (4 bits) desde las Ent., Sal. o Indicadores con
interpretación BCD y transferencia a un registro.
Como DIGI pero con el LSB en la dirección más alta.
Escritura de 1 a 8 dígitos (4bits) de un registro sobre las salidas o indicadores
con interpretación BCD.
Como DIGO pero con el LSB en la dirección más alta.
Conjunto de
Instrucciones SAIA-PCD
Pag. 5 de 22
INSTRUCCIONES DE COMBINACIONES LOGICAS ENTRE PALABRAS
AND
OR
EXOR
NOT
Combinación lógica Y bit a bit entre 2 registros y memorización del resultado
en un nuevo registro.
Combinación lógica 0 bit a bit entre 2 registos y memorización del resultado en
un nuevo registro.
Combinación lógica O-exclusivo bit a bit entre 2 registros y memorización del
resultado en un nuevo registro.
Inversión bit a bit de un registro y memorización del resultado en un nuevo
registro.
INSTRUCCIONES DE DESPLAZAMIENTOS Y ROTACIONES
SHIU
SHID
ROTU
ROTD
SHIL
SHIR
ROTL
ROTR
Desplazamiento hacia arriba de un bloque de bits de un registro.
Desplazamiento hacia abajo de un bloque de bits de un registro.
Rotación hacia arriba de un bloque de bits de un registro.
Rotación hacia abajo de un bloque de bits de un registro.
Desplazamiento hacia la izquierda de los 32 bits de un registro con
transferencia del último bit al acumulador.
Como SHIL pero hacia la derecha.
Rotación hacia la izquierda de los 32 bits de un registro con transferencia del
último bit al acumulador.
Como ROTL pero hacia la derecha.
INSTRUCCIONES ARITMETICAS CON NUMEROS ENTEROS
ADD
SUB
MUL
DIV
SQR
CMP
Suma del contenido de 2 registros, y memorización del resultado en un nuevo
registro.
Resta del contenido de 2 registros, y memorización del resultado en un nuevo
registro.
Multiplicación del contenido de 2 registros, y memorización del resultado en un
nuevo registro.
División del contenido de 2 registros, y memorización del cociente y del resto
en dos nuevos registros.
Extracción de la raíz cuadrada del contenido de un registro y memorización del
resultado en un nuevo registro.
Comparación del contenido de 2 registros y posicionamiento del estado Cero,
Positivo, Negativo y Error.
Página 6 de 22
Conjunto de
Instrucciones SAIA-PCD
INSTRUCCIONES ARITMETICAS CON NUMEROS EN COMA FLOTANTE
FADD
FSUB
FMUL
FDIV
FSQR
FCMP
FSIN
FCOS
FATAN
FEXP
FLN
FABS
Suma del contenido de 2 registros y memorización del resultado en un nuevo
registro.
Resta del contenido de 2 registros y memorización del resultado en un nuevo
registro.
Multiplicación del contenido de 2 registros y memorización del resultado de
un nuevo registro.
División del contenido de 2 registros y memorización del resultado en un
nuevo registro.
Extracción de la raíz cuadrada del contenido de 2 registros y memorización
del resultado en un nuevo registro.
Comparación del contenido de 2 registros y posicionamiento del estado Cero,
Positivo, Negativo y Error.
Cálculo del seno del contenido de un registro y memorización del resultado
de un nuevo registro.
Cálculo del coseno del contenido de un registro y memorización del resultado
en un nuevo registro.
Cálculo del arcotangente del contenido de un registro y memorización del
resultado en un nuevo registro.
Cálculo de la potencia de “e” del contenido de un registro y memorización del
resultado en un nuevo registro.
Calculo del logaritmo (natural) del contenido de un registro y memorización
del resultado en un nuevo registro.
Cálculo del valor absoluto del contenido de un registro y memorización del
resultado en un nuevo registro.
INSTRUCCIONES DE CONVERSION ENTRE NUMEROS ENTEROS
Y EN COMA FLOTANTE
IFP
FPI
Conversión de un número entero a uno en coma flotante con indicación de un
factor en potencia de 10 y memorización en el mismo registro.
Conversión de un número en coma flotante a un número entero con
indicación de un factor en potencia de 10 y memorización en el mismo
registro.
Conjunto de
Instrucciones SAIA-PCD
Pag. 7 de 22
INSTRUCCIONES DE ESTRUCTURA DE BLOCTEC
COB
ECOB
XOB
EXOB
PB
EPB
FB
EFB
CPB
Comienzo y final de un bloque de organización cíclica con indicación de
tiempos de vigilancia para WACHT-DOG software.
Comienzo y final de un bloque de excepción.
Comienzo y final de un bloque de programa.
Comienzo y final de un bloque de función con paso de parámetros.
Llamada a un bloque de programa con memorización y restauración del
estado del acumulador.
CFB
Llamada a un bloque de función con paso de parámetros y memorización y
restauración del estado del acumulador.
NOCOB Autorización de la ejecución de otros bloques de organización cíclica con
reinicio de los tiempos de vigilancia.
RCOB
Reinicio de un bloque de organización cíclica con indicación de la dirección
de salida.
SCOB
Interrupción de la ejecución de un bloque de organización cíclica.
CCOB
Reactivación de la ejecución de un bloque de organización cíclica desde el
punto en que ha sido interrumpido.
INSTRUCCIONES DE ESTRUCTURA DE GRAFTEC
SB
ESB
CSB
RSB
IST
ST
EST
TR
ETR
Comienzo y final de un bloque secuencial.
Llamada a un bloque secuencial.
Reinicio de un bloque secuencial
correspondientes.
Inicio y final de un paso o paso inicial.
con
indicación
de
las
etapas
Inicio y final de una transición.
Página 8 de 22
Conjunto de
Instrucciones SAIA-PCD
INSTRUCCIONES DE CONTROL
JR
JPD
JPI
Salto relativo condicional o incondicional.
Salto directo condicional o incondicional.
Salto indirecto condicional o incondicional con lectura de la dirección de
salto en un registro.
HALT
Paro condicional o incondicional de la CPU 0)
LOCK
Bloqueo de un semáforo e indicación de la ocupación en el acumulador.
UNLOCK Desbloqueo de un semáforo.
INSTRUCCIONES DE RELOJ
RTIME
WTIME
Lectura de datos del reloj y transferencia a dos registros.
Lectura de los datos de los registros e inicialización del reloj.
INSTRUCCIONES PARA TARJETAS ANALOGICAS
ALGI
ALGO
STHS
OUTS
Lectura de un canal analógico de entrada sobre tarjeta PCA2.Wlx.
Escritura sobre un canal analógico de salida de una tarjeta PCA2.Wlx.
Lectura de un bit sobre una tarjeta analógica PCA2.Wxx y transferencia al
acumulador.
Escritura del estado del acumulador sobre un bit de una tarjeta analógica
PCA2.Wxx.
INSTRUCCIONES DE REGULACION
PID Llamada al algoritmo PID con designación del bloque de registros utilizado.
Conjunto de
Instrucciones SAIA-PCD
Pag. 9 de 22
INSTRUCCIONES DE TEST Y DIAGNOSIS
TEST Test de uno o varios de los siguientes elementos:
- Memoria de usuario RAM o EPROM.
- Memoria RAM de datos.
- Memoria RAM del sistema.
- EPROM del sistema.
- Puertos serie e indicación del resultado en el acumulador.
DIAG Lectura de las últimas informaciones de diagnóstico y transferencia en 11
registros:
- Número de interrupción.
- Línea de programa que se ejecutaba al producirse la interrupción.
- Contenido del registro índice.
- Líneas de programa del nivel COB y de los 7 sub-niveles que se ejecutaban
al producirse la interrupción.
INSTRUCCIONES DE COMUNICACIÓN POR LINEA SERIE
SASI
Asignación de una línea serie con indicación de un texto que contiene los
parámetros de asignación:
- Velocidad de transmisión.
- Número de bits.
- Número de bits de parada.
- Modo de paridad.
- Modo de comunicación.
- Dirección de 8 indicadores y de un registro de diagnósis.
SRXD Lectura de un carácter del buffer de recepción y transferencia a un registro
(Modo C).
STXD Escritura de un carácter en el buffer de transmisión a partir de un registro
(Modo C).
SRXM Lectura de 1 a 16 elementos de la memoria del PCD con el que se comunica y
transferencia a su propia memoria (Modo D).
STXM Lectura de 1 a 16 elementos de su propia memoria y transferencia a la
memoria del PCD con el que se comunica (Modo D).
SICL
Lectura del estado de una línea de control de la línea serie y transferencia de
su estado al acumulador.
SOCL Escritura del estado del acumulador sobre una línea de control de la línea serie
SCON Conexión y desconexión a un punto de la red SAIA-LAN1.
Página 10 de 22
Conjunto de
Instrucciones SAIA-PCD
INSTRUCCIONES DE COMUNICACIÓN PARA RED SAIA-LAN2
LRXD
LTXD
LRXS
LTXS
Lectura de elementos de la memoria de otro PCD perteneciente a la red SAIALAN2, con transferencia a la propia memoria, con indicación de la prioridad;
utilización de 10 marcas de diagnósis y de un texto de definición del otro PCD
y de los elementos correspondientes (ejecutada por el coprocesador LAN).
Lectura de elementos de la propia memoria y su transferencia a otro PCD
perteneciente a la red SAIA-LAN2 con indicación de prioridad, utilización de 10
marcas de diagnósis y de un texto de definición del otro PCD y de los
elementos correspondientes (ejecutada por el coprocesador LAN).
Lectura del estado de otro PCD perteneciente a la red SAIA-LAN2, con
indicación de la prioridad, utilización de 10 marcas de diagnósis y un texto de
definición del otro PCD (ejecutada por el coprocesador LAN2).
Transferencia de un estado a otro PCD perteneciente a la red SAIA-LAN2, con
indicación de la prioridad, utilización de 10 marcas de diagnósis y de un texto
de definición del otro PCD y del estado correspondiente (ejecutada por el
coprocesador LAN2).
INSTRUCCIONES DE DEFINICION
DEFVM
DEFTC
DEFTB
DEFWPR
División entre marcas volátiles y no volátiles.
Reparto de temporizadores y contadores.
Definición de la base de tiempos de los temporizadores.
Definición de los elementos de memoria protegidos contra escritura por
parte del coprocesador LAN2, ésta protección es activa mientras la CPU
esté en RUN.
DEFWPH Definición de los elementos de memoria protegidos contra escritura por
parte del coprocesador LAN2, ésta protección es activa mientras la CPU
esté en HALT
Conjunto de
Instrucciones SAIA-PCD
Pag. 11 de 22
BITS DE INFORMACIÓN
INFORMACIONES EXTERNAS
Entradas
Salidas
INFORMACIONES INTERNAS
Marcas
Temporizadores / Contadores
Bit
Palabra
CPU
Transferencia del
acumulador
Accu
Combinaciones lógicas
Página 12 de 22
Conjunto de
Instrucciones SAIA-PCD
INSTRUCCIONES DE BIT
BITS DE INFORMACION
Transferencias
al acumulador
Combinaciones lógicas
ANH
ANL
ORH
ORL
XOR
DYN
STH
STL
ACCU
Transferencias
desde el
acumulador
OUT
Instrucciones dependientes
del acumulador
SET
COM
RES
BITS DE INFORMACION
Conjunto de
Instrucciones SAIA-PCD
Pag. 13 de 22
INSTRUCCIONES DE ACUMULADOR
ACC
H
ACC L
Accu
ACC
C
E
ACC E
Z
ACC Z
N
ACC
N
ACC P
Página 14 de 22
Accu
N
Conjunto de
Instrucciones SAIA-PCD
TRANSFERENCIA DE PALABRAS
TEMPORIZADORES/ CONTADORES
Palabra (31 Bits)
BIT
REGISTROS
Palabra (32 Bits)
Conjunto de
Instrucciones SAIA-PCD
Pag. 15 de 22
INSTRUCCIONES DE PALABRA
CONTADORES
CARGA DE DATOS
DESPLAZAMIENTOS Y ROTACIONES
(únicamente registros)
LD
R
LDL R
LD
LDH R
T C
LDL T C
INC R
SHIU
SHID
DEC R
ROTU
ROTD
INC C
SHIR
SHIL
DEC C
ROTR
ROTL
PALABRAS
TRANSFERENCIA DE PALABRAS
COPY
GET
PUT
MOV
Página 16 de 22
Conjunto de
Instrucciones SAIA-PCD
OPERACIONES ARITMETICAS Y LOGICAS ENTRE REGISTROS
REGISTROS
ENTEROS
LOGICAS
COMA FLOTANTE
ARITMETICAS CON
ENTEROS
AND
ADD
OR
SUB
NOT
MUL
EXOR
DIV
SQR
CMP
ARITMETICAS CON
COMA FLOTANTE
FADD
FSIN
FSUB
FCOS
FMUL
FATAN
FDIV
FEXP
FSQR
FLN
FCMP
FABS
REGISTROS
ENTEROS
COMA FLOTANTE
CONVERSIONES
IFP
Conjunto de
Instrucciones SAIA-PCD
FPI
Pag. 17 de 22
TRANSFERENCIAS ENTRE BITS Y PALABRAS
BITS
TRANSFERENCIAS
BITS – PALABRAS
TRANSFERENCIAS
PALABRAS - BITS
BITI
BITO
BITIR
BITOR
DIGI
DIGO
DIGIR
DIGOR
PALABRAS
Página 18 de 22
Conjunto de
Instrucciones SAIA-PCD
BITI / BITO
max.
0
Entradas / Salidas / Marcas / Temp. / Cont.
BITI
MSB
Bit
31
Instrucción
Operando
BITI
Nº bits a transferir
Elemento de origen
Registro destino
LSB
REGISTRO
Bit
0
Instrucción
BITO
BITO
MSB
Operando
Nº bits a transferir
Registro origen
Elemento de destino
LSB
Salidas / Marcas / Temp. / Cont.
max.
Conjunto de
Instrucciones SAIA-PCD
0
Pag. 19 de 22
BITIR / BITOR
0
max.
Entradas / Salidas / Marcas / Temp. / Cont.
Instrucción
BITIR
BITIR
MSB
Bit
31
Nº bits a transferir
Elemento de origen
Registro destino
LSB
REGISTRO
Bit
0
Instrucción
BITOR
BITOR
MSB
Operando
Operando
Nº bits a transferir
Registro origen
Elemento de destino
LSB
Salidas / Marcas / Temp. / Cont.
0
Página 20 de 22
max.
Conjunto de
Instrucciones SAIA-PCD
DIGI / DIGO
max
0
Entradas / Salidas / Marcas
Instrucción
DIGI
DIGI
MSB del MSD
Operando
Nº de datos BCD
Elemento de origen.
Registro destino.
LSB del LSD
Digit
9
REGISTRO
Digit
0
Instrucción
DIGO
DIGO
MSB del LSD
Operando
Nº de datos BCD
Registro origen
Elemento de destino
LSB del LSD
Salidas / Marcas
max
Conjunto de
Instrucciones SAIA-PCD
0
Pag. 21 de 22
DIGIR / DIGOR
0
max.
Entradas / Salidas / Marcas
Instrucción
DIGIR
DIGIR
MSB del MSD
Digit
9
Operando
Nº de datos BCD
Elemento de origen
Registro destino
LSB del LSD
REGISTRO
Digit
0
DIGOR
Instrucción
DIGOR
MSB del MSD
Operando
Nº de datos BCD
Registro origen
Elemento de destino
LSB del LSD
Salidas / Marcas
0
Página 22 de 22
max.
Conjunto de
Instrucciones SAIA-PCD
Descargar