Hi David, On Wed, Mar 11, 2009 at 7:23 AM, David VanHorn <d...@mobilefusioninc.com> 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/
_______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list