Hola amigos de todoPIC, pues bien hace un rato ya que empeze a programar en c, apoyado en gran parte por este gran foro
, y ahora se me metio la idea de aprender emsamblador para uC porque hay cosas que hago en el ccs y no se como las hace
asi que me nacio la curiosidad, en fin, estoy iniciandome y he realizado el siguiente codigo:
LIST P = 16F628A
INCLUDE <P16F628A.INC>
__config _INTRC_OSC_NOCLKOUT & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF
org 0x00 ;El programa inicia en la posicion 0x00
bsf STATUS, RP0 ; Ponemos a 1 el bit RP0 (5) de el registro status
movlw 0x01 ;Guadamos en w el valor de 1
movwf TRISB ; Lo cargamos en TRISB para volver RB0 entrada
bcf STATUS, RP0 ; Regresamos al banco 0
MAIN:
movlw .255
movwf PORTB
goto MAIN
end
Podran darse cuenta que no es nada del otro mundo pero bueno
, compila bien y funciona, lo he probado en el PIC Simulator y veo que los registros se cargan correctamente, pero checando el .ERR veo que hay un "Message":
Message[302] C:\ASM\PROBE\PROBEONE.ASM 11 : Register in operand not in bank 0. Ensure that bank bits are correct.
Donde la linea 11 es:
11 movwf TRISB ; Lo cargamos en TRISB para volver RB0 entrada ;linea del Message
... pero hasta donde veo estoy en el banco 1 y no se porque me manda esa advertencia, repito si funciona pero esa duda me esta matando
, espero alguien pueda decirme la razon, un saludo y gracias de antemano.