PIC16F628AでHello world(LED blink)

コピペ用に動いたコード。

 list p=pic16f628a
 include "p16f628a.inc"

 __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _MCLRE_OFF & _INTOSC_OSC_NOCLKOUT

w_temp EQU 0x70
status_temp EQU 0x71
CNT1 EQU 0x20
CNT2 EQU 0x21

 ORG 0x000
 goto main
 ORG 0x004

 movwf w_temp
 movf STATUS,w
 movwf status_temp

;ISR Codes
 movf status_temp,w
 movwf STATUS
 swapf w_temp,f
 retfie

main
 bcf STATUS,RP0
 bcf STATUS,RP1
 clrf INTCON
 clrf PORTA
 ;movlw 0x07
 ;movwf CMCON

 bsf STATUS,RP0

 ;bsf PCON,OSCF
 clrf TRISA
 clrf TRISB

 bcf STATUS,RP0

 clrf PORTA
 clrf PORTB

main_loop
 bsf PORTB,3
 call DLY_250
 bcf PORTB,3
 call DLY_250
 bsf PORTB,2
 goto main_loop

;Delay Routine
DLY_250
 movlw 0xfa
 movwf CNT1
DLP1
 movlw 0xf0
 movwf CNT2
DLP2
 decfsz CNT2,f
 goto DLP2
 decfsz CNT1,f
 goto DLP1
 return

 END