www.pudn.com > iccavr_lib.rar > x5.s, change:2003-11-13,size:10636b
.area text(rom, con, rel) ; V0 buf: Stack(2) ticks 0->1280 Uses (D1|1) ; V1 base: R12 ticks 0->1248 Uses (D30|3) ; V2 rem: R10 ticks 240->1232 Uses (D40|4) ; V3 s: R14 ticks 112->1248 Uses (D43|7) ; rev -> y+0 ; s -> R14,R15 ; rem -> R10,R11 ; base -> R12,R13 ; i -> y+38 ; buf -> y+36 .even ; loop: 0 block 0 _ltoa:: rcall push_arg4 rcall push_gset5 sbiw R28,26 ldd R12,y+42 ldd R13,y+43 ; (014) [allocating Register] replacing x0 with R20 ; ticks 0 end ticks 64 ldi R20,0 ldi R21,0 ldi R22,0 ldi R23,0 ; (015) [allocating Register] replacing P0 with R30 ; ticks 16 end ticks 48 mov R30,R28 mov R31,R29 ; (016) [using Register] replacing P0 with R30 ; Killed - offset propagation ; ticks 32 ; aprm R30,4 ; (017) [using Register] replacing P0 with R30 ; freeing R30 ; (018) [allocating Register] replacing l0 with R2 ; ticks 48 end ticks 64 ldd R2,z+38 ldd R3,z+39 ldd R4,z+40 ldd R5,z+41 ; (019) [using Register] replacing l0 with R2 ; (020) [using Register] replacing x0 with R20 ; freeing R2 ; freeing R20 ; ticks 64 cp R2,R20 cpc R3,R21 cpc R4,R22 cpc R5,R23 ; ticks 80 brne L2 ; (021) [allocating Register] replacing w0 with R24 ; ticks 96 end ticks 112 ldi R24,<L4 ldi R25,>L4 ; (000) [using Register] replacing V3 with R14 ; (022) [using Register] replacing w0 with R24 ; freeing R24 ; ticks 112 end ticks 1248 mov R14,R24 mov R15,R25 ; ticks 128 rjmp L3 ; loop: 0 block 1 L2: ; (023) [allocating Register] replacing B0 with R2 ; ticks 144 end ticks 160 clr R2 ; (024) [using Register] replacing B0 with R2 ; freeing R2 ; ticks 160 std y+25,R2 ; (025) [allocating Register] replacing w0 with R24 ; ticks 176 end ticks 208 mov R24,R28 mov R25,R29 ; (026) [using Register] replacing w0 with R24 ; ticks 192 adiw R24,25 ; (001) [using Register] replacing V3 with R14 ; (027) [using Register] replacing w0 with R24 ; freeing R24 ; ticks 208 end ticks 528 mov R14,R24 mov R15,R25 ; ticks 224 rjmp L8 ; loop: 1 block 2 loop top L7: ; (002) [using Register] replacing V1 with R12 ; (030) [allocating Register] replacing l0 with R2 ; ticks 240 end ticks 352 mov R2,R12 mov R3,R13 ; (031) [using Register] replacing l0 with R2 ; ticks 256 clr R4 sbrc R3,7 com R4 clr R5 sbrc R4,7 com R5 ; (032) [allocating Register] replacing P0 with R30 ; ticks 272 end ticks 304 mov R30,R28 mov R31,R29 ; (033) [using Register] replacing P0 with R30 ; Killed - offset propagation ; ticks 288 ; aprm R30,4 ; (034) [using Register] replacing P0 with R30 ; freeing R30 ; (035) [allocating Register] replacing l1 with R6 ; ticks 304 end ticks 368 ldd R6,z+38 ldd R7,z+39 ldd R8,z+40 ldd R9,z+41 ; ticks 320 ; PUSH R16 ; ticks 336 ; PUSH R18 ; (036) [using Register] replacing l0 with R2 ; freeing R2 ; ticks 352 st -y,R5 st -y,R4 st -y,R3 st -y,R2 ; (037) [using Register] replacing l1 with R6 ; freeing R6 ; ticks 368 end ticks 384 ; ticks 368 mov R16,R6 mov R17,R7 ; ticks 369 mov R18,R8 mov R19,R9 ; ticks 384 rcall mod32u ; Killed - forward scan propagate physical TN ; ticks 400 end ticks 448 ; movl l1,R16 ; ticks 416 ; PULL R18 ; ticks 432 ; PULL R16 ; (028) [backward scan def] replacing W0 with R10 ; (029) [forward scan use] replacing l1 with R16 ; ticks 448 end ticks 816 mov R10,R16 mov R11,R17 ; (003) [using Register] replacing V2 with R10 ; Killed - Backward scan TN ; ticks 464 end ticks 816 ; movw R10,W0 ; (004) [using Register] replacing V2 with R10 ; (038) [allocating Register] replacing w0 with R24 ; Killed - no use for temp var ; ticks 480 end ticks 576 ; movw R24,R10 ; (039) [using Register] replacing w0 with R24 ; freeing R24 ; usereg 0: was 24 ; ticks 496 cpi R16,10 ldi R30,0 cpc R17,R30 ; ticks 512 brge L10 ; (005) [using Register] replacing V3 with R14 ; (040) [allocating Register] replacing w0 with R24 ; ticks 528 end ticks 576 mov R24,R14 mov R25,R15 ; (041) [using Register] replacing w0 with R24 ; ticks 544 sbiw R24,1 ; (042) [using Register] replacing w0 with R24 ; freeing R24 ; (043) [allocating Register] replacing T0 with R2 ; ticks 560 end ticks 640 mov R2,R24 mov R3,R25 ; (006) [using Register] replacing V3 with R14 ; (044) [using Register] replacing T0 with R2 ; RH tempreg: was 2 ; ticks 576 end ticks 736 mov R14,R24 mov R15,R25 ; (007) [using Register] replacing V2 with R10 ; (045) [allocating Register] replacing w0 with R24 ; ticks 592 end ticks 656 mov R24,R10 mov R25,R11 ; (046) [using Register] replacing w0 with R24 ; ticks 608 adiw R24,48 ; (047) [using Register] replacing w0 with R24 ; freeing R24 ; (048) [allocating Register] replacing B0 with R24 ; Killed - local register allocation ; ticks 624 end ticks 656 ; mov R24,R24 ; (049) [using Register] replacing T0 with R2 ; freeing R2 ; (050) [allocating Register] replacing P0 with R30 ; ticks 640 end ticks 656 mov R30,R2 mov R31,R3 ; (051) [using Register] replacing P0 with R30 ; (052) [using Register] replacing B0 with R24 ; freeing R30 ; freeing R24 ; ticks 656 std z+0,R24 ; ticks 672 rjmp L11 ; loop: 1 block 3 L10: ; (008) [using Register] replacing V1 with R12 ; (053) [allocating Register] replacing w0 with R24 ; ticks 688 end ticks 784 mov R24,R12 mov R25,R13 ; (054) [using Register] replacing w0 with R24 ; freeing R24 ; ticks 704 cpi R24,16 ldi R30,0 cpc R25,R30 ; ticks 720 brne L12 ; (009) [using Register] replacing V3 with R14 ; (055) [allocating Register] replacing w0 with R24 ; ticks 736 end ticks 784 mov R24,R14 mov R25,R15 ; (056) [using Register] replacing w0 with R24 ; ticks 752 sbiw R24,1 ; (057) [using Register] replacing w0 with R24 ; freeing R24 ; (058) [allocating Register] replacing T1 with R2 ; ticks 768 end ticks 864 mov R2,R24 mov R3,R25 ; (010) [using Register] replacing V3 with R14 ; (059) [using Register] replacing T1 with R2 ; RH tempreg: was 2 ; ticks 784 end ticks 1248 mov R14,R24 mov R15,R25 ; (060) [allocating Register] replacing w0 with R24 ; ticks 800 end ticks 832 ldi R24,<L14-10 ldi R25,>L14-10 ; (011) [using Register] replacing V2 with R10 ; (061) [allocating Register] replacing P0 with R30 ; ticks 816 end ticks 848 mov R30,R10 mov R31,R11 ; (062) [using Register] replacing P0 with R30 ; (063) [using Register] replacing w0 with R24 ; freeing R24 ; ticks 832 add R30,R24 adc R31,R25 ; (064) [using Register] replacing P0 with R30 ; freeing R30 ; (065) [allocating Register] replacing B0 with R4 ; ticks 848 end ticks 880 ldd R4,z+0 ; (066) [using Register] replacing T1 with R2 ; freeing R2 ; (067) [allocating Register] replacing P0 with R30 ; ticks 864 end ticks 880 mov R30,R2 mov R31,R3 ; (068) [using Register] replacing P0 with R30 ; (069) [using Register] replacing B0 with R4 ; freeing R30 ; freeing R4 ; ticks 880 std z+0,R4 ; loop: 1 block 4 L12: ; loop: 1 block 5 L11: ; (012) [using Register] replacing V1 with R12 ; (071) [allocating Register] replacing l0 with R2 ; ticks 896 end ticks 1008 mov R2,R12 mov R3,R13 ; (072) [using Register] replacing l0 with R2 ; ticks 912 clr R4 sbrc R3,7 com R4 clr R5 sbrc R4,7 com R5 ; (073) [allocating Register] replacing P0 with R30 ; ticks 928 end ticks 960 mov R30,R28 mov R31,R29 ; (074) [using Register] replacing P0 with R30 ; Killed - offset propagation ; ticks 944 ; aprm R30,4 ; (075) [using Register] replacing P0 with R30 ; freeing R30 ; (076) [allocating Register] replacing l1 with R6 ; ticks 960 end ticks 1024 ldd R6,z+38 ldd R7,z+39 ldd R8,z+40 ldd R9,z+41 ; ticks 976 ; PUSH R16 ; ticks 992 ; PUSH R18 ; (077) [using Register] replacing l0 with R2 ; freeing R2 ; ticks 1008 st -y,R5 st -y,R4 st -y,R3 st -y,R2 ; (078) [using Register] replacing l1 with R6 ; freeing R6 ; ticks 1024 end ticks 1040 ; ticks 1024 mov R16,R6 mov R17,R7 ; ticks 1025 mov R18,R8 mov R19,R9 ; ticks 1040 rcall div32u ; Killed - forward scan propagate physical TN ; ticks 1056 end ticks 1136 ; movl l1,R16 ; ticks 1072 ; PULL R18 ; ticks 1088 ; PULL R16 ; (079) [allocating Register] replacing P0 with R30 ; ticks 1104 end ticks 1136 mov R30,R28 mov R31,R29 ; (080) [using Register] replacing P0 with R30 ; Killed - offset propagation ; ticks 1120 ; aprm R30,4 ; (070) [forward scan use] replacing l1 with R16 ; (081) [using Register] replacing P0 with R30 ; freeing R30 ; ticks 1136 std z+38,R16 std z+39,R17 std z+40,R18 std z+41,R19 ; loop: 1 block 6 loop bot L8: ; (082) [allocating Register] replacing x0 with R20 ; ticks 1152 end ticks 1216 ldi R20,0 ldi R21,0 ldi R22,0 ldi R23,0 ; (083) [allocating Register] replacing P0 with R30 ; ticks 1168 end ticks 1200 mov R30,R28 mov R31,R29 ; (084) [using Register] replacing P0 with R30 ; Killed - offset propagation ; ticks 1184 ; aprm R30,4 ; (085) [using Register] replacing P0 with R30 ; freeing R30 ; (086) [allocating Register] replacing l0 with R2 ; ticks 1200 end ticks 1216 ldd R2,z+38 ldd R3,z+39 ldd R4,z+40 ldd R5,z+41 ; (087) [using Register] replacing l0 with R2 ; (088) [using Register] replacing x0 with R20 ; freeing R2 ; freeing R20 ; ticks 1216 cp R2,R20 cpc R3,R21 cpc R4,R22 cpc R5,R23 ; ticks 1232 breq X0 rjmp L7 X0: ; loop: 0 block 7 L3: ; (013) [using Register] replacing V3 with R14 ; ticks 1248 end ticks 1312 mov R18,R14 mov R19,R15 ; ticks 1264 ; ARG1 ; Killed - spill use ; ticks 1280 end ticks 1312 ; movw R16,V0 ; ticks 1280 end ticks 1312 ldd R16,y+36 ldd R17,y+37 ; ticks 1296 ; ARG0 ; ticks 1312 rcall _strcpy ; ticks 1328 ; ARGx ; loop: 0 block 8 L1: ; ticks 1344 adiw R28,26 rcall pop_gset5 adiw R28,4 ret .area data(ram, con, rel) L14: .blkb 7 .area idata .byte 'a,'b,'c,'d,'e,'f,0 .area data(ram, con, rel) L4: .blkb 2 .area idata .byte 48,0 .area data(ram, con, rel)