desktop

Encontrar el error de este programa.

Hola:

Hice un pequeño programa de mover valores en la RAM para recordar los viejos tiempos. Uso el MPLAB X v4.00.

Código en asm:
Código:
;************************************ PIC16F84A_Descompila.asm ************************************
;
;
;
; ZONA DE DATOS **********************************************************************

    LIST    P=16F84A
    INCLUDE    <P16F84A.INC>
    __CONFIG    _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
    ERRORLEVEL   0,   +302

    
;******************************  MAPA DE MEMORIA   ****************************
    UDATA
    RAM_1    RES 1
    RAM_2    RES 1
    RAM_3    RES 1
    RAM_4    RES 1


; ZONA DE CÓDIGOS ********************************************************************

    ORG     0                    ; El programa comienza en la dirección 0.
Inicio
    bsf    STATUS,RP0                ; Acceso al Banco 1.
    clrf    TRISB                    ; Las líneas del Puerto B se configuran como salida.
    movlw    b'00011111'                ; Las 5 líneas del Puerto A se configuran como entrada.
    movwf    TRISA
    bcf    STATUS,RP0                ; Acceso al Banco 0.
    bcf    PORTB,0

Principal
    movlw    0x11                    ; Carga el valor 0x11
    movwf    RAM_1                    ; en la RAM_1.
    movlw    0x12
    movwf    RAM_2
    movlw    0x13
    movwf    RAM_3
    movlw    0x14
    movwf    RAM_4
    
    END
Me da estos errores.
CLEAN SUCCESSFUL (total time: 208ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/Users/Meta/MPLABXProjects/PIC16F84A/dist/default/production'
make -f nbproject/Makefile-default.mk dist/default/production/production.production.hex
make[2]: Entering directory 'C:/Users/Meta/MPLABXProjects/PIC16F84A/dist/default/production'
"C:\Program Files (x86)\Microchip\MPLABX\v4.00\mpasmx\mpasmx.exe" -q -p16f84a -l"build/default/production/PIC16F84A_Descompila.lst" -e"build/default/production/PIC16F84A_Descompila.err" -o"build/default/production/PIC16F84A_Descompila.o" "PIC16F84A_Descompila.asm"
Warning[207] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 15 : Found label after column 1. (RAM_1)
Warning[207] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 16 : Found label after column 1. (RAM_2)
Warning[207] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 17 : Found label after column 1. (RAM_3)
Warning[207] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 18 : Found label after column 1. (RAM_4)

Message[302] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 26 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\USERS\META\MPLABXPROJECTS\PIC16F84A\DIST\DEFAULT\PRODUCTION\PIC16F84A_DESCOMPILA.ASM 28 : Register in operand not in bank 0. Ensure that bank bits are correct.
"C:\Program Files (x86)\Microchip\MPLABX\v4.00\mpasmx\mplink.exe" -p16f84a -w -m"dist/default/production/production.production.map" -z__MPLAB_BUILD=1 -odist/default/production/production.production.cof build/default/production/PIC16F84A_Descompila.o
MPLINK 5.08, LINKER
Device Database Version 1.38
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - section '.udata' can not fit the section. Section '.udata' length=0x00000004
Errors : 1

nbproject/Makefile-default.mk:124: recipe for target 'dist/default/production/production.production.hex' failed
make[2]: Leaving directory 'C:/Users/Meta/MPLABXProjects/PIC16F84A/dist/default/production'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/Meta/MPLABXProjects/PIC16F84A/dist/default/production'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [dist/default/production/production.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 5s)
¿Qué puede ser?

No tengo ni la pajonera idea de lo que pasa.

Saludos.
 
Por de pronto, dentro de la sección UDATA, las etiquetas RAM_x deben ir en la primera columna. Es lo que dicen las primeras cuatro advertencias.
 
Atrás
Arriba