?? x5.s
字號:
.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)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -