Interrupt frågor, AVR

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Verkar som du måste ut med SREG till ett arbetsregister först, och sedan pusha.

edit: Ja, precis så. :)
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Inlägg av Swech »

Ett generalfel om du gör så här

Kod: Markera allt

in r16, sreg 
push r16 
… 
… 
… 
Pop r16 
out sreg, r16 
Jo... du förstör R16
Skall det vara helt komplett

Kod: Markera allt

push r16   ;spara r16
in r16, sreg  ;kopiera status to r16
push r16    ;spara r16 (egentligen status kopia)
… 
… 
… 
Pop r16     ;återkalla status kopia
out sreg, r16  ;återställ status
pop r16    ;återställ r16
reti
Skriv svar