アセンブリ言語(2)

アセンブリの記述例
 RB4に接続したLEDを1秒ごとに点滅させる簡単なプログラムを例にアセンブリ言語の記述方法を解説します。ソースコード中のリンクをクリックすると解説ウインドウが開きます。

;SAMPLE program
;10MHz

	list	p=16f648a
	#include <P16f648a.inc>
	__CONFIG _BOREN_OFF & _CP_ON & _PWRTE_ON & 
		_WDT_OFF & _LVP_OFF & _MCLRE_OFF & _HS_OSC

;Variables
i	EQU	H'20'
j	EQU	H'21'
k	EQU	H'22'

INIT	CLRF	i
	CLRF	j
	CLRF	k

MAIN	BSF	STATUS, RP0
	MOVLW	B'00001111'
	MOVWF	TRISA
	MOVLW	B'00000000'
	MOVWF	TRISB
	CLRF	OPTION_REG
	BCF	STATUS, RP0
	MOVLW	B'00000111'
	MOVWF	CMCON
	MOVLW	B'11111111'
	MOVWF	PORTB

START	BCF	PORTB, 4
	CALL	DELAY
	BSF	PORTB, 4
	CALL	DELAY
	GOTO	START
	
;delay routine for 1 sec.
DELAY	MOVLW	D'13'
	MOVWF	i
I_LOOP	MOVLW	D'255'
	MOVWF	j
J_LOOP	MOVLW	D'255'
	MOVWF	k
K_LOOP	DECFSZ	k, f
	GOTO	K_LOOP
	DECFSZ	j, f
	GOTO	J_LOOP
	DECFSZ	i, f
	GOTO	I_LOOP
	RETURN

	END


PICマイコンと電子工作 HOME


inserted by FC2 system