Posted by : Andrés Cuaycal viernes, 17 de abril de 2015

INSTRUCCIONES DE ROTACIÓN Y DESPLAZAMIENTO


Los ejemplos de aplicación de estas instrucciones se verán mas adelante realizando programas de operaciones matemáticas.

Todas las instrucciones se encuentran en el set de instrucciones.

>> Instrucción LSL, Logical Shift Left

Esta instrucción desplaza todos los bits de Rd un lugar a la izquierda. El bit 0 es borrado y el bit 7 es cargado en la bandera de carry del registro SREG. Esta operación es equivalente a multiplicar por 2 valores con signo y sin signo.

Operación:
C
b7

b0
0

Sintaxis:                                Operandos
LSL  Rd                                 0 ≤ d ≤ 31

>> Instrucción LSR, Logical Shift Right

Esta instrucción desplaza todos los bits de Rd un lugar a la derecha. El bit 7 es borrado y el bit 0 es cargado en la bandera de carry del registro SREG. Esta operación es equivalente a dividir para 2 valores sin signo.

Operación:
0
b7

b0
C

Sintaxis:                                Operandos
LSR  Rd                                 0 ≤ d ≤ 31

>> Instrucción ROL, Rotate Left trough Carry

Esta instrucción desplaza todos los bits de Rd un lugar a la izquierda. La bandera del carry en SREG pasa al bit 0 de Rd. El bit 7 desplazado a la bandera de carry del registro SREG. Esta operación combinada con LSL es equivalente a multiplicar por 2 valores multi-byte con signo y sin signo.

Operación:
C
b7

b0
C

Sintaxis:                                Operandos
ROL  Rd                                 0 ≤ d ≤ 31

>> Instrucción ROR, Rotate Right trough Carry

Esta instrucción desplaza todos los bits de Rd un lugar a la derecha. La bandera del carry en SREG pasa al bit 7 de Rd. El bit 0 desplazado a la bandera de carry del registro SREG. Esta operación combinada con LSR o ASR es equivalente a dividir pora 2 valores multi-byte sin signo y con signo respectivamente.

Operación:
C
b7

b0
C

Sintaxis:                                Operandos
ROR  Rd                                0 ≤ d ≤ 31

>> Instrucción ASR, Arithmetic Shift Right

Esta instrucción desplaza todos los bits de Rd un lugar a la derecha. El bit 7 se mantiene constante y el bit 0 es cargado en la bandera de carry del registro SREG. Esta operación es equivalente a dividir para 2 valores con signo.

Operación:
b7

b0
C

Sintaxis:                                Operandos
ASR  Rd                                 0 ≤ d ≤ 31

>> Instrucción SWAP, Swap Nibbles

Esta instrucción intercambia nibbles alto y bajo de un registro.

Operación:
b7
b6
b5
b4
b3
b2
b1
b0
Antes
b0
b1
b2
b3
b7
b6
b5
b4
Después

Sintaxis:                                Operandos
SWAP  Rd                              0 ≤ d ≤ 31

Deja un Comentario

Buscar en el Blog

Contador de Visitas

Traducir Blog

Etiquetas

Post Populares

- Copyright © Tutoriales Avr -