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