avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] How to reserve registers


From: Georg-Johann Lay
Subject: Re: [avr-gcc-list] How to reserve registers
Date: Wed, 04 Jan 2012 14:25:11 +0100
User-agent: Thunderbird 2.0.0.24 (X11/20100302)

Paulo Marques wrote:

> push    r0
> in      r0, SREG
> push    r1
> eor   r1, r1
> push    r2
> 
> sec
  ^^^
Superfluous

> in    r2, GPIOR0
> adc   r2, r1

Why using ADC? AVR has INC (increment by 1) instruction that works with any
register.

> out     GPIOR0, r2
> in    r2, GPIOR1
> adc   r2, r1

ditto

> out     GPIOR1, r2
> in    r2, GPIOR2
> adc   r2, r1

ditto

> out     GPIOR2, r2
> lds   r2, high_counter_byte
> adc   r2, r1

ditto

> sts     high_counter_byte, r2
> 
> pop   r2
> pop   r1
> out   SREG, r0
> pop   r0
> reti





reply via email to

[Prev in Thread] Current Thread [Next in Thread]