Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CON PALABRAS 16/11/2017
OPERACIONES LÓGICAS CON PALABRAS
Y DOBLES PALABRAS
Ej:
2#01001011 //Constante binaria
AND W#16#4B //11011001
01001001 //D9
EN KOP NOS PIDE METER LA PALABRA EN
HEX
FUNCIONES PARA OPERACIONES LÓGICAS CON PALABRAS
1
OPERACIONES CON PALABRAS 16/11/2017
INSTRUCCIONES EN AWL
UW, UD : AND
OW, OD: OR
XOW, XOD: EXCLUSIVA OR
Ejemplo: AND de palabras
L 2#1001011 //Constante binaria = W#16#4B
L W#16#D9 //Constante de palabra
UW
T MW 50
Ejercicio: Halla OR, XOR de las palabras del ejemplo anterior.
UTILIDAD DE LAS OPERACIONES LÓGICAS CON
PALABRAS
AND > MÁSCARA CON UNOS
L W#16#17B // 0001 0111 1011
L W#16#F // 0000 0000 1111
UW // 0000 0000 1011
T MW50 // Saco el último cuarteto y el resto va a 0
OR > MÁSCARAS CON CEROS (MENOS ÚTIL)
XOR > DETECTA DIFERENCIAS PONIENDO A 1 LOS BITS DIFERENTES
L W#16#EB // > 1110 1011
L W#16#EC // > 1110 1100
XOW // 0000 0111 Pone a 1 los bits diferentes
2
OPERACIONES CON PALABRAS 16/11/2017
FUNCIONES DE DESPLAZAMIENTO Y ROTACIÓN
DESPLAZAMIENTO A LA IZQUIERDA ENTRAN CEROS POR LA DERECHA
0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0
DESPLAZAMIENTO A LA DERECHA ENTRAN CEROS POR LA IZQUIERDA
ROTACIÓN: LOS BITS QUE SALEN POR LA
DERECHA ENTRAN POR LA IZQUIERDA Y
VICEVERSA
PROBANDO EL DESPLAZAMIENTO A DERECHA Y A IZQUIERDA
0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0
3
OPERACIONES CON PALABRAS 16/11/2017
LAS FUNCIONES EN AWL
SINTAXIS
L W#16#2 //Nº DE BITS QUE SE MUEVEN
L W#16#506E //PALABRA QUE SE MUEVE
IZQUIERDA:
SLW
SLW, SLD
T MW 52
DERECHA:
SRW, SRD
SINTAXIS ALTERNATIVA
ENTEROS:
L W#16#506E //PALABRA QUE SE MUEVE
SSI (TIENE EN CUENTA
SLW 2 //Nº DE BITS QUE SE MUEVEN EL SIGNO)
T MW 52
Ejercicio 1: ¿Qué hace este código? ¿Cuál es el valor de MW30?
L W#16#157B
L W#16#F
UW
T MW 28
L W#16#C
XOW
T MW 30
4
OPERACIONES CON PALABRAS 16/11/2017
La máscara es
000F > Los doce
primeros bits se
ponen a cero.
c = 1100, b = 1011
Cambian los tres
últimos bits >0111
Ejemplo 2: ¿Qué hace este código?
L 2
L 2000
SLW
T MW 38
5
OPERACIONES CON PALABRAS 16/11/2017
2000 = 0X 7D0 = 0000 0111 1101 0000;
8000 = 0X 1F40 = 0001 1111 0010 0000
DESPLAZAR DOS LUGARES A LA IZQUIERDA EQUIVALE A
MULTIPLICAR POR 22 = 4
La palabra se desplaza dos bits hacia la izquierda. El resultado queda en el ACU1.
Ejemplo 3: ¿Qué hace este código?
L W#16#FA
PUSH
SRW 2
T MW 34
TAK
SLW 2
T MW 36
6
OPERACIONES CON PALABRAS 16/11/2017
Desplazar n lugares a la
derecha es equivalente a
dividir el número por 2n
W#16#FA = 11111010
SRW 2 00111110 = W#16#3E
SLW 2 1111101010 = W#16#3E8