暇つぶし2chat DENKI
- 暇つぶし2ch518:774ワット発電中さん
17/02/22 18:48:18.83 Db7MQC2T.net
>>490
もともとは、ISR()のエピローグ/プロローグが大きいんで削りたい、ってのが目的なんだけど
該当部分の、具体的な該当コードは↓、石はPIC18F14K50
void IsrHigh(void);
uint16_t wTxData;
asm ("global _IsrHighFook");
void IsrHighFook(void) @ 0x0808
{
asm("goto _IsrHigh");
}
void IsrHigh(void)
{
#asm
btfss RABIF_bit, c
bra ret_ie
bcf RABIF_bit, c
btfsc _wTxData, 0, c
btfss RB7_bit, c
bra rst_rc5
set_rc5: <- ラベルを使ったところに 赤!
bsf RC5_bit, c
bra ret_ie
rst_rc5: <-赤!
bcf RC5_bit, c
ret_ie: <-赤!
retfie f
#endasm
} <- ここにも 赤!
確かに、ご指摘の方法で済む処はそんな風にして逃げたりしてる
下のように書き換えると
asm ("btfss RABIF_bit, c"); <- この手のが通らない
asm ("btfss INTCON, 0, c"); <- こんな風にベタで書くと通るのは解ったけど
どっちも、イマイチなんだよね


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch