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

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

Re: [avr-gcc-list] Re: Wierd Calls.


From: Dave Hylands
Subject: Re: [avr-gcc-list] Re: Wierd Calls.
Date: Wed, 11 Mar 2009 14:11:12 -0700

Hi David,

On Wed, Mar 11, 2009 at 7:23 AM, David VanHorn <address@hidden> wrote:
>
> Well.. Still flogging the horse here.

...snip...

> +00000622:   1BAA        SUB       R26,R26        Subtract without carry
> +00000623:   1BBB        SUB       R27,R27        Subtract without carry
> +00000624:   E151        LDI       R21,0x11       Load immediate
> +00000625:   C007        RJMP      PC+0x0008      Relative jump
> +00000626:   1FAA        ROL       R26            Rotate Left Through Carry
> +00000627:   1FBB        ROL       R27            Rotate Left Through Carry
> +00000628:   17A6        CP        R26,R22        Compare
> +00000629:   07B7        CPC       R27,R23        Compare with carry
> +0000062A:   F010        BRCS      PC+0x03        Branch if carry set
> +0000062B:   1BA6        SUB       R26,R22        Subtract without carry
> +0000062C:   0BB7        SBC       R27,R23        Subtract with carry
> +0000062D:   1F88        ROL       R24            Rotate Left Through Carry
> +0000062E:   1F99        ROL       R25            Rotate Left Through Carry
> +0000062F:   955A        DEC       R21            Decrement
> +00000630:   F7A9        BRNE      PC-0x0A        Branch if not equal
> +00000631:   9580        COM       R24            One's complement
> +00000632:   9590        COM       R25            One's complement
> +00000633:   01BC        MOVW      R22,R24        Copy register pair
> +00000634:   01CD        MOVW      R24,R26        Copy register pair
> +00000635:   9508        RET                      Subroutine return

The assembly above comes from the __udivmodhi4 helper function (found
in libgcc.a), which is a helper function for performing a 32-bit
divide.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.DaveHylands.com/

reply via email to

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