При написании программы решил данные вписывать перед процедурами их использующими. На определенном этапе считываемые данные начали искажаться. Проект создан в AVR Studio 5.0 отладка в Proteus 7.7 Sp2. Когда отлаживаю с точками останова в Студио все Ок, а в Протеусе считывается не правильно. Когда вписал перед Code7 семь байт все пошло, меньше не идет. Не могу понять почему так?
| Код | ... .DSEG Ind: .byte 7 .CSEG F: .db 0,0,0,0,0,0,0 Code7: .db $FC, $60, $DA, $F2, $66, $B6, $BE, $E0, $FE, $F6 ;-------------------------------------------------------------------------------- Decode: clr xh ldi xl,low(ind)+7 mov tmp,Countr rcall dec3 mov tmp,Countp rcall Cod7 st x,r0 dec xl mov tmp,Countl rcall Dec3 ret ;-------------------------------------------------------------------------------- Dec3: rcall Num rcall Cod7 st x,r0 dec xl tst c2 breq De1 De0: mov tmp,c2 rcall Cod7 st x,r0 rjmp De2 De1: tst c1 brne De0 De2: dec xl tst c1 breq De3 mov tmp,c1 rcall Cod7 st x,r0 De3: dec xl ret ;-------------------------------------------------------------------------------- Cod7: ldi zh,high(Code7*2) ldi zl,low(Code7*2) add zl,tmp lpm ret
|
|