AW: Fw: Dotaz - SP u 89c52 a SW reset
Kaliciak, Richard
Richard.Kaliciak@ibykus.de
Úterý Duben 5 14:58:40 CEST 2005
> Pokud nemam WD a musim chci nasimulovat reset,
> tak pouzivam nasledujici sekvenci (uz asi tak 20 let :-))) )
>
> di
> push 0
> push 0
> call x
> x: reti
>
>
> Držím tu v ruce knížku Petra Skalického MC řady 8051 a nějak
> se mě nedaří nalést instrukci DI
> co to prosím koná ?
>
> Ps je nějaký rozdíl mezi doporučeným kodem a JUMP 0 ?
>
To je ako ked v C napises i++ namiesto i=i+1
DI znamena DISABLE INTERRUPT, nahrad ho CLR EA
dvakrat PUSH 0 vlozi do zasobniku navratovu adresu 0x0000, na ktoru sa pomocou RET skoci. A aby sa vynuloval priznak prerusenia, tak sa namiesto RET pouzije RETI. A kedze 8051 ma dve urovne prerusenia, tak navrat z urovne 1 nasimulujeme comocou CALL x na RETI a navrat z urovne 0 tou istou instrukciou RETI.
Další informace o konferenci Hw-list