TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: RedPic en 19 de Noviembre de 2005, 01:41:00
-
Acabo de instalar MPLAB 7.22
Abro el mas simple fuente ASM de que dispongo y que únicamente hace parpadear un Led conectado a RB0. (De primero de ensamblador)
Ensamblo y ... Error en línea 20: El operando no está en el Bank 0 ¡Pues claro que no está en el Bank 0! ¡TRISB está en el Bank 1! y por ello selecciono el Bank 1 antes de cargar TRISB :
Message[302] C:MPLABASM_REDRAVENWINKASM.ASM 19 : Register in operand not in bank 0. Ensure that bank bits are correct.
El fuente completo es ...
1 LIST p=16F628
2 include "P16F628.inc"
3 __config 0x3D18
4
5 cblock 0x20
6
7 count1
8 counta
9 countb
10 endc
11
12 org 0x0000
13 movlw 0x07
14 movwf CMCON
15 bcf STATUS, IRP
16 bcf STATUS, RP1 ; Selecciono Bank 1
17 bsf STATUS, RP0
18 movlw 0x00
19 movwf TRISB
20 bcf STATUS, RP1 ; Selecciono Bank 0
21 bcf STATUS, RP0
22 Loop
23 movlw b"00000001"
24 movwf PORTB
25 nop
26 nop ;
27 call Delay
28 movlw b"00000000"
29 movwf PORTB
30 call Delay
31 goto Loop
32
33 Delay movlw d"250"
34 movwf count1
35 d1 movlw 0xC7
36 movwf counta
37 movlw 0x01
38 movwf countb
39 Delay_0
40 decfsz counta, f
41 goto $+2
42 decfsz countb, f
43 goto Delay_0
44
45 decfsz count1 ,f
46 goto d1
47 retlw 0x00
48
49 end
¿Alguna sugerencia amables Picmaniacos? 
-
HOLA REDPIC
LO QUE TE MUESTRA AL COMPILAR NO ES UN ERROR, ES UN MENSAJE QUE MPLAB ACOSTUMBRA A MOSTRAR CADA VEZ QUE SE CAMBIA DE BANCO PARA QUE ESTEMOS SEGUROS DE SI USAMOS EL BANCO ADECUADO. ES COMO UNA ESPECIE DE ALERTA, O UN RECORDATORIO FINAL PARA QUE EN EL CASO DE HABER EQUIVOCAION UNO SE ASEGURE QUE SE ENCUENTRA EN EL LUGAR ADECUADO. SI ES ASI ESE MENSAJE NO AFECTA EN NADA.
-
No solo es cierto lo que me has dicho sino que además he encontrado que con
LIST p=16F628
include "P16F628.inc"
ERRORLEVEL 0, -302
__config 0x3D18
...
se suprimen los mensajes de "bank selection" al ensamblar.
Muchas gracias Paola.
Escrito originalmente por PAOLA09
HOLA REDPIC
LO QUE TE MUESTRA AL COMPILAR NO ES UN ERROR, ES UN MENSAJE QUE MPLAB ACOSTUMBRA A MOSTRAR CADA VEZ QUE SE CAMBIA DE BANCO PARA QUE ESTEMOS SEGUROS DE SI USAMOS EL BANCO ADECUADO. ES COMO UNA ESPECIE DE ALERTA, O UN RECORDATORIO FINAL PARA QUE EN EL CASO DE HABER EQUIVOCAION UNO SE ASEGURE QUE SE ENCUENTRA EN EL LUGAR ADECUADO. SI ES ASI ESE MENSAJE NO AFECTA EN NADA.
-
Escrito originalmente por RedPic
No solo es cierto lo que me has dicho sino que además he encontrado que con
ERRORLEVEL 0, -302
Con solo errorlevel -302 alcanza, no hace falta el 0 anterior.