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

INSTRUCCIONES LÓGICAS

Todas las instrucciones se encuentran en el set de instrucciones.

>> Instrucción COM, One's Complement

Esta instrucción permite realizar la operación de complemento a uno del contenido del registro Rd.

Operación:
Rd ← $FF-Rd

Sintaxis:                                Operandos
COM  Rd                                0 ≤ d ≤ 31

Ejemplos:
ldi     r17,0b00001111   ; cargo en R17 el valor de 0b00001111
com     r5              ; R5 = 0b11110000

>> Instrucción NEG, Two's Complement

Esta instrucción permite realizar la operación de complemento a dos del contenido del registro Rd.

Operación:
Rd ← $00-Rd

Sintaxis:                                Operandos
NEG  Rd                                0 ≤ d ≤ 31

Ejemplos:
ldi     r17,0b00001111   ; cargo en R17 el valor de 0b00001111
neg     r5              ; R5 = 0b11110001

>> Instrucción AND, Logical AND

Realiza la operación lógica AND entre el contenido de dos registros Rd y Rr y el resultado queda en el registro de destino Rd.

Operación:
Rd ← Rd·Rr

Sintaxis:                                Operandos
AND  Rd,Rr                           0 ≤ d ≤ 31, 0 ≤ r ≤ 31

Ejemplos:
ldi     r16,0b00001111  ; cargo en R16 0b00001111
ldi     r17,0b00000011  ; cargo en R17 0b00000011
and     r16,r17         ; R16 termina con 0b00000011, R17 no cambia

>> Instrucción ANDI, Logical AND with Immediate

Realiza la operación lógica AND entre el contenido del registro Rd y una constante. El resultado queda en el registro de destino Rd.

Operación:
Rd ← Rd·K

Sintaxis:                                Operandos
ANDI  Rd,K                           16 ≤ d ≤ 31, 0 ≤ K ≤ 255

Ejemplos:
ldi     r16,0b00001111  ; cargo en R16 0b00001111
andi    r16,0b11111111  ; R16 termina con 0b00000000

>> Instrucción OR, Logical OR

Realiza la operación lógica OR entre el contenido de dos registros Rd y Rr y el resultado queda en el registro de destino Rd.

Operación:
Rd ← Rd v Rr

Sintaxis:                                Operandos
OR  Rd,Rr                           0 ≤ d ≤ 31, 0 ≤ r ≤ 31

Ejemplos:
ldi     r16,0b00001111  ; cargo en R16 0b00001111
ldi     r17,0b11000011  ; cargo en R17 0b00000011
or      r16,r17         ; R16 termina con 0b11001111, R17 no cambia

>> Instrucción ORI, Logical OR with Immediate

Realiza la operación lógica ORI entre el contenido del registro Rd y una constante. El resultado queda en el registro de destino Rd.

Operación:
Rd ← Rd·K

Sintaxis:                                Operandos
ORI  Rd,K                           16 ≤ d ≤ 31, 0 ≤ K ≤ 255

Ejemplos:
ldi     r16,0b00001111  ; cargo en R16 0b00001111
ori     r16,0b11111111  ; R16 termina con 0b11111111

>> Instrucción EOR, Exclusive OR

Realiza la operación lógica EOR entre el contenido de dos registros Rd y Rr y el resultado queda en el registro de destino Rd.

Operación:
Rd ← Rd (+) Rr

Sintaxis:                                Operandos
EOR  Rd,Rr                           0 ≤ d ≤ 31, 0 ≤ r ≤ 31

Ejemplos:
ldi     r16,0b00001111  ; cargo en R16 0b00000011
ldi     r17,0b11000011  ; cargo en R17 0b11000011
eor     r16,r17         ; R16 termina con 0b11000000, R17 no cambia

Deja un Comentario

Buscar en el Blog

Contador de Visitas

Traducir Blog

Etiquetas

Post Populares

- Copyright © Tutoriales Avr -