org 0x0 goto start org 0x4 movwf W_TEMP ; wレジスタを一時レジスタへ swapf STATUS,W ; STATUSレジスタをwへ clrf STATUS ; バンク0にする movwf STATUS_TEMP ; コピーしたSTATUSレジスタを一時レジスタへ movfw PCLATH,W ; PCLATHを保存する movwf PCLATH_TEMP clrf PCLATH ; PCLATHで指定するページも0にする ;; ここに割り込みルーチンを書く movfw PCLATH_TEMP ; PCLATHを戻す movwf PCLATH ; swapf STATUS_TEMP,W ; STATUSレジスタをwへ movwf STATUS ; STAUTSレジスタを戻す ; バンクも元に戻る swapf W_TEMP,F ; swapf を2回行うことでwレジスタを戻す swapf W_TEMP,W ; これは STATUSレジスタに影響させないため retfie ; 割り込みからの復帰 リスト5-14 Copyright 2005 Noriaki Mitsunaga