2.12 operaciones logicas

9
2.12 OPERACIONES LÓGICAS. Equipo: Sementales del pantano. Ing. Sistemas computacionales.

Upload: j-manuel-haue-kue

Post on 21-Feb-2016

248 views

Category:

Documents


1 download

DESCRIPTION

OPERACIONES LOGICASANDORXORNAND

TRANSCRIPT

Page 1: 2.12 Operaciones Logicas

2.12 OPERACIONES LÓGICAS.Equipo: Sementales del pantano.Ing. Sistemas computacionales.

Page 2: 2.12 Operaciones Logicas

TABLA DE OPERACIONES LÓGICAS.

Page 3: 2.12 Operaciones Logicas

INSTRUCCION AND. La instrucción AND realiza una operación AND booleana (a nivel de bits)

entre cada par de bits coincidentes en dos operandos, y coloca el resultado en el operando de destino:

AND destino, origen Se permiten las siguientes combinaciones de operandos.

AND reg,reg AND reg,mem(memoria)

AND reg,imm(valor inmediato) AND mem,reg AND mem,imm

Page 4: 2.12 Operaciones Logicas

La instrucción AND se utiliza para borrar los bits seleccionados y preservar otros. En el siguiente ejemplo, los cuatro bits superiores se borran y los cuatro bits inferiores permanecen sin cambios:

Las siguientes instrucciones llevan a cabo esta operación: mov al,00111011b and al,00001111b

Los cuatro bits inferiores podrían contener información útil, mientras que no nos importan los cuatro bits superiores. Es útil pensar en esta técnica como una extracción de bits, ya que los cuatro bits inferiores se “sacan” de AL.

Page 5: 2.12 Operaciones Logicas

INSTRUCCIÓN OR La instrucción OR realiza una operación OR booleana entre cada par de bits

coincidentes en dos operandos, y coloca el resultado en el operando de destino:

OR destino, origen La instrucción OR utiliza las mismas combinaciones de operandos que la

instrucción AND: OR reg, reg

OR reg, mem OR reg, imm OR mem, reg OR mem, imm

Page 6: 2.12 Operaciones Logicas

La instrucción OR se utiliza para activar los bits seleccionados y preservar los demás. se aplica un OR entre 3Bh y 0Fh. Los cuatro bits inferiores del resultado se activan y los cuatro bits superiores permanecen sin cambio:

La instrucción OR puede usarse para convertir un byte que contenga un entero entre 0 y 9, en un dígito ASCII.

Page 7: 2.12 Operaciones Logicas

INSTRUCCIÓN XOR. La instrucción XOR realiza una operación booleana OR exclusivo entre cada

par de bits coincidentes en dos operandos, y almacena el resultado en el operando de destino:

XOR destino, origen La instrucción XOR utiliza las mismas combinaciones y tamaños de

operandos que las instrucciones AND y OR. Para cada bit coincidente en los dos operandos, se aplica lo siguiente: Si ambos bits son iguales (ambos 0 o ambos 1), el resultado es 0; en cualquier otro caso, el resultado es 1. La siguiente tabla de verdad describe la expresión booleana x ⊕ y:

Page 8: 2.12 Operaciones Logicas

Un bit al que se le aplica OR exclusivo con 0 retiene su valor, y un bit al que se le aplica OR exclusivo con 1 cambia al valor opuesto (se complementa). XOR se invierte a sí mismo cuando se aplica dos veces al mismo operando. La siguiente tabla de verdad muestra que, cuando se aplica OR exclusivo al bit x con el bit y dos veces, se revierte a su valor original:

Page 9: 2.12 Operaciones Logicas

INSTRUCCIÓN NOT. La instrucción NOT cambia el valor de todos los bits en un operando. Al

resultado se le llama complemento a uno. Se permiten los siguientes tipos de operandos:

NOT reg NOT mem

Por ejemplo, el complemento a uno de F0h es 0Fh: mov al,11110000b

not al ; AL = 00001111b Banderas Ninguna bandera se ve afectada por la instrucción NOT.