Hola que tal.
Mucho gusto, soy nuevo en el foro y estoy aprendiendo sobre el lenguaje de ensamblador utilizando el PIC16F628A, y como primer práctica me encargaron hacer un programa que sume y reste 2 números de tres bits cada uno, utilizando el puerto A como entrada, también un selector en el mismo puerto, y cuatro bits del puerto B como salida, tres de los cuales se usan como resultado de la operación, y el cuarto como bandera de carry o negative. Me estoy basando en la hoja de datos del pic para hacer esto pero al momento de compilar el programa con MPLAB me aparecen estos errores.
adjunto el programa y los errores, espero que me puedan ayudar.
__CONFIG _FOSC_EXTRCCLK & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF
#INCLUDE <P16F628A.INC>
ORG 0000H
CLRF PORTA
MOVLW 07H
MOVWF CMCON
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW 0FFH
MOVWF TRISA
CLRF TRISB
BCF STATUS,RP0
INICIO CLRF PORTB
MOVLW PORTA,70H
BTFSC PORTA,80H
GOTO RESTA
ADDWF PORTA,07H,W
MOVWF PORTB,07H
BTFSC STATUS,C
BSF PORTB,08H
GOTO INICIO
RESTA SUBWF PORTA,07H,W
MOVWF PORTB,07H
BTFSS STATUS,C
BSF PORTA,08H
GOTO INICIO
END
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/Users/david/OneDrive/Documentos/Micros 2da/2do parcial/pic/Practica_1.X'
make -f nbproject/Makefile-default.mk dist/default/production/Practica_1.X.production.hex
make[2]: Entering directory 'C:/Users/david/OneDrive/Documentos/Micros 2da/2do parcial/pic/Practica_1.X'
"C:\Program Files (x86)\Microchip\MPLABX\v3.55\mpasmx\mpasmx.exe" -q -p16f628a -l"build/default/production/main.lst" -e"build/default/production/main.err" -o"build/default/production/main.o" "main.asm"
Message[302] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 13 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct.
Error[108] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 18 : Illegal character (,)
Warning[202] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 19 : Argument out of range. Least significant bits used.
Error[108] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 21 : Illegal character (,)
Error[108] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 22 : Illegal character (,)
Warning[202] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 24 : Argument out of range. Least significant bits used.
Error[108] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 27 : Illegal character (,)
Error[108] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 28 : Illegal character (,)
Warning[202] C:\USERS\DAVID\ONEDRIVE\DOCUMENTOS\MICROS 2DA\2DO PARCIAL\PIC\PRACTICA_1.X\MAIN.ASM 30 : Argument out of range. Least significant bits used.
nbproject/Makefile-default.mk:101: recipe for target 'build/default/production/main.o' failed
make[2]: Leaving directory 'C:/Users/david/OneDrive/Documentos/Micros 2da/2do parcial/pic/Practica_1.X'
nbproject/Makefile-default.mk:84: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/david/OneDrive/Documentos/Micros 2da/2do parcial/pic/Practica_1.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [build/default/production/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 2s)