El set de instrucciones del uControlador incluye las siguientes instrucciones o nemnicos para la realizacin de operaciones lgicas y aritmticas. PROGRAMACIN EN ASSEMBLER (ENSAMBLADOR) ETM 380 Sistemas Microprocesados 1 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas Tablas de verdad and (y) or (o inclusivo) xor (o exclusivo) com (complemento) ETM 380 Sistemas Microprocesados 2 a b a b 0 0 0 0 1 0 1 0 0 1 1 1 a b a + b 0 0 1 0 1 1 1 0 1 1 1 0 a b a + b 0 0 0 0 1 1 1 0 1 1 1 0 a a 0 1 1 0 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas ETM 380 Sistemas Microprocesados 3 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas ETM 380 Sistemas Microprocesados 4 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas ETM 380 Sistemas Microprocesados 5 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas ETM 380 Sistemas Microprocesados 6 T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas Ejemplo: Implementar el siguiente circuito con el uC PIC16F877A y calcular la salida ETM 380 Sistemas Microprocesados 7 Redibujamos el circuito: list p = 16f877a
movlw 0x48 xorlw 0xad xorlw 0x7f andlw 0x7f movwf 0x20 comf 0x20,0 sleep end Solucin utilizando valores inmediatos. El resultado final se almacena en W T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas Ejemplo: Implementar el siguiente circuito con el uC PIC16F877A y calcular la salida ETM 380 Sistemas Microprocesados 8 Solucin utilizando referencias a memoria, utilizando la directiva equ y el archivo p16f877a.inc donde se encuentran las definiciones de registros y valores estndares para el uC. list p = 16f877a include p16f877a.inc
movlw 0x48 movwf num1 movlw 0xad movwf num2 movlw 0x7f movwf num3 xorwf num2,W xorwf num1,W andwf num3,W movwf x comf x,F sleep end El resultado se guarda en el registro 0x23, referenciado por la etiqueta o nombre x. T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas Implementacin en lenguaje C and (y) or (o inclusivo) xor (o exclusivo) com (complemento) ETM 380 Sistemas Microprocesados 9 Operacin Sintxis Leng. C and & or | xor ^ com ~ T4: Instrucciones para implementar operaciones lgicas a nivel de bits y aritmticas Ejemplo: Implementar el siguiente circuito con el uC PIC16F877A y calcular la salida ETM 380 Sistemas Microprocesados 10 #include <16F877a.h> #fuses XT,NOWDT #BYTE x = 0x20 void main() { int a, b, c; a=0x48; b=0xad; c=0x7f; x=~((a^b^c)&c); sleep(); } La salida se guarda en el registro 0x20 referenciado como x.