Fw: Dotaz - SP u 89c52 a SW reset
MK
info@mcu.cz
Úterý Duben 5 15:26:19 CEST 2005
> MK machruje ale v skutocnosti sa mu to po 20 rokoch uz pletie (Rabbit?)
> presne tak ako aj mne a ako kazdemu, kto sedi na viacerych stolickach
> naraz. :-)
>
> DI v '51 nie je (ledazeby sa nadefinovalo nejake makro) a push 0 ulozi
> obsah RAM s adresou 0 co moze byt hocico, takze to nemusi pushnut nulu.
>
> Skor takto:
> clr a
> mov IE,a
> push acc
> push acc
> acall x
> x: reti
>
Sorry, Jano ma naprostou pravdu :-)))
Byl jsem liny se podivat nekam do zdrojaku a nahodil jsem to jen z hlavy
A naprosto klasicky jsem na 5 radkach nasekal tri chyby :-(((
Faktem vsak zustava, ze tento mechanizmus jsem poprve pouzil
nekdy v roce 1986
> Vyhoda je, ze toto funguje aj v preruseni (vykona sa 2x reti). Riziko
> je, ze to nebude fungovat ak je stack uz mimo RAM (kde je len 128B).
> Ale samozrejme nesmiete v programe predpokladat implicitne hodnoty
> registrov po resete (alebo to sem musite doplnit).
A k tomuhle jen par poznamek. Vzdy je nutne mit hloubku a obsah SP v pazi,
pokud ne, tak vznika problem z blbe napsaneho programu. To same plati
o pocatecni inicializaci, ktera se dela VZDY po startu programu
S pozdravem
MK
Další informace o konferenci Hw-list