;// 割り込み処理先頭 org 0x0004
INT_ENT:
;// 退避する(PUSH処理)
movwf WregBuf ;Wregをユーザーメモリ、WregBuf へ退避
;コレ以降Wレジスタは使いたい放題…。
swapf STSreg,to_W ;STSレジスタを変化させないようにWレジスタへ
;swapして退避させる。復帰時もswapするので、
;結局元に戻る。
clrf STSreg ;割り込み進入時はbankが不定なので、bank-0に
;設定した退避メモリ、STSregBufが正しくアクセス
;できるようにbank0に設定する。
movwf STSregBuf ;WレジスタにいれたSTSregの内容を退避
movf PCLATH,to_W
movwf PC_Buf ;PCLATHを退避
movf MVC1,to_W ;MVC1という汎用のユーザーメモリを退避
movwf MVC1BUF ;退避先へ格納
clrf PCLATH ;割り込み処理はPage-0で行うように指定
movf FSreg,to_W
movwf FSregBuf ;FSregを退避
;/////////////////////////////////////////////////////////////////////////////
;//
;// ここから割り込み処理を書く・・・。
;//
;/////////////////////////////////////////////////////////////////////////////
;// もとに戻す(POP処理)
clrf STSreg ;割り込み処理内でバンクが変更されているかも
;知れないのでBank-0に
movf MVC1BUF,to_W ;退避していたMVC1を復帰
movwf MVC1
movf FSregBuf,to_W
movwf FSreg ;FSreg復帰
movf PC_Buf,to_W
movwf PCLATH ;PCLATH復帰
swapf STSregBuf,to_W ;swapして退避していた内容をswapして
movwf STSreg ;STSregに復帰する
swapf WregBuf,to_F ;一度Wregバッファー内の上下ニブルを入れ替え
swapf WregBuf,to_W ;さらに上下ニブルを入れ替えてWregに入れる。
;理由はmovfでWregに入れると
;STSregのZesroフラグが変化するから。
retfie ;割り込み許可にして終了。
![](https://blogimg.goo.ne.jp/user_image/4e/41/30190946353c2bc71740b75d324f3aa8.jpg)
****************
回胴式遊戯機技術研究会はパチスロの入出力信号を調べて、オシロスコープで波形をみて、その通りの疑似信号を出力するマイコンプログラムを作成して、回路にのせて、パチスロのメダル不要回路を作成して、卒業の技術講習(有料)を開講しています。
この機会に、パチスロの基礎から学んで、アミューズメント仕様パチスロの技術を身につけてみませんか?
受講受付中!!
ご不明の点はご遠慮なくお尋ね下さい。存じ上げていることは丁寧にご案内させていただきます。
回胴式遊戯機技術研究会はパチスロの入出力信号を調べて、オシロスコープで波形をみて、その通りの疑似信号を出力するマイコンプログラムを作成して、回路にのせて、パチスロのメダル不要回路を作成して、卒業の技術講習(有料)を開講しています。
この機会に、パチスロの基礎から学んで、アミューズメント仕様パチスロの技術を身につけてみませんか?
受講受付中!!
ご不明の点はご遠慮なくお尋ね下さい。存じ上げていることは丁寧にご案内させていただきます。
TEL 090-3194-4902
![](https://blogimg.goo.ne.jp/user_image/5f/c6/5269333fb847c30d62024de645af6a19.jpg)
※コメント投稿者のブログIDはブログ作成者のみに通知されます