SSブログ

14k50 のデバッグ [PIC]

デバッガが使えないからめんどくさい。
だれか便利なやりかたしってたら、教えてください。
14k50はというか、18Fはどうも、割り込み側のコードは側でさらに関数を使うのは、ネストを深くできない。スタックが浅いので。
割り込みロジック側で、関数を使うと、スタックが飛んで、帰ってこなくなるみたい。
CODEセグメントの関数のネストは、割といけるようなんで、へんてこなスタックを作ってるんだろうけど。

それにしても、
134:               while(1){
  28AE    D7E9     BRA 0x2882
135:               	LATCbits.LATC2=1;
  2882    848B     BSF 0xf8b, 0x2, ACCESS
136:               	if (v<0x7f){
  2884    0E7F     MOVLW 0x7f
  2886    0100     MOVLB 0
  2888    AFB9     BTFSS 0xb9, 0x7, BANKED
  288A    D002     BRA 0x2890
  288C    90D8     BCF 0xfd8, 0, ACCESS
  288E    D003     BRA 0x2896
  2890    5DB8     SUBWF 0xb8, W, BANKED
  2892    0E00     MOVLW 0
  2894    59B9     SUBWFB 0xb9, W, BANKED
  2896    E202     BC 0x289c
137:               		LATCbits.LATC2=1;
  2898    848B     BSF 0xf8b, 0x2, ACCESS
138:               	}else {
  289A    D001     BRA 0x289e
139:               		LATCbits.LATC2=0;
  289C    948B     BCF 0xf8b, 0x2, ACCESS
140:               	}
141:               	v&=0xff;
  289E    0100     MOVLB 0
  28A0    6BB9     CLRF 0xb9, BANKED
142:               	procEvent();
  28A2    ECF0     CALL 0x3e0, 0
  28A4    F001     NOP
143:               	v++;
  28A6    0100     MOVLB 0
  28A8    2BB8     INCF 0xb8, F, BANKED
  28AA    0E00     MOVLW 0
  28AC    23B9     ADDWFC 0xb9, F, BANKED
149:               }
150:               
163:               }
  28B0    0E1C     MOVLW 0x1c
  28B2    5CE1     SUBWF 0xfe1, W, ACCESS
  28B4    E202     BC 0x28ba
  28B6    6AE1     CLRF 0xfe1, ACCESS
  28B8    52E5     MOVF 0xfe5, F, ACCESS
  28BA    6EE1     MOVWF 0xfe1, ACCESS
  28BC    52E5     MOVF 0xfe5, F, ACCESS
  28BE    CFE7     MOVFF 0xfe7, 0xfd9
  28C0    FFD9     NOP
  28C2    0012     RETURN 0


ループするようにはみえないよなあ。

コメント(0) 
共通テーマ:趣味・カルチャー

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。