Está en la página 1de 49

Instrucciones de desplazamiento de datos Seccin 3-9

3-9 Instrucciones de desplazamiento de datos


Esta seccin describe las instrucciones utilizadas para desplazar datos en un
canal o entre canales, pero en cantidades y direcciones diferentes.
Instruccin Nemnico Cdigo de Pgina
funcin
SHIFT REGISTER SFT 010 345
REVERSIBLE SHIFT REGIS- SFTR 084 346
TER
ASYNCHRONOUS SHIFT ASFT 017 349
REGISTER
WORD SHIFT WSFT 016 352
ARITHMETIC SHIFT LEFT ASL 025 354
DOUBLE SHIFT LEFT ASLL 570 355
ARITHMETIC SHIFT RIGHT ASR 026 357
DOUBLE SHIFT RIGHT ASRL 571 358
ROTATE LEFT ROL 027 360
DOUBLE ROTATE LEFT ROLL 572 362
ROTATE LEFT WITHOUT RLNC 574 367
CARRY
DOUBLE ROTATE LEFT RLNL 576 369
WITHOUT CARRY
ROTATE RIGHT ROR 028 364
DOUBLE ROTATE RIGHT RORL 573 365
ROTATE RIGHT WITHOUT RRNC 575 371
CARRY
DOUBLE ROTATE RIGHT RRNL 577 372
WITHOUT CARRY
ONE DIGIT SHIFT LEFT SLD 074 374
ONE DIGIT SHIFT RIGHT SRD 075 376
SHIFT N-BIT DATA LEFT NSFL 578 377
SHIFT N-BIT DATA RIGHT NSFR 579 379
SHIFT N-BITS LEFT NASL 580 381
DOUBLE SHIFT N-BITS LEFT NSLL 582 384
SHIFT N-BITS RIGHT NASR 581 387
DOUBLE SHIFT N-BITS NSRL 583 389
RIGHT

344
Instrucciones de desplazamiento de datos Seccin 3-9

3-9-1 SHIFT REGISTER: SFT(010)


Empleo Opera un registro de desplazamiento.

Smbolo de diagrama de Entrada de


rels datos SFT(010)
Entrada de
desplazamiento
St St: Canal inicial
Entrada de E E: Canal final
reset

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON SFT(010)
Se ejecuta una vez en el diferencial Incompatible
ascendente
Se ejecuta una vez en el diferencial Incompatible
descendente
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
No se admite OK OK OK

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador ---
rea Contador ---
rea DM ---
rea EM sin banco ---
rea EM con Banco ---
Direcciones DM/EM indi- ---
rectas en binario
Direcciones DM/EM indi- ---
rectas en BCD
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15

345
Instrucciones de desplazamiento de datos Seccin 3-9

Descripcin Cuando la condicin de ejecucin de la entrada de desplazamiento cambia


de OFF a ON, todos los datos desde St hasta E se desplazan hacia la
izquierda en un bit (desde el bit de la derecha hacia el bit de la izquierda), y el
estado ON/OFF de la entrada de datos se coloca en el bit de la derecha.
E St+1, St+2, ... St

Se pierde
Estado de la entrada de datos para
cada entrada de desplazamiento

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si la direccin indirecta de IR para St y E no est en
error las reas de datos CIO, AR, HR o WR.
OFF en el resto de los casos.

Precauciones Los datos del bit desplazados fuera del registro de desplazamiento se ignoran.
Cuando la entrada de reset se pone en ON, todos los bits del registro de des-
plazamiento desde el canal de la derecha designado (St) al canal de la
izquierda designado (E) se resetearn (es decir, se pondrn a 0). La entrada
de reset tiene prioridad sobre las otras entradas.
St debe ser menor o igual que E, pero aunque St se configure con un valor
mayor que E no se producir un error y se desplazar un canal de datos de St.
Cuando St y E se designan indirectamente utilizando registros de ndice y las
direcciones reales de la memoria de E/S no estn dentro de reas de memo-
ria para datos se producir un error y el indicador de error se pondr en ON.

Ejemplos Registro de desplazamiento de ms de 16 bits


El siguiente ejemplo muestra un registro de desplazamiento de 48 bits
usando los canales CIO 0128 hasta CIO 0130. Se usa un impulso de reloj de
1 segundo de tal manera que la condicin de ejecucin producida por
CIO 000005 se desplaza a un registro de 3 canales entre CIO 012800 y
CIO 013015 cada segundo.

Entrada de datos
E: CIO 0130 St+1: CIO 0129 St: CIO 0128 Contenidos
Entrada de de CIO
desplazamiento Se 000005
pierde
(Impulso de reloj de 1 s)
Reset

3-9-2 REVERSIBLE SHIFT REGISTER: SFTR(084)


Empleo Crea un registro de desplazamiento que desplaza datos hacia la derecha o
hacia la izquierda.

Smbolo de diagrama de
rels SFTR(084)
C: Canal de
C control

St St: Canal inicial

E E: Canal final

346
Instrucciones de desplazamiento de datos Seccin 3-9

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON SFTR(084)
Se ejecuta una vez en el diferencial ascendente @SFTR(084)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Operandos C: Canal de control

15 14 13 12
Direccin de
desplazamiento
1 (ON): Izquierda
0 (OFF): Derecha

Entrada de datos
Entrada de
desplazamiento
Reset

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea C St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A000 hasta A959 A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15 ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

347
Instrucciones de desplazamiento de datos Seccin 3-9

Descripcin Cuando la condicin de ejecucin del bit de entrada de desplazamiento (bit


14 de C) cambia a ON, todos los datos desde St hasta E se mueven en la
direccin de desplazamiento especificada (designada mediante el bit 12 de
C) en 1 bit, y el estado ON/OFF de la entrada de datos se coloca en el bit de
la derecha o de la izquierda. Los datos del bit desplazado fuera del registro
de desplazamiento se colocan en el indicador de acarreo (CY).

E St Entrada
de datos
Entrada E St Direccin de
de datos
desplazamiento

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si St es mayor que E.
error OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 en l.
acarreo OFF cuando se desplaza 0 en l.
OFF cuando el reset est configurado como 1.

Precauciones Las operaciones de desplazamiento anteriores son aplicables cuando el bit


de reset (bit 15 de C) se configura como OFF.
Cuando el reset (bit 15 de C) se pone en ON todos los bits del registro de
datos, desde St hasta E, se resetearn (es decir, se pondrn a 0).
Cuando St es mayor que E, se generar un error y el indicador de error se
pondr en ON.

Ejemplos Desplazamiento de datos


Si la entrada de desplazamiento CIO 030014 se pone en ON cuando
CIO 000000 est en ON, y el bit de reset CIO 030015 est en OFF, los cana-
les CIO 0100 hasta CIO 0102 se desplazarn en un bit en la direccin desig-
nada por CIO 030012 (por ejemplo, 1: Derecha) y los contenidos del bit de
entrada CIO 030013 se desplazarn al bit de la derecha, CIO 010000. Los
contenidos de CIO 010215 se desplazarn al indicador de acarreo (CY).

C
St C: 0300
E
Direccin de desplazamiento

Bit de entrada de desplazamiento: 1


Bit de entrada de reset: 0

Entrada de da-
tos: CIO 030013

Reseteo de datos
Si CIO 030014 est en ON cuando CIO 000000 est en ON, y el bit de rese-
teo, CIO 030015, est en ON, los canales CIO 0100 hasta CIO 0102 y el indi-
cador de acarreo se restearn a OFF.

348
Instrucciones de desplazamiento de datos Seccin 3-9

Control de datos
Reseteo de datos
Todos los bits desde St hasta E y el indicador de acarreo se ponen a 0 y no
pueden recibirse otros datos cuando el bit de entrada de reset (bit 15 de C)
est en ON.

Desplazamiento de datos hacia la izquierda (del bit de la derecha al bit de


la izquierda)
Cuando el bit de entrada de desplazamiento (bit 14 de C) est en ON, los
contenidos del bit de entrada (bit 13 de C) se desplazan al bit 00 del canal ini-
cial, y cada bit consiguiente se desplaza en un bit hacia la izquierda. El
estado del bit 15 del canal final se desplaza al indicador de acarreo.
Entrada
de datos

Desplazamiento de datos hacia la derecha (del bit de la izquierda al bit de


la derecha)
Cuando el bit de entrada de desplazamiento (bit 14 de C) est en ON, los
contenidos del bit de entrada (bit 13 de C) (E/S) se desplazan al bit 15 del
canal final, y cada bit consiguiente se desplaza en un bit hacia la derecha. El
estado del bit 00 del canal inicial se desplaza al indicador de acarreo.
Entrada de
datos

3-9-3 ASYNCHRONOUS SHIFT REGISTER: ASFT(017)


Empleo Desplaza todos los datos de canal que no sean cero dentro del rango de
canales especificados hacia St o hacia E, reemplazando los datos de canales
0000Hex.

Smbolo de diagrama de
rels ASFT(017)
C: Canal de
C control
St St: Canal inicial

E E: Canal final

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ASFT(017)
Se ejecuta una vez en el diferencial ascendente @ASFT(017)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

349
Instrucciones de desplazamiento de datos Seccin 3-9

Operandos C: Canal de control

15 14 13 12
Direccin de desplazamiento
0: Datos no cero desplazados hacia E
1: Datos no cero desplazados hacia St
Bit de habilitacin de desplazamiento
0: Desplazamiento deshabilitado
1: Desplazamiento habilitado
Bit de borrado
0: Datos no resetados
1: Todos los datos desde St hasta E resetados

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea C St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A000 hasta A959 A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15 ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin Cuando el bit de habilitacin de desplazamiento (bit 14 de C) est en ON,


todos los canales con contenido no cero en el rango de canales de entre St y
E se desplazarn un canal en la direccin determinada por el bit de direccin
de desplazamiento (bit 13 de C) siempre que el canal que se encuentra en la
direccin de desplazamiento contenga todo ceros. Si ASFT(017) se repite las
veces suficientes, todos los canales todo cero se reemplazarn por canales
no cero. El resultado ser que todos los datos entre St y E se dividen en
datos cero y en datos no cero.

350
Instrucciones de desplazamiento de datos Seccin 3-9

Direccin de
St desplazamiento
Desplazamiento
Conversin habilitado
...
Borrar
Conversin

St

Datos no cero
...

Datos cero
E

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si St es mayor que E.
error ON si el indicador de habilitacin de puerto de comunica-
ciones para el nmero de puerto de comunicaciones
especificado como el N de puerto de comunicaciones
para Ejecucin en segundo plano est en OFF cuando se
especifica procesamiento en segundo plano.
OFF en el resto de los casos.

Precauciones Cuando el indicador de borrado (bit 15 de C) se pone en ON, todos los bits
del registro de datos, desde St hasta E, se resetearn (es decir, se pondrn a
0). El indicador de borrado tiene prioridad sobre el bit de habilitacin de des-
plazamiento (bit 14 de C).
Cuando St es mayor que E, se generar un error y el indicador de error se
pondr en ON.

Ejemplos Desplazamiento de datos:


Si el bit de habilitacin de desplazamiento, CIO 030014, se pone en ON
cuando CIO 000000 est en ON, todos los canales con contenido de datos
no cero desde CIO 0100 hasta CIO 0109 se desplazarn en la direccin
designada por el bit de direccin de desplazamiento, CIO 030013 (por ejem-
plo, 1: Hacia St) si el canal a la izquierda de los datos no cero es todo ceros.

351
Instrucciones de desplazamiento de datos Seccin 3-9

C
St
E C: 0300
Direccin de desplazamiento
1: Datos no cero desplazados hacia E
Bit de habilitacin de desplazamiento: 1
Borrar
Despus de
Antes de ejecutar ASFT(017) Despus de una ejecucin
dos ejecuciones
St:
Datos no cero
desplazados hacia St

E:

3-9-4 WORD SHIFT: WSFT(016)


Empleo Desplaza datos entre St y E en unidades de canal.

Smbolo de diagrama de
rels WSFT(016)

S S: Canal fuente

St St: Canal inicial

E E: Canal final

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON WSFT(016)
Se ejecuta una vez en el diferencial ascendente @WSFT(016)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea S St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A000 hasta A959 A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095

352
Instrucciones de desplazamiento de datos Seccin 3-9

rea S St E
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes #0000 hasta ---
#FFFF (binario)
Registros de datos DR0 hasta DR15 ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin WSFT(016) desplaza datos desde St hacia E en unidades de canal, y los


datos del canal fuente S se colocan en St. Los contenidos de E se pierden.

E St
Se
pierde

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si St es mayor que E.
error OFF en el resto de los casos.

Precauciones Cuando St es mayor que E, se generar un error y el indicador de error se


pondr en ON.
Nota Cuando se desplazan grandes cantidades de datos, el tiempo de ejecucin
de la instruccin es bastante largo. Asegrese de que no se interrumpe la ali-
mentacin mientras se est ejecutando WSFT(016), lo que causara que la
operacin de desplazamiento se interrumpiera a la mitad.

Ejemplos Cuando CIO 000000 est en ON, los datos de CIO 0100 hasta CIO 0102 se
desplazan en un canal hacia E. Los contenidos de CIO 0300 se almacenan
en CIO 0100 y los contenidos de CIO 0102 se pierden.

St
E
S: CIO 0300

E: CIO 0100 St: CIO 0101 St: CIO 0102


Se pierde

353
Instrucciones de desplazamiento de datos Seccin 3-9

3-9-5 ARITHMETIC SHIFT LEFT: ASL(025)


Empleo Desplaza el contenido de Wd un bit hacia la izquierda.

Smbolo de diagrama de
rels ASL(025)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ASL(025)
Se ejecuta una vez en el diferencial ascendente @ASL(025)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
Constantes ---
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ASL(025) desplaza los contenidos de Wd un bit a la izquierda (del bit de la


derecha al bit de la izquierda). Se coloca 0 en el bit de la derecha y los
datos del bit de la izquierda se desplazan al indicador de acarreo (CY).

15 0

354
Instrucciones de desplazamiento de datos Seccin 3-9

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Si se ejecuta ASL(025) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, se desplazar CIO 0100 un bit a la
izquierda. Se colocar 0 en CIO 010000 y los contenidos de CIO 010115 se
desplazarn al indicador de acarreo (CY).

Wd

3-9-6 DOUBLE SHIFT LEFT: ASLL(570)


Empleo Desplaza el contenido de Wd y Wd+1 un bit hacia la izquierda.

Smbolo de diagrama de
rels ASLL(570)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ASLL(570)
Se ejecuta una vez en el diferencial ascendente @ASLL(570)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510

355
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ASLL(570) desplaza los contenidos de Wd y Wd +1 un bit a la izquierda (del


bit de la derecha al bit de la izquierda). Se coloca 0 en el bit de la derecha
de Wd y los contenidos del bit de la izquierda de Wd y Wd +1 se desplazan al
indicador de acarreo (CY).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.
Precauciones Cuando se ejecuta ASLL(570) el indicador de error se pondr en OFF.
Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el
indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd +1 es 1, el indicador negativo se pondr en ON.

356
Instrucciones de desplazamiento de datos Seccin 3-9

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 se des-
plazarn un bit a la izquierda. Se colocar 0 en CIO 010000 y los conteni-
dos de CIO 010015 se desplazarn al indicador de acarreo (CY).

Wd

3-9-7 ARITHMETIC SHIFT RIGHT: ASR(026)


Empleo Desplaza el contenido del Wd un bit hacia la derecha.
Smbolo de diagrama de
rels ASR(026)

Wd Wd: Canal
Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ASR(026)
Se ejecuta una vez en el diferencial ascendente @ASR(026)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible
reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK
Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15

357
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ASR(026) desplaza los contenidos de Wd un bit a la derecha (del bit de la


izquierda al bit de la derecha). Se colocar 0 en el bit de la izquierda y los
contenidos del bit de la derecha se desplazarn al indicador de acarreo (CY).

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N OFF
negativo

Precauciones Cuando se ejecuta ASR(026) el indicador de error y el indicador de negativo


se pondrn en OFF.
Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, se desplazar CIO 0100 un bit a la dere-
cha. Se colocar 0 en CIO 010015 y los contenidos de CIO 010000 se des-
plazarn al indicador de acarreo (CY).

Wd

3-9-8 DOUBLE SHIFT RIGHT: ASRL(571)


Empleo Desplaza el contenido de Wd y Wd +1 un bit hacia la derecha.

Smbolo de diagrama de
rels ASRL(571)

Wd Wd: Canal

358
Instrucciones de desplazamiento de datos Seccin 3-9

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ASRL(571)
Se ejecuta una vez en el diferencial ascendente @ASRL(571)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ASRL(571) desplaza los contenidos de Wd y Wd +1 un bit a la derecha (del


bit de la izquierda al bit de la derecha). Se colocar 0 en el bit de la
izquierda de Wd +1 y los contenidos del bit de la derecha de Wd se desplaza-
rn al indicador de acarreo (CY).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de error ER OFF
Indicador de igual = ON cuando el resultado de desplazamiento es 0.
OFF en el resto de los casos.

359
Instrucciones de desplazamiento de datos Seccin 3-9

Nombre Etiqueta Operacin


Indicador CY ON cuando se desplaza 1 al indicador de acarreo (CY).
de acarreo OFF en el resto de los casos.
Indicador N OFF
de negativo

Precauciones Cuando se ejecuta ASRL (571) el indicador de error y el indicador de nega-


tivo se pondrn en OFF.
Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el
indicador de igual se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 se des-
plazarn un bit a la derecha. Se colocar 0 en CIO 010115 y los contenidos
de CIO 010000 se desplazarn al indicador de acarreo (CY).

Wd

3-9-9 ROTATE LEFT: ROL(027)


Empleo Desplaza todos los bits de Wd un bit hacia la izquierda, incluyendo el indica-
dor de acarreo (CY).

Smbolo de diagrama de
rels ROL(027)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ROL(027)
Se ejecuta una vez en el diferencial ascendente @ROL(027)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767

360
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM @ D00000 hasta @ D32767
indirectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM *D00000 hasta *D32767
indirectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento ,IR0 hasta ,IR15
indirecto utilizando 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
registros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ROL(027) desplaza todos los bits de Wd incluido el indicador de acarreo (CY)
a la izquierda (del bit de la derecha al bit de la izquierda).

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta ROL(027) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd es 1, el indicador negativo se pondr en ON.
Nota Es posible configurar los contenidos del indicador de acarreo como 1 o 0
inmediatamente antes de ejecutar esta instruccin utilizando las instruccio-
nes de configuracin de acarreo (STC(040)) o de borrado de acarreo
(CLC(041)).

Ejemplos Cuando CIO 000000 est en ON, el canal CIO 0100 y el indicador de acarreo
se desplazarn un bit a la izquierda. Los contenidos de CIO 010015 se des-
plazarn al indicador de acarreo (CY) y los contenidos del indicador de aca-
rreo se desplazarn a CIO 010000.

361
Instrucciones de desplazamiento de datos Seccin 3-9

Wd

Wd: CIO 0100

Instruccin ejecutada
una vez

3-9-10 DOUBLE ROTATE LEFT: ROLL(572)


Empleo Desplaza todos los bits de Wd y Wd +1 un bit hacia la izquierda, incluyendo el
indicador de acarreo (CY).

Smbolo de diagrama de
rels ROLL(572)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ROLL(572)
Se ejecuta una vez en el diferencial ascendente @ROLL(572)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---

362
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ROLL(572) desplaza todos los bits de Wd y Wd +1 incluido el indicador de


acarreo (CY) a la izquierda (del bit de la derecha al bit de la izquierda).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta ROLL(572) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el
indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd +1 es 1, el indicador negativo se pondr en ON.
Nota Es posible configurar los contenidos del indicador de acarreo como 1 o 0
inmediatamente antes de ejecutar esta instruccin utilizando las instruccio-
nes de configuracin de acarreo (STC(040)) o de borrado de acarreo
(CLC(041)).

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 y el indi-
cador de acarreo se desplazarn un bit a la izquierda. Los contenidos de
CIO 010015 se desplazarn al indicador de acarreo (CY) y los contenidos del
indicador de acarreo se desplazarn a CIO 010000.

Wd

Wd+1: CIO 0101 Wd: CIO 0100

Instruccin ejecutada una vez

363
Instrucciones de desplazamiento de datos Seccin 3-9

3-9-11 ROTATE RIGHT: ROR(028)


Empleo Desplaza todos los bits de Wd un bit hacia la derecha, incluyendo el indicador
de acarreo (CY).

Smbolo de diagrama de
rels ROR(028)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON ROR(028)
Se ejecuta una vez en el diferencial ascendente @ROR(028)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin ROR(028) desplaza todos los bits de Wd incluido el indicador de acarreo (CY)
a la derecha (del bit de la izquierda al bit de la derecha).

364
Instrucciones de desplazamiento de datos Seccin 3-9

Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta ROR(028) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd es 1, el indicador negativo se pondr en ON.
Nota Es posible configurar los contenidos del indicador de acarreo como 1 o 0
inmediatamente antes de ejecutar esta instruccin utilizando las instrucciones
de configuracin de acarreo (STC(040)) o de borrado de acarreo (CLC(041)).
Ejemplos Cuando CIO 000000 est en ON, el canal CIO 0100 y el indicador de acarreo
se desplazarn un bit a la derecha. Los contenidos de CIO 010000 se despla-
zarn al indicador de acarreo (CY) y los contenidos del indicador de acarreo
se desplazarn a CIO 010015.

Wd

Wd: CIO 0100

Instruccin ejecutada una


vez

3-9-12 DOUBLE ROTATE RIGHT: RORL(573)


Empleo Desplaza todos los bits de Wd y Wd +1 un bit hacia la derecha, incluyendo el
indicador de acarreo (CY).
Smbolo de diagrama de
rels RORL(573)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON RORL(573)
Se ejecuta una vez en el diferencial ascendente @RORL(573)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

365
Instrucciones de desplazamiento de datos Seccin 3-9

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin RORL(573) desplaza todos los bits de Wd y Wd +1 incluido el indicador de


acarreo (CY) a la derecha (del bit de la izquierda al bit de la derecha).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta RORL(573) el indicador de error se pondr en OFF.

366
Instrucciones de desplazamiento de datos Seccin 3-9

Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el


indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd +1 es 1, el indicador negativo se pondr en ON.
Nota Es posible configurar los contenidos del indicador de acarreo como 1 o 0
inmediatamente antes de ejecutar esta instruccin utilizando las instruccio-
nes de configuracin de acarreo (STC(040)) o de borrado de acarreo
(CLC(041)).

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 y el indi-
cador de acarreo se desplazarn un bit a la derecha. Los contenidos de
CIO 010000 se desplazarn al indicador de acarreo (CY) y los contenidos del
indicador de acarreo se desplazarn a CIO 010115.

Wd

Wd+1: CIO 0101 Wd: CIO 0100

Instruccin ejecutada una vez

3-9-13 ROTATE LEFT WITHOUT CARRY: RLNC(574)


Empleo Desplaza todos los bits de Wd un bit hacia la izquierda, sin incluir el indicador
de acarreo (CY).

Smbolo de diagrama de
rels RLNC(574)
Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON RLNC(574)
Se ejecuta una vez en el diferencial ascendente @RLNC(574)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767

367
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin RLNC(574) desplaza todos los bits de Wd a la izquierda (del bit de la derecha
al bit de la izquierda). El contenido del bit situado ms la izquierda de Wd se
desplaza hacia el bit situado ms a la derecha y al indicador de acarreo (CY).

Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta RLNC(574) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, el canal CIO 0100 se desplazar un bit a la
izquierda (sin incluir el indicador de acarreo(CY)). Los contenidos de
CIO 010015 se desplazarn a CIO 010000.

368
Instrucciones de desplazamiento de datos Seccin 3-9

Wd

Wd: CIO 0100

Instruccin ejecutada una vez

3-9-14 DOUBLE ROTATE LEFT WITHOUT CARRY: RLNL(576)


Empleo Desplaza todos los bits de Wd y Wd +1 un bit hacia la izquierda, sin incluir el
indicador de acarreo (CY).

Smbolo de diagrama de
rels RLNL(576)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON RLNL(576)
Se ejecuta una vez en el diferencial @RLNL(576)
ascendente
Se ejecuta una vez en el diferencial Incompatible
descendente
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---

369
Instrucciones de desplazamiento de datos Seccin 3-9

rea Wd
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin RLNL(576) desplaza todos los bits de Wd y Wd +1 a la izquierda (del bit de la


derecha al bit de la izquierda). El contenido del bit situado ms la izquierda de
Wd +1 se desplaza hacia el bit situado ms a la derecha de Wd y al indicador
de acarreo (CY).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta RLNL(576) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el
indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd +1 es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 se des-
plazarn un bit a la izquierda (sin incluir el indicador de acarreo(CY)). Los
contenidos de CIO 010115 se desplazarn a CIO 010000.

Wd

Wd+1: CIO 0101 Wd: CIO 0100

Instruccin ejecutada una


vez

370
Instrucciones de desplazamiento de datos Seccin 3-9

3-9-15 ROTATE RIGHT WITHOUT CARRY: RRNC(575)


Empleo Desplaza todos los bits de Wd un bit hacia la derecha, sin incluir el indicador
de acarreo (CY). El contenido del bit situado ms la derecha de Wd se des-
plaza hacia el bit situado ms a la izquierda y al indicador de acarreo (CY).

Smbolo de diagrama de
rels RRNC(575)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON RRNC(575)
Se ejecuta una vez en el diferencial ascendente @RRNC(575)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin RRNC(575) desplaza todos los bits de Wd a la derecha (del bit de la


izquierda al bit de la derecha) sin incluir el indicador de acarreo (CY).

371
Instrucciones de desplazamiento de datos Seccin 3-9

Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones Cuando se ejecuta RRNC(575) el indicador de error se pondr en OFF.


Si como resultado del desplazamiento el contenido de Wd es cero, el indica-
dor de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
Wd es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, el canal CIO 0100 se desplazar un bit a la
derecha (sin incluir el indicador de acarreo(CY)). Los contenidos de
CIO 010000 se desplazarn a CIO 010015.

Wd

Wd: CIO 0100

Instruccin ejecutada
una vez
CY

3-9-16 DOUBLE ROTATE RIGHT WITHOUT CARRY: RRNL(577)


Empleo Desplaza todos los bits de Wd y Wd +1 un bit hacia la derecha, sin incluir el
indicador de acarreo (CY). El contenido del bit situado ms la derecha de Wd
+1 se desplaza hacia el bit situado ms a la izquierda de Wd y al indicador de
acarreo (CY).

Smbolo de diagrama de
rels RRNL(577)

Wd Wd: Canal

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON RRNL(577)
Se ejecuta una vez en el diferencial ascendente @RRNL(577)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

372
Instrucciones de desplazamiento de datos Seccin 3-9

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Especificaciones del
operando rea Wd
rea CIO CIO 0000 hasta CIO 6142
rea de Trabajo W000 hasta W510
rea de bit en Espera H000 hasta H510
rea Bit Auxiliar A448 hasta A958
rea Temporizador T0000 hasta T4094
rea Contador C0000 hasta C4094
rea DM D00000 hasta D32766
rea EM sin banco E00000 hasta E32766
rea EM con Banco En_00000 hasta En_32766
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15
Descripcin RRNL(577) desplaza todos los bits de Wd y Wd +1 a la derecha (del bit de la
izquierda al bit de la derecha) sin incluir el indicador de acarreo (CY).
Wd+1 Wd

Indicadores
Nombre Etiqueta Operacin
Indicador de ER OFF
error
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.
Precauciones Cuando se ejecuta RRNL(577) el indicador de error se pondr en OFF.
Si como resultado del desplazamiento el contenido de Wd y Wd +1 es cero, el
indicador de igual se pondr en ON.

373
Instrucciones de desplazamiento de datos Seccin 3-9

Si como resultado del desplazamiento el contenido del bit de la izquierda de


Wd +1 es 1, el indicador negativo se pondr en ON.
Nota Es posible configurar los contenidos del indicador de acarreo como 1 o 0
inmediatamente antes de ejecutar esta instruccin utilizando las instruccio-
nes de configuracin de acarreo (STC(040)) o de borrado de acarreo
(CLC(041)).

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 y CIO 0101 se des-
plazarn un bit a la derecha (sin incluir el indicador de acarreo(CY)). Los con-
tenidos de CIO 010000 se desplazarn a CIO 010115.

Wd

Wd+1: CIO 0101 Wd: CIO 0100

Instruccin ejecutada una vez

3-9-17 ONE DIGIT SHIFT LEFT: SLD(074)


Empleo Desplaza los datos un dgito (4 bits) hacia la izquierda.

Smbolo de diagrama de
rels SLD(074)

St St: Canal inicial

E E: Canal final

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON SLD(074)
Se ejecuta una vez en el diferencial ascendente @SLD(074)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767

374
Instrucciones de desplazamiento de datos Seccin 3-9

rea St E
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin SLD(074) desplaza datos entre St y E un dgito (4 bits) a la izquierda. Se


coloca 0 en el dgito de la derecha (bits 3 hasta 0 de St), y el contenido del
dgito de la izquierda (bits 15 hasta 12 de E) se pierde.
E S t

Se pierde

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si St es mayor que E.
error OFF en el resto de los casos.

Precauciones Cuando St es mayor que E, se generar un error y el indicador de error se


pondr en ON.
Nota Cuando se desplazan grandes cantidades de datos, el tiempo de ejecucin
de la instruccin es bastante largo. Asegrese de que no se interrumpe la ali-
mentacin mientras se est ejecutando SLD(074), lo que causara que la
operacin de desplazamiento se interrumpiera a la mitad.

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 hasta CIO 0102 se
desplazarn un dgito (4 bits) a la izquierda. Se coloca un cero en los bits 0
hasta 3 del canal CIO 0100 y los contenidos de los bits 12 hasta 15 de
CIO 0102 se pierden.

St
E
E: CIO 0102 St+1: CIO 0101 St: CIO 0100

Se pierde

375
Instrucciones de desplazamiento de datos Seccin 3-9

3-9-18 ONE DIGIT SHIFT RIGHT: SRD(075)


Empleo Desplaza los datos un dgito (4 bits) hacia la derecha.

Smbolo de diagrama de
rels SRD(075)

St St: Canal inicial

E E: Canal final

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON SRD(075)
Se ejecuta una vez en el diferencial ascendente @SRD(075)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Nota St y E deben estar en el mismo rea de datos.

Especificaciones del
operando rea St E
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes ---
Registros de datos ---
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

376
Instrucciones de desplazamiento de datos Seccin 3-9

Descripcin SRD(075) desplaza datos entre St y E un dgito (4 bits) a la derecha. Se


coloca 0 en el dgito de la izquierda (bits 15 hasta 12 de E), y el contenido
del dgito de la derecha (bits 3 hasta 0 de St) se pierde.
E S t
Se
pierde

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON si St es mayor que E.
error OFF en el resto de los casos.

Precauciones Cuando St es mayor que E, se generar un error y el indicador de error se


pondr en ON.
Cuando se ejecuta SRD(075) el indicador de igual y el indicador de negativo
se pondrn en OFF.
Nota Cuando se desplazan grandes cantidades de datos, el tiempo de ejecucin
de la instruccin es bastante largo. Asegrese siempre de que no se inte-
rrumpe la alimentacin mientras se est ejecutando SRD(075), lo que causa-
ra que la operacin de desplazamiento se interrumpiera a la mitad.

Ejemplos Cuando CIO 000000 est en ON, los canales CIO 0100 hasta CIO 0102 se
desplazarn un dgito (4 bits) a la derecha. Se coloca un cero en los bits 12
hasta 15 del canal CIO 0102 y los contenidos de los bits 0 hasta 3 de
CIO 0100 se pierden.

St
E
E: CIO 0102 St+1: CIO 0101 St: CIO 0100
Se
pierde

3-9-19 SHIFT N-BIT DATA LEFT: NSFL(578)


Empleo Desplaza el nmero especificado de bits hacia la izquierda.

Smbolo de diagrama de
rels NSFL(578)
D: Canal inicial para
D desplazamiento
C C: Bit de inicio
N: Longitud de
N
desplazamiento de datos

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NSFL(578)
Se ejecuta una vez en el diferencial ascendente @NSFL(578)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

377
Instrucciones de desplazamiento de datos Seccin 3-9

Operandos C: 0000 hasta 000F hexadecimal (0 hasta 15)


N: 0000 hasta FFFF hexadecimal (0 hasta 65535)
Nota Todos los canales del registro de desplazamiento deben estar en el mismo
rea.

Especificaciones del
operando rea D C N
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959 A000 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- #0000 hasta #0000 hasta
#000F (binario) o #FFFF (binario) o
bien &0 hasta &15 bien &0 hasta
&65535
Registros de datos --- DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NSFL(578) desplaza el nmero de bits especificado por la longitud de datos


de desplazamiento (N) desde el bit de inicio (C) del canal de la derecha, tal y
como designa D, un bit a la izquierda (hacia el canal de la izquierda y el bit de
la izquierda). Se coloca 0 en el bit de inicio y los contenidos del bit de la
izquierda del rea de desplazamiento se desplazan al indicador de acarreo
(CY).

Desplaza un bit hacia la


N1 bit izquierda

N1 bit

378
Instrucciones de desplazamiento de datos Seccin 3-9

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando los datos de C no estn entre 0000 y 000F
error hexadecimal.
OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.

Precauciones Cuando la longitud de los datos de desplazamiento (N) es 0, los contenidos


del bit de inicio se copiarn al indicador de acarreo (CY), y sus contenidos no
cambiarn.
Slo cambiarn los bits desplazados al canal de la derecha del rea de des-
plazamiento (es decir, los datos del canal de la izquierda).

Ejemplos Cuando CIO 000000 est en ON, todos los bits desde el bit de inicio 3 hasta la
longitud de datos de desplazamiento (B hexadecimal) se desplazarn un bit a
la izquierda (desde el bit de la derecha hacia el bit de la izquierda). Se coloca
0 en el bit 3 de CIO 0100. Los contenidos del bit de la izquierda del rea de
desplazamiento (bit 13 de CIO 0100) se copian al indicador de acarreo (CY).

D
C &3
N &11
C: Empezando por
N: 11 bits el bit 3

D: CIO 0100

D: CIO 0100
0

3-9-20 SHIFT N-BIT DATA RIGHT: NSFR(579)


Empleo Desplaza el nmero especificado de bits hacia la derecha.

Smbolo de diagrama de
rels NSFR(579)
D: Canal inicial para
D desplazamiento
C C: Bit de inicio
N: Longitud de
N
desplazamiento de datos

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NSFR(579)
Se ejecuta una vez en el diferencial ascendente @NSFR(579)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

379
Instrucciones de desplazamiento de datos Seccin 3-9

Operandos C: 0000 hasta 000F hexadecimal (0 hasta 15)


N: 0000 hasta FFFF hexadecimal (0 hasta 65535)
Nota Todos los canales del registro de desplazamiento deben estar en el mismo
rea.

Especificaciones del
operando rea D C N
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959 A000 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- #0000 hasta #0000 hasta
#000F (binario) o #FFFF (binario) o
bien &0 hasta &15 bien &0 hasta
&65535
Registros de datos --- DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NSFR(579) desplaza el nmero de bits especificado por la longitud de datos


de desplazamiento (N) desde el bit de inicio (C) del canal de la derecha, tal y
como designa D, un bit a la derecha (hacia el canal de la derecha y el bit de la
derecha). Se colocar 0 en el bit de inicio y los contenidos del bit de la dere-
cha del rea de desplazamiento se desplazarn al indicador de acarreo (CY).

Desplaza un bit hacia la


derecha
N-1 bit

N-1 bit

380
Instrucciones de desplazamiento de datos Seccin 3-9

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando los datos de C no estn entre 0000 y 000F
error hexadecimal.
OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.

Precauciones Cuando la longitud de los datos de desplazamiento (N) es 0, los contenidos


del bit inicial se copiarn al indicador de acarreo (CY), y sus contenidos no
cambiarn.
Slo cambiarn los bits desplazados al canal de la derecha del rea de des-
plazamiento (es decir, los datos del canal de la izquierda).

Ejemplos Cuando CIO 000000 est en ON, todos los bits desde el bit de inicio 2 hasta la
longitud de datos de desplazamiento de 11 bits (B hexadecimal) se desplazarn
un bit a la derecha (desde el bit de la izquierda hacia el bit de la derecha). Se
desplaza 0 al bit 12 de CIO 0100. Los contenidos del bit de la derecha del rea
de desplazamiento (bit 2 de CIO 0100) se copian al indicador de acarreo (CY).

&2
&11

C: Empezando por
N: 11 bits el bit 2

3-9-21 SHIFT N-BITS LEFT: NASL(580)


Empleo Desplaza los 16 bits especificados de los datos de canal hacia la izquierda,
en funcin del nmero especificado de bits.

Smbolo de diagrama de
rels NASL(580)
D: Canal de
D desplazamiento
C: Canal de
C control

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NASL(580)
Se ejecuta una vez en el diferencial ascendente @NASL(580)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

381
Instrucciones de desplazamiento de datos Seccin 3-9

Operandos C: Canal de control


15 12 11 8 7 0
C
0

N de bits a desplazar:
00 hasta 10 Hex

Siempre 0.
Datos desplazados al registro
0 hexadecimal: 0 desplazado
8 hexadecimal: Contenidos del bit de la derecha desplazados

Especificaciones del
operando rea D C
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959 A000 hasta A959
rea Temporizador T0000 hasta T4095
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- Slo valores especificados
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NASL(580) desplaza D (el canal de desplazamiento) el nmero de bits bina-


rios especificado (en C) hacia la izquierda (del bit de la derecha hacia el bit
de la izquierda). Se colocan ceros o el valor del bit de la derecha en el
nmero de bits especificado del canal de desplazamiento empezando por el
bit de la derecha.

382
Instrucciones de desplazamiento de datos Seccin 3-9

Desplazar n bits

Contenido de "a" o "0"


desplazado
Se
pierde
N bits

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando el canal de control C (el nmero de bits a
error desplazar) no est dentro del rango.
OFF en el resto de los casos.
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado
negativo del desplazamiento.
OFF en el resto de los casos.

Precauciones En el caso de los bits que se desplazan fuera del canal especificado, los con-
tenidos del ltimo bit se desplazan al indicador de acarreo (CY), y el resto de
los datos se pierde.
Cuando el nmero de bits a desplazar (especificado en C) es 0, los datos no
se desplazarn. No obstante, los indicadores apropiados se pondrn en ON y
en OFF, segn los datos del canal especificado.
Cuando el contenido del canal de control C est fuera del rango se genera un
error y el indicador de error se pone en ON.
Si como resultado del desplazamiento el contenido de D es 0000 hexadeci-
mal, el indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
D es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, el contenido de CIO 0100 se desplaza 10
bits a la izquierda (desde el bit de la derecha al bit de la izquierda). El nmero
de bits a desplazar se especifica en los bits 0 hasta 7 del canal CIO 0300
(datos de control). El contenido del bit 0 de CIO 0100 se copia a los bits
desde los que se han desplazado datos y los contenidos del bit de la derecha
que fueron desplazados fuera del rango se desplazan al indicador de acarreo
(CY). El resto de los datos se pierde.

383
Instrucciones de desplazamiento de datos Seccin 3-9

15 12 11 8 7 4 3 0
C 8 0 0 A

N de bits a desplazar: 10 bits


(0A Hex)

Siempre 0.
Datos desplazados al registro
8 hexadecimal: Contenidos del bit de la derecha desplazados

Se
Bit de la
derecha

N de bits a desplazar:
10 bits (se inserta el contenido
del bit de la derecha).

3-9-22 DOUBLE SHIFT N-BITS LEFT: NSLL(582)


Empleo Desplaza los 32 bits especificados de los datos de canal hacia la izquierda,
en funcin del nmero especificado de bits.

Smbolo de diagrama de
rels NSLL(582)
D: Canal de
D desplazamiento
C C: Canal de
control

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NSLL(582)
Se ejecuta una vez en el diferencial ascendente @NSLL(582)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Operandos C: Canal de control

384
Instrucciones de desplazamiento de datos Seccin 3-9

15 12 11 8 7 0
C
0

N de bits a desplazar:
00 hasta 20 Hex

Siempre 0.
Datos desplazados al registro
0 hexadecimal: 0 desplazado
8 hexadecimal: Contenidos del bit de la derecha desplazados

Especificaciones del
operando rea D C
rea CIO CIO 0000 hasta CIO 6142 CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W510 W000 hasta W511
rea de bit en Espera H000 hasta H510 H000 hasta H511
rea Bit Auxiliar A448 hasta A958 A000 hasta A959
rea Temporizador T0000 hasta T4094 T0000 hasta T4095
rea Contador C0000 hasta C4094 C0000 hasta C4095
rea DM D00000 hasta D32766 D00000 hasta D32767
rea EM sin banco E00000 hasta E32766 E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32766 En_00000 hasta En_32767
(n = 0 a C) (n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- Slo valores especificados
Registros de datos --- DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NSLL(582) desplaza D y D+1 (los canales de desplazamiento) el nmero de


bits binarios especificado (en C) hacia la izquierda (del bit de la derecha
hacia el bit de la izquierda). Se colocan ceros o el valor del bit de la derecha
en el nmero de bits especificado del canal de desplazamiento empezando
por el bit de la derecha.

Desplazar n bits

Contenido de "a" o "0"


desplazado
Se
pierde
N bits

385
Instrucciones de desplazamiento de datos Seccin 3-9

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando el canal de control C (el nmero de bits a
error desplazar) no est dentro del rango.
OFF en el resto de los casos.
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones En el caso de los bits que se desplazan fuera del canal especificado, los con-
tenidos del ltimo bit se desplazan al indicador de acarreo (CY), y el resto de
los datos se pierde.
Cuando el nmero de bits a desplazar (especificado en C) es 0, los datos no
se desplazarn. No obstante, los indicadores apropiados se pondrn en ON y
en OFF, segn los datos del canal especificado.
Cuando el contenido del canal de control C est fuera del rango se genera un
error y el indicador de error se pone en ON.
Si como resultado del desplazamiento el contenido de D es 0000 hexadeci-
mal, el indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
D, D +1 es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, CIO 0100 y CIO 0101 se desplazan 10 bits
hacia la izquierda (desde el bit de la derecha al bit de la izquierda). El nmero
de bits a desplazar se especifica en los bits 0 hasta 7 del canal CIO 0300
(datos de control). El contenido del bit 0 de CIO 0100 se copia a los bits
desde los que se han desplazado datos y los contenidos del bit de la derecha
que fueron desplazados fuera del rango se desplazan al indicador de acarreo
(CY). El resto de los datos se pierde.

15 12 11 8 7 4 3 0
C
8 0 0 A

N de bits a desplazar: 10 bits


(0A Hex)

Siempre 0.
Datos desplazados al registro
8 hexadecimal: Contenido del bit
de la derecha desplazado

386
Instrucciones de desplazamiento de datos Seccin 3-9

Se pierde
Bit a de la
derecha
0100

0100

N de bits a desplazar: 10 bits


(contenido del bit de la derecha
desplazado)

3-9-23 SHIFT N-BITS RIGHT: NASR(581)


Empleo Desplaza los 16 bits especificados de los datos de canal hacia la derecha, en
funcin del nmero especificado de bits.

Smbolo de diagrama de
rels NASR(581)

D D: Canal de desplazamiento

C C: Canal de control

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NASR(581)
Se ejecuta una vez en el diferencial ascendente @NASR(581)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Operandos C: Canal de control


15 12 11 8 7 0
C 0

N de bits a desplazar:
00 hasta 10 Hex

Siempre 0.
Datos desplazados al registro
0 hexadecimal: 0 desplazado
8 hexadecimal: Contenidos del bit de la derecha desplazados

Especificaciones del
operando rea D C
rea CIO CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W511
rea de bit en Espera H000 hasta H511
rea Bit Auxiliar A448 hasta A959 A000 hasta A447
A448 hasta A959
rea Temporizador T0000 hasta T4095

387
Instrucciones de desplazamiento de datos Seccin 3-9

rea D C
rea Contador C0000 hasta C4095
rea DM D00000 hasta D32767
rea EM sin banco E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32767
(n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- Slo valores especificados
Registros de datos DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- 2048 hasta +2047 ,IR0 hasta 2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NASR(581) desplaza D (el canal de desplazamiento) el nmero de bits binarios


especificado (en C) hacia la derecha (del bit de la izquierda hacia el bit de la
derecha). Se colocan ceros o el valor del bit de la derecha en el nmero de bits
especificado del canal de desplazamiento empezando por el bit de la derecha.

Contenido de "a" o
"0" desplazado
Se
pierde
N bits

Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando el canal de control C (el nmero de bits a
error desplazar) no est dentro del rango.
OFF en el resto de los casos.
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones En el caso de los bits que se desplazan fuera del canal especificado, los con-
tenidos del ltimo bit se desplazan al indicador de acarreo (CY), y el resto de
los datos se ignora.
Cuando el nmero de bits a desplazar (especificado en C) es 0, los datos no
se desplazarn. No obstante, los indicadores apropiados se pondrn en ON y
en OFF, segn los datos del canal especificado.

388
Instrucciones de desplazamiento de datos Seccin 3-9

Cuando el contenido del canal de control C est fuera del rango se genera un
error y el indicador de error se pone en ON.
Si como resultado del desplazamiento el contenido de D es 0000 hexadeci-
mal, el indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
D es 1, el indicador negativo se pondr en ON.

Ejemplos Cuando CIO 000000 est en ON, el contenido de CIO 0100 se desplaza 10
bits a la derecha (desde el bit de la izquierda al bit de la derecha). El nmero
de bits a desplazar se especifica en los bits 0 hasta 7 del canal CIO 0300. Los
contenidos del bit 15 de CIO 0100 se copian a los bits desde los que se han
desplazado datos y los contenidos del bit de datos de la izquierda que fueron
desplazados fuera del rango se desplazan al indicador de acarreo (CY). El
resto de los datos se pierde.

15 12 11 8 7 4 3 0
C
8 0 0 A

N de bits a desplazar: 10 bits


(0A Hex)

Siempre 0.
Datos desplazados al registro
8 hexadecimal: Contenidos del bit de la izquierda desplazados

Bit de la izquierda
Se pierde

N de bits a desplazar: 10 bits


(se inserta el contenido del bit
de la izquierda).

3-9-24 DOUBLE SHIFT N-BITS RIGHT: NSRL(583)


Empleo Desplaza los 32 bits especificados de los datos de canal hacia la derecha, en
funcin del nmero especificado de bits.

Smbolo de diagrama de
rels NSRL(583)
D: Canal de
D desplazamiento
C: Canal de
C control

Variaciones
Variaciones Se ejecuta en cada ciclo con condicin ON NSRL(583)
Se ejecuta una vez en el diferencial ascendente @NSRL(583)
Se ejecuta una vez en el diferencial descendente Incompatible
Especificacin de refresco inmediato Incompatible

389
Instrucciones de desplazamiento de datos Seccin 3-9

reas de programa
aplicables reas de programa de reas de programa de Subrutinas Tareas de
bloques pasos interrupcin
OK OK OK OK

Operandos C: Canal de control


15 12 11 8 7 0
C 0

N de bits a desplazar:
00 hasta 20 Hex

Siempre 0.
Datos desplazados al registro
0 hexadecimal: 0 desplazado
8 hexadecimal: Contenidos del bit de la derecha desplazados

Especificaciones del
operando rea D C
rea CIO CIO 0000 hasta CIO 6142 CIO 0000 hasta CIO 6143
rea de Trabajo W000 hasta W510 W000 hasta W511
rea de bit en Espera H000 hasta H510 H000 hasta H511
rea Bit Auxiliar A448 hasta A958 A000 hasta A959
rea Temporizador T0000 hasta T4094 T0000 hasta T4095
rea Contador C0000 hasta C4094 C0000 hasta C4095
rea DM D00000 hasta D32766 D00000 hasta D32767
rea EM sin banco E00000 hasta E32766 E00000 hasta E32767
rea EM con Banco En_00000 hasta En_32766 En_00000 hasta En_32767
(n = 0 a C) (n = 0 a C)
Direcciones DM/EM indi- @ D00000 hasta @ D32767
rectas en binario @ E00000 hasta @ E32767
@ En_00000 hasta @ En_32767
(n = 0 a C)
Direcciones DM/EM indi- *D00000 hasta *D32767
rectas en BCD *E00000 hasta *E32767
*En_00000 hasta *En_32767
(n = 0 a C)
Constantes --- Slo valores especificados
Registros de datos --- DR0 hasta DR15
Registros de ndice ---
Direccionamiento indi- ,IR0 hasta ,IR15
recto utilizando regis- -2048 hasta +2047 ,IR0 hasta -2048 hasta +2047 ,IR15
tros de ndice
DR0 hasta DR15, IR0 hasta IR15
,IR0+(++) hasta ,IR15+(++)
,( )IR0 hasta, ( )IR15

Descripcin NSRL(583) desplaza D y D+1 (los canales de desplazamiento) el nmero de


bits binarios especificado (en C) hacia la derecha (del bit de la izquierda
hacia el bit de la derecha). Se colocan ceros o el valor del bit de la derecha en
el nmero de bits especificado del canal de desplazamiento empezando por
el bit de la derecha.

390
Instrucciones de desplazamiento de datos Seccin 3-9

Desplazar n bits

Contenido de "a"
o "0" desplazado Se
pierde
Indicadores
Nombre Etiqueta Operacin
Indicador de ER ON cuando el canal de control C (el nmero de bits a
error desplazar) no est dentro del rango.
OFF en el resto de los casos.
Indicador de = ON cuando el resultado de desplazamiento es 0.
igual OFF en el resto de los casos.
Indicador de CY ON cuando se desplaza 1 al indicador de acarreo (CY).
acarreo OFF en el resto de los casos.
Indicador de N ON cuando el bit de la izquierda es 1 como resultado del
negativo desplazamiento.
OFF en el resto de los casos.

Precauciones En el caso de los bits que se desplazan fuera del canal especificado, los con-
tenidos del ltimo bit se desplazan al indicador de acarreo (CY), y el resto de
los datos se pierde.
Cuando el nmero de bits a desplazar (especificado en C) es 0, los datos no
se desplazarn. No obstante, los indicadores apropiados se pondrn en ON y
en OFF, segn los datos del canal especificado.
Cuando el contenido del canal de control C est fuera del rango se genera un
error y el indicador de error se pone en ON.
Si como resultado del desplazamiento el contenido de D +1 es 00000000
hexadecimal, el indicador de igual se pondr en ON.
Si como resultado del desplazamiento el contenido del bit de la izquierda de
D +1 es 1, el indicador negativo se pondr en ON.
Ejemplos Cuando CIO 000000 est en ON, el contenido de CIO 0100 y CIO 0101 se
desplaza 10 bits a la derecha (desde el bit de la izquierda al bit de la dere-
cha). El nmero de bits a desplazar se especifica en los bits 0 hasta 7 del
canal CIO 0300 (datos de control). El contenido del bit 15 de CIO ???? se
copia a los bits desde los que se han desplazado datos y los contenidos del
bit de datos de la izquierda que fueron desplazados fuera del rango se des-
plazan al indicador de acarreo (CY). El resto de los datos se pierde.

15 12 11 8 7 4 3 0
C 8 0 0 A

N de bits a desplazar: 10 bits


(0A hexadecimal)

Siempre 0.
Datos desplazados al registro
8 hexadecimal: Contenidos del bit de la izquierda desplazados

391
Instrucciones de desplazamiento de datos Seccin 3-9

Bit de la izquierda Se pierde

CY
1

N de bits a desplazar: 10 bits


(se inserta el contenido del bit
de la izquierda).

392