Está en la página 1de 31

INSTRUCCIONES

LOGICAS BASICAS
Las operaciones lógicas proporcionan el
control de los bits binarios en el software de
bajo nivel.
El software de bajo nivel aparece en forma
de lenguaje o lenguaje ensamblador y se
utiliza a menudo para controlar los
dispositivos en un sistema.
Esta operación realiza la multiplicación lógica

AND como se muestra en la tabla de verdad en la


figura. Aquí aplica la instrucción AND a dos bits
(A y B) para producir el resultado X. Como lo
indica la tabla de verdad, X es un 1 lógico
solamente A y B son 1s lógicos. Para todas
demás combinaciones de entrada de A y B, X es
un 0 lógico. Importante recordar que 0 AND
nada es siempre 0, y que 1AND 1 es siempre 1.
La instrucción AND utiliza cualquier modo de direccionamiento. excepto el de memoria a memoria y el de registro de
segmento. En la tabla se muestra la instrucción AND con comentarios sobre su operación.
Un número en código ASCII puede convertirse a BCD mediante el uso de la instrucción AND para enmascarar las cuatro
posiciones de bits binarios demás a la izquierda. Esto convierte un número ASCII entre 30H y 39H en un número del 0 al 9.
101001101001000010101
0011110111011011011010

OR
Esta operación realiza la suma lógica y se le conoce
muchas veces como función OR inclusiva. La función
101000011100101011001
010100111010100010101
0001011010110110110100
OR genera una salida de 1 lógico si cualquier entrada 010101110001010100010
es 1. Un 0 aparece en la salida sólo cuando todas las 1000101110101100010011
010011010010000101010
entradas son 0. En la tabla aparece la tabla de 0111101110110110110101
verdad para la función OR Aquí se aplica OR a A y B 010000111001010110010
101001110101000101010
para producir la salida X. Es importante recordar que 0010110101101101101001
1 OR cualquier produce un 1.
.
La instrucción OR utiliza cualquiera de los modos de direccionamiento
permitidos en cualquier otra instrucción, excepto el direccionamiento de
registros de segmento.
En esta tabla se muestra varios ejemplos de instrucciones OR con
comentarios sobre su operación:
La instrucción OR exclusivo (XOR) difiere
del OR inclusivo (OR) en cuanto que:

*una condición de 1,1 de la función OR


produce un 1
*la condición 1,1 de la condición OR
exclusivo produce un 0.
*La condición OR exclusivo excluye esta
condición; el OR inclusivo la incluye.

INSTRUCCIONES
OR EXCLUSIVO
Ejemplos de instrucciones OR exclusivo:
INSTRUCCIONES TEST Y DE PRUEBA DE BITS

Las instrucciones TEST realiza la operación


AND.

La diferencia es que la instrucción AND modifica el


operando de destino, mientras que TEST no.

Una instrucción TEST solo afecta la condición


de registro de banderas, el cual indica el
resultado de la prueba.

La instrucción TEST usa los


mismos modos de
direccionamiento que la
instrucción AND.
Ejemplos de instrucciones TEST:
Ejemplos de instrucciones de pruebas de bits:
INSTRUCCIONES NOT Y NEG

La función NOT,
se considera
la instrucción lógica; la
NEG función NEG se
La instrucción complementa a considera una
NOT invierte dos un número, operación
todos los bits lo que significa aritmética.
de un byte, una que el signo
palabra o una aritmético de un
número con
doble palabra.
signo cambia de
positivo a
negativo o
viceversa
INSTRUCCION LOGICA NOT

BANDERAS
Ninguna bandera se ve
afectada por la
DESCRIPCION instruccion NOT.
SINTAXIS NOT logico (el
complement a uno.)
NOT destino
PROPOSITO El resultado se guarda
en el mismo operando
Lleva a cabo la destino.
negacion bit por bit del
operando destino.
INSTRUCCION LOGICA NOT
SE PERMITEN LOS SIGUIENTES
TIPOS DE OPERANDO

NOT reg
Not mem

EJEMPLO DE CODIGO:

PROCESADORES:

8086/88, 80286,80386, entre


muchos otros actuales.
INSTRUCCION LOGICA NEG
SINTAXIS NEG (valor /Registro/variable)

Es un Sistema que nos COMO INTERPRETAR


permite presentar COMPLEMENTO A2
numeros binarios de
forma negativa, donde el NEGATIVO: Los 0’s
MBS(Bit mas consideramos como 1, y 1’s
significativo). como 0’s (excepto el bit mas
significativo) y ese sera el
0 para indicar un resultado
numero positivo COMPLEMENTO A1:

1 Para indicar un
numero negativo. POSITIVO: La
COMPLEMENTO A2:
interpretacion es
normal.
Primero pasamos
los 0’s a 1’s.
Complemento a 1.

Consideramos
los 1’s como
0’s (excepto el
bit mas
significativo)

Y a ese valor
se le suma 1 ;
se considera el
signo.
Ejemplos de instrucciones NOT y NEG
DESPLAZAMIENTO (SHITF) Y
DESPLAZAMIENTO CICLICO
(ROTATE)
Estas instrucciones manipulan números binarios a nivel de bit binario,
como las instrucciones AN, OR exclusivo y NOT. Los desplazamientos
y desplazamientos cíclicos se aplican con mas frecuencia en el
software de bajo nivel

que se utiliza para controlar dispositivos de entrada y salida el


microprocesador contiene un conjunto completo de las instrucciones de
desplazamiento y desplazamiento cíclico que se utiliza para desplazare
forma cíclica cualquier dato de memoria o registro.

Estas instrucciones posicionan o mueven números ala izquierda o derecha


dentro de un registro o posición de memoria. También realizan aritmética
simple tal como la multiplicación por potencias de 2+𝑛 (desplazamiento a la
izquierda) y la división entre potencias 2−𝑛 (desplazamiento a la derecha)

El conjunto de instrucciones del microprocesador contiene 4 instrucciones de


desplazamiento distintas:
• 2 de desplazamiento lógico
• 2 de desplazamiento aritmético
Los desplazamiento lógico mueven un 0 en la posición del bit de más
a la derecha para un desplazamiento lógico, los desplazamiento lógico
a la izquierda y el desplazamiento aritmético izquierdo so idénticos en
cambio los derechos son distintos, ya que el desplazamiento aritmético
a la derecha copia el bit de signo al reconocer el número, mientras que
el desplazamiento lógico a la derecha copia un 0 al reconocer el
número.

Los desplazamientos lógicos funcionan en números sin signo, y los


aritméticos funcionan en números con signo, los desplazamientos
lógicos dividen o multiplican datos sin signo, mientras los
aritméticos a datos con signo. Un desplazamiento ala izquierda
siempre se multiplica por 2 cada posición de bit desplazada, y un
desplazamiento ala derecha se divide entre 2 cada posición de bit
desplazada. Si se desplaza un número dos posiciones se
multiplican o divide entre 4.
DESPLAZAMIENTO (SHITF) Y
DESPLAZAMIENTO CICLICO (ROTATE)

Los microprocesadores 80386 o mayores


01 contienen doble desplazamiento de doble
posición:

SHLD (desplazamiento a la izquierda)

02 SHRD (desplazamiento ala derecha)


Ambas instrucciones funcionan con dos registros de 16 y 32 bits.

La instrucción SHRD AX, BX,12 es un ejemplo de instrucción de desplazamiento doble a la derecha de


03 doble precisión. Esta instrucción desplaza al registro AX 12 posiciones ala derecha a los 12 bits más a la
derecha cercana de BX y está a 12 bits más cercana de AX
Estas instrucciones
posicionan datos binarios
mediante la rotación de la
información en un registro o
posición de memoria ya sea
de un extremo a otro a
través de la bandera de
acarreo.

DESPLAZAMIENTO CICLICO
INSTRUCCIONES DE
EXPLORACION DE BITS

Estas instrucciones buscan y exploran a través de un número en


busca de un bit cuyo valor sea 1. Como esto se realiza dentro del
microprocesador mediante el desplazamiento del número.

 Instrucción BSF (exploración hacia adelante): explora


el número desde el bit más ala izquierda y recorre
ala derecha.
 Instrucción BSR (explora el bit hacia atrás): explora el
número desde el bit más ala derecha y recorre ala
izquierda.
Si encuentra un bit que sea 1 se activa la bandera de
cero y el número de posición bit que es el bit 1 se coloca
en el operador de destino. Si no se encuentra un bit que
sea 1 se borra la bandera cero. Por lo tanto el resultado
es distinto de cero si no se encuentra un bit que sea 1.
COMPARACION
DE CADENAS
La instrucción
SCAS resta la
memoria de AL, AX
o EAX . El código

SCAS de operación que


se utiliza para la
comparación de
bytes es SCASB, el
código para la
comparación de
palabras es
SCASW y el código
de operación para
la comparación de
dobles palabra es
S C A S D .
EJEMPLO:
CMPS

EJEMPLO:

La instrucción siempre compara


dos secciones de datos en
memoria como bytes(CMPSB),
palabras(CMPSW) o dobles
palabras(CMPSD).
EJEMPLOS
THANK YOU
Insert the Sub Title of Your Presentation

También podría gustarte