avr-libc-dev
[Top][All Lists]
Advanced

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

Re: [avr-libc-dev] XMEGA


From: Joerg Wunsch
Subject: Re: [avr-libc-dev] XMEGA
Date: Tue, 8 Jun 2010 07:46:39 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

As Weddington, Eric wrote:

> int main () {
>    while (1) {
>      PORTC.OUT = 0x00;
>      PORTD.OUT = 0xff;
>    }
> }

main:
/* prologue: function */
/* frame size = 0 */
        ldi r26,lo8(1600)
        ldi r27,hi8(1600)
        ldi r30,lo8(1632)
        ldi r31,hi8(1632)
        ldi r24,lo8(-1)
.L2:
        adiw r26,4
        st X,__zero_reg__
        sbiw r26,4
        std Z+4,r24
        rjmp .L2

> And the corresponding flat register access:
>  
> int main () {
>    while (1) {
>      PORTC_OUT = 0x00;
>      PORTD_OUT = 0xff;
>    }
> }

main:
/* prologue: function */
/* frame size = 0 */
        ldi r24,lo8(-1)
.L2:
        sts 1604,__zero_reg__
        sts 1636,r24
        rjmp .L2

The structure-based code looks a little cumbersome but is IMHO
correct.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



reply via email to

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