ICD2 - breakpoints
Michal HW
michalgregor@centrum.cz
Pondělí Prosinec 1 12:35:20 CET 2008
Zkousim najit chybu v programu:
Line Address Opcode Label Disassembly
8546 042C2 C272 MOVFF 0x272, WREG
8547 042C4 FFE8 NOP
8548 042C6 0F07 ADDLW 0x7
8549 042C8 CFE8 MOVFF WREG, Pocet_B
8550 042CA FD3D NOP
8551 042CC C0B7 MOVFF Ukazatel, Vstup_P
8552 042CE F0BB NOP
8553 042D0 C0B8 MOVFF Vstup_K, 0xbc
8554 042D2 F0BC NOP
8555 042D4 C0B9 MOVFF Vstup, 0xbd
8556 042D6 F0BD NOP
8557 042D8 EC08 CALL Sloz_Konec, 0
8558 042DA F029 NOP
8559 042DC 6E00 MOVWF 0, ACCESS
8560 042DE CD3D MOVFF Pocet_B, 0x1
Promenna Pocet_B ma chybnou hodnotu 0x05. Nastavil jsem si Advanced
breakpoint na zapis hodnoty 0x05 do Pocet_B.
ICDII se zastavi na radku 8553, ktery vubec s Pocet_B nepracuje.
0x272 obsahuje 0. Pocet_B ma 0x05. (Vysledek mel byt 7)
Vypada to ze z preruseni se vrati spatny obsah WREG. Kdyby se v preruseni
zapisovala hodnota 0x05 do Pocet_B, tak to ICDII zachyti, Nebo ne?
Procesor je 18F8723. ERRATA jsou prazdne, takze chybu s Fast Stack Registrem
by nemel mit.
Michal Gregor
Další informace o konferenci Hw-list