list p=16f877a
#include <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
cblock 0x0020 ; RAM LOCATION
; port1 ; bad choice of label -use -
work1
endc
ORG 0x0000 ;RESET_VECTOR
goto start
ORG 0x0004 ;INT_VECTOR CODE
retfie
start ;MAIN_PROG CODE
clrf PORTB ;CLEAR PORTB
banksel TRISB
clrf TRISB ;SET PORTB TO OUTPUTS
banksel PORTB
movlw b'01010101'
movwf work1
; movf port1,w ; not needed as the value is still in W
movwf PORTB
loop goto loop
END