Sida 2 av 2

Postat: 25 september 2008, 13:12:06
av speakman
Verkar som du måste ut med SREG till ett arbetsregister först, och sedan pusha.

edit: Ja, precis så. :)

Postat: 25 september 2008, 20:41:25
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