📄 music.s
字号:
lds R24,_delay_time1
lds R25,_delay_time1+1
sbiw R24,50
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 276
; }
cpi R24,50
ldi R30,0
cpc R25,R30
brne L51
.dbline 277
; }
.dbline 277
ldi R24,100
ldi R25,0
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 277
.dbline 278
; }
xjmp L51
L62:
.dbline 280
; }
; }
lds R24,_delay_time2
lds R25,_delay_time2+1
adiw R24,50
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 281
; }
cpi R24,2
ldi R30,8
cpc R25,R30
brne L51
.dbline 282
; }
.dbline 282
ldi R24,2000
ldi R25,7
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 282
.dbline 283
; }
.dbline 285
; }
; }
L50:
L51:
.dbline -2
L49:
.dbline 0 ; func end
ret
.dbsym r remote_in 16 c
.dbend
.area vector(rom, abs)
.org 36
jmp _timer0
.area text(rom, con, rel)
.dbfile D:/icc/include/diy0206.c
.area vector(rom, abs)
.org 24
jmp _timer1
.area text(rom, con, rel)
.dbfile D:/icc/include/diy0206.c
.area lit(rom, con, rel)
_music_data::
.word 440
.word 600
.word 494
.word 200
.word 523
.word 600
.word 440
.word 200
.word 523
.word 400
.word 494
.word 200
.word 440
.word 200
.word 494
.word 400
.word 330
.word 400
.word 494
.word 600
.word 523
.word 200
.word 578
.word 600
.word 494
.word 200
.word 578
.word 400
.word 523
.word 200
.word 0
.word 0
.word 494
.word 200
.word 440
.word 800
.word 659
.word 400
.word 880
.word 400
.word 784
.word 400
.word 880
.word 200
.word 784
.word 200
.word 698
.word 400
.word 659
.word 200
.word 578
.word 200
.word 659
.word 400
.word 440
.word 400
.word 698
.word 400
.word 578
.word 200
.word 659
.word 600
.word 0
.word 0
.word 523
.word 200
.word 494
.word 200
.word 330
.word 200
.word 523
.word 200
.word 494
.word 200
.word 440
.word 800
.word 659
.word 400
.word 880
.word 400
.word 784
.word 400
.word 880
.word 200
.word 784
.word 200
.word 0
.word 0
.word 698
.word 400
.word 659
.word 200
.word 578
.word 200
.word 659
.word 400
.word 440
.word 400
.word 698
.word 400
.word 578
.word 200
.word 659
.word 600
.word 523
.word 200
.word 494
.word 200
.word 330
.word 200
.word 523
.word 200
.word 494
.word 200
.word 440
.word 800
.word 0
.word 0
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
.dbsym e music_data _music_data A[236:59:2]ki
.area data(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
_delay::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
.dbsym e delay _delay i
.area text(rom, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
.dbfunc e music_init _music_init fV
.even
_music_init::
.dbline -1
.dbline 47
.dbline 48
clr R2
out 0x35,R2
.dbline 49
ldi R24,1
out 0x14,R24
.dbline 50
out 0x2f,R2
.dbline 51
ldi R24,9
out 0x2e,R24
.dbline 52
ldi R24,3
out 0x33,R24
.dbline 53
ldi R24,25
out 0x32,R24
.dbline 54
ldi R24,17
out 0x39,R24
.dbline -2
L70:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer0 _timer0 fV
.even
_timer0::
st -y,R24
st -y,R25
in R24,0x3f
st -y,R24
.dbline -1
.dbline 60
.dbline 61
lds R24,_delay
lds R25,_delay+1
adiw R24,1
sts _delay+1,R25
sts _delay,R24
.dbline 62
ldi R24,25
out 0x32,R24
.dbline -2
L71:
ld R24,y+
out 0x3f,R24
ld R25,y+
ld R24,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e timer1 _timer1 fV
.even
_timer1::
st -y,R2
st -y,R24
in R2,0x3f
st -y,R2
.dbline -1
.dbline 68
.dbline 69
ldi R24,1
in R2,0x15
eor R2,R24
out 0x15,R2
.dbline -2
L72:
ld R2,y+
out 0x3f,R2
ld R24,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e sound _sound fV
; y -> R10,R11
; x -> R12,R13
.even
_sound::
xcall push_gset4
movw R10,R18
movw R12,R16
.dbline -1
.dbline 77
.dbline 78
sei
.dbline 79
clr R2
clr R3
sts _delay+1,R3
sts _delay,R2
.dbline 80
tst R12
brne X10
tst R13
breq L74
X10:
.dbline 81
.dbline 82
movw R2,R12
clr R4
clr R5
ldi R20,0
ldi R21,9
ldi R22,61
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
xcall div32s
movw R12,R16
.dbline 83
out 0x2b,R17
out 0x2a,R16
.dbline 84
clr R2
clr R3
out 0x2d,R3
out 0x2c,R2
.dbline 85
in R24,0x39
ori R24,16
out 0x39,R24
L76:
.dbline 87
L77:
.dbline 86
lds R2,_delay
lds R3,_delay+1
cp R2,R10
cpc R3,R11
brlo L76
.dbline 88
in R24,0x39
andi R24,239
out 0x39,R24
.dbline 89
xjmp L75
L74:
.dbline 91
.dbline 92
in R24,0x39
andi R24,239
out 0x39,R24
L79:
.dbline 94
L80:
.dbline 93
lds R2,_delay
lds R3,_delay+1
cp R2,R10
cpc R3,R11
brlo L79
.dbline 95
L75:
.dbline 96
cli
.dbline -2
L73:
xcall pop_gset4
.dbline 0 ; func end
ret
.dbsym r y 10 i
.dbsym r x 12 i
.dbend
.dbfunc e play_1 _play_1 fV
; i -> R20
.even
_play_1::
xcall push_gset1
.dbline -1
.dbline 101
.dbline 102
clr R20
.dbline 103
xcall _music_init
xjmp L84
L83:
.dbline 106
.dbline 107
ldi R24,4
mul R24,R20
movw R2,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
movw R30,R2
add R30,R24
adc R31,R25
lpm R18,Z+
lpm R19,Z
ldi R24,<_music_data
ldi R25,>_music_data
movw R30,R2
add R30,R24
adc R31,R25
lpm R16,Z+
lpm R17,Z
xcall _sound
.dbline 108
inc R20
.dbline 109
in R24,0x16
andi R24,240
sts _remote_in,R24
.dbline 110
tst R24
breq L88
.dbline 111
xjmp L82
L88:
.dbline 112
L84:
.dbline 105
ldi R24,4
mul R24,R20
movw R30,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
cpi R30,0
cpc R30,R31
brne L83
X11:
.dbline 113
clr R20
.dbline -2
L82:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e play_2 _play_2 fV
; i -> R20
.even
_play_2::
xcall push_gset1
.dbline -1
.dbline 118
.dbline 119
ldi R20,17
.dbline 120
xcall _music_init
xjmp L92
L91:
.dbline 123
.dbline 124
ldi R24,4
mul R24,R20
movw R2,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
movw R30,R2
add R30,R24
adc R31,R25
lpm R18,Z+
lpm R19,Z
ldi R24,<_music_data
ldi R25,>_music_data
movw R30,R2
add R30,R24
adc R31,R25
lpm R16,Z+
lpm R17,Z
xcall _sound
.dbline 125
inc R20
.dbline 126
in R24,0x16
andi R24,240
sts _remote_in,R24
.dbline 127
tst R24
breq L96
.dbline 128
xjmp L90
L96:
.dbline 129
L92:
.dbline 122
ldi R24,4
mul R24,R20
movw R30,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
cpi R30,0
cpc R30,R31
brne L91
X12:
.dbline 130
ldi R20,17
.dbline -2
L90:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e play_3 _play_3 fV
; i -> R20
.even
_play_3::
xcall push_gset1
.dbline -1
.dbline 134
.dbline 135
ldi R20,33
.dbline 136
xcall _music_init
xjmp L100
L99:
.dbline 139
.dbline 140
ldi R24,4
mul R24,R20
movw R2,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
movw R30,R2
add R30,R24
adc R31,R25
lpm R18,Z+
lpm R19,Z
ldi R24,<_music_data
ldi R25,>_music_data
movw R30,R2
add R30,R24
adc R31,R25
lpm R16,Z+
lpm R17,Z
xcall _sound
.dbline 141
inc R20
.dbline 142
in R24,0x16
andi R24,240
sts _remote_in,R24
.dbline 143
tst R24
breq L104
.dbline 144
xjmp L98
L104:
.dbline 145
L100:
.dbline 138
ldi R24,4
mul R24,R20
movw R30,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
cpi R30,0
cpc R30,R31
brne L99
X13:
.dbline 146
ldi R20,33
.dbline -2
L98:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e play_4 _play_4 fV
; i -> R20
.even
_play_4::
xcall push_gset1
.dbline -1
.dbline 150
.dbline 151
ldi R20,45
.dbline 152
xcall _music_init
xjmp L108
L107:
.dbline 155
.dbline 156
ldi R24,4
mul R24,R20
movw R2,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
movw R30,R2
add R30,R24
adc R31,R25
lpm R18,Z+
lpm R19,Z
ldi R24,<_music_data
ldi R25,>_music_data
movw R30,R2
add R30,R24
adc R31,R25
lpm R16,Z+
lpm R17,Z
xcall _sound
.dbline 157
inc R20
.dbline 158
in R24,0x16
andi R24,240
sts _remote_in,R24
.dbline 160
L113:
.dbline 159
lds R2,_remote_in
tst R2
brne L106
.dbline 161
L108:
.dbline 154
ldi R24,4
mul R24,R20
movw R30,R0
ldi R24,<_music_data+2
ldi R25,>_music_data+2
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
cpi R30,0
cpc R30,R31
brne L107
X14:
.dbline 162
ldi R20,45
.dbline -2
L106:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 170
.dbline 172
xcall _port_init
.dbline 173
ldi R24,255
out 0x1b,R24
.dbline 174
xcall _mic_startup
.dbline 175
clr R2
out 0x1b,R2
.dbline 176
ldi R16,20
ldi R17,0
xcall _delay_ms
xjmp L117
L116:
.dbline 178
.dbline 179
in R24,0x16
andi R24,240
sts _remote_in,R24
.dbline 180
mov R20,R24
clr R21
cpi R20,32
ldi R30,0
cpc R21,R30
breq L123
ldi R24,32
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L128
L127:
cpi R20,0
cpc R20,R21
breq L122
X15:
cpi R20,0
ldi R30,0
cpc R21,R30
brlt L119
L129:
cpi R20,16
ldi R30,0
cpc R21,R30
breq L125
xjmp L119
L128:
cpi R20,64
ldi R30,0
cpc R21,R30
breq L124
cpi R20,64
ldi R30,0
cpc R21,R30
brlt L119
L130:
cpi R20,128
ldi R30,0
cpc R21,R30
breq L126
xjmp L119
X16:
.dbline 181
L122:
.dbline 183
.dbline 184
xcall _stop
.dbline 185
ldi R16,10
ldi R17,0
xcall _delay_ms
.dbline 186
xjmp L120
L123:
.dbline 189
.dbline 190
xcall _turn_right
.dbline 191
xcall _play_1
.dbline 192
xjmp L120
L124:
.dbline 195
.dbline 196
xcall _backward
.dbline 197
xcall _play_2
.dbline 198
xjmp L120
L125:
.dbline 201
.dbline 202
xcall _forward
.dbline 203
xcall _play_3
.dbline 204
xjmp L120
L126:
.dbline 207
.dbline 208
xcall _turn_left
.dbline 209
xcall _play_4
.dbline 210
L119:
L120:
.dbline 213
L117:
.dbline 177
xjmp L116
X17:
.dbline -2
L115:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
_remote_in::
.blkb 1
.dbsym e remote_in _remote_in c
_delay_time2::
.blkb 2
.dbfile D:/icc/include/diy0206.c
.dbsym e delay_time2 _delay_time2 i
_delay_time1::
.blkb 2
.dbsym e delay_time1 _delay_time1 i
_work_status::
.blkb 1
.dbsym e work_status _work_status c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -