Código:
;Tres valores están almacenados en la memoria, A, B y C. Y en las ;direcciones 10, 11 y 12h. Resolver ecuación (A + B) - C. ;Velocidad d ereloj; 4MHz LIST p=16F84A ;Tipo de procesador. INCLUDE <P16F84A.INC> ;Definiciones de registros internos. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ;***************************************************************** DATO_A EQU 0x10 ;Define la posición del dato A DATO_B EQU 0x11 ;Define la posición del dato B DATO_C EQU 0x12 ;Define la posición del dato C RESULTADO EQU 0x13 ;Define la posición del dato RESULTADO ;***************************************************************** ORG 0x00 ;Vector de reset goto INICIO ORG 0x05 ;Salva el vector de interrupción INICIO: movf DATO_A,W ;Carga el 1er sumando addwf DATO_B,W ;Suma 2º operando movwf RESULTADO ;Almacena resultado parcial movf DATO_C,W ;Carga el sustraendo subwf RESULTADO,F ;Resta el minuendo y almacena STOP goto $ END ;Fin del programa