📄 music.lst
字号:
0125 2F20 MOV R18,R16
0126 2F31 MOV R19,R17
0127 E18A LDI R24,0x1A
0128 E090 LDI R25,0
0129 2D02 MOV R16,R2
012A 2D13 MOV R17,R3
012B 0F08 ADD R16,R24
012C 1F19 ADC R17,R25
012D D04C RCALL lpm16
012E DFA4 RCALL _sound
(0106) i++;
012F 9543 INC R20
(0107) }
0130 E022 LDI R18,2
0131 E030 LDI R19,0
0132 2F04 MOV R16,R20
0133 2711 CLR R17
0134 D053 RCALL lsl16
0135 2E20 MOV R2,R16
0136 2E31 MOV R3,R17
0137 E18C LDI R24,0x1C
0138 E090 LDI R25,0
0139 0E28 ADD R2,R24
013A 1E39 ADC R3,R25
013B 2D02 MOV R16,R2
013C 2D13 MOV R17,R3
013D D03C RCALL lpm16
013E 3000 CPI R16,0
013F 0701 CPC R16,R17
0140 F6C1 BNE 0x0119
(0108) i=0;
0141 2744 CLR R20
(0109) }
0142 CFED RJMP 0x0130
(0110) }FILE: <library>
0143 9508 RET
push_gset1:
0144 935A ST R21,-Y
0145 934A ST R20,-Y
0146 9508 RET
pop_gset1:
0147 E0E1 LDI R30,1
pop:
0148 9149 LD R20,Y+
0149 9159 LD R21,Y+
014A FDE0 SBRC R30,0
014B 9508 RET
014C 9169 LD R22,Y+
014D 9179 LD R23,Y+
014E FDE1 SBRC R30,1
014F 9508 RET
0150 90A9 LD R10,Y+
0151 90B9 LD R11,Y+
0152 FDE2 SBRC R30,2
0153 9508 RET
0154 90C9 LD R12,Y+
0155 90D9 LD R13,Y+
0156 FDE3 SBRC R30,3
0157 9508 RET
0158 90E9 LD R14,Y+
0159 90F9 LD R15,Y+
015A 9508 RET
push_gset2:
015B 937A ST R23,-Y
015C 936A ST R22,-Y
015D CFE6 RJMP push_gset1
push_gset3:
015E 92BA ST R11,-Y
015F 92AA ST R10,-Y
0160 CFFA RJMP push_gset2
push_gset4:
0161 92DA ST R13,-Y
0162 92CA ST R12,-Y
0163 CFFA RJMP push_gset3
pop_gset4:
0164 E0E8 LDI R30,0x8
0165 CFE2 RJMP pop
lpm32:
0166 93EA ST R30,-Y
0167 93FA ST R31,-Y
0168 920A ST R0,-Y
0169 2FE0 MOV R30,R16
016A 2FF1 MOV R31,R17
016B 95C8 LPM
016C 2D00 MOV R16,R0
016D 9631 ADIW R30,1
016E 95C8 LPM
016F 2D10 MOV R17,R0
0170 9631 ADIW R30,1
0171 95C8 LPM
0172 2D20 MOV R18,R0
0173 9631 ADIW R30,1
0174 95C8 LPM
0175 2D30 MOV R19,R0
0176 9009 LD R0,Y+
0177 91F9 LD R31,Y+
0178 91E9 LD R30,Y+
0179 9508 RET
lpm16:
017A 93EA ST R30,-Y
017B 93FA ST R31,-Y
017C 920A ST R0,-Y
017D 2FE0 MOV R30,R16
017E 2FF1 MOV R31,R17
017F 95C8 LPM
0180 2D00 MOV R16,R0
0181 9631 ADIW R30,1
0182 95C8 LPM
0183 2D10 MOV R17,R0
0184 9009 LD R0,Y+
0185 91F9 LD R31,Y+
0186 91E9 LD R30,Y+
0187 9508 RET
lsl16:
0188 2322 TST R18
0189 F021 BEQ 0x018E
018A 0F00 LSL R16
018B 1F11 ROL R17
018C 952A DEC R18
018D CFFA RJMP lsl16
018E 9508 RET
copy_quot:
018F 2D08 MOV R16,R8
0190 2D19 MOV R17,R9
0191 2D2A MOV R18,R10
0192 2D3B MOV R19,R11
0193 9508 RET
long_prolog:
0194 928A ST R8,-Y
0195 929A ST R9,-Y
0196 92AA ST R10,-Y
0197 92BA ST R11,-Y
0198 93EA ST R30,-Y
0199 92CA ST R12,-Y
019A 938A ST R24,-Y
019B 939A ST R25,-Y
019C 93AA ST R26,-Y
019D 93BA ST R27,-Y
019E 858A LDD R24,10+Y
019F 859B LDD R25,11+Y
01A0 85AC LDD R26,12+Y
01A1 85BD LDD R27,13+Y
01A2 9508 RET
long_epilog:
01A3 91B9 LD R27,Y+
01A4 91A9 LD R26,Y+
01A5 9199 LD R25,Y+
01A6 9189 LD R24,Y+
01A7 90C9 LD R12,Y+
01A8 91E9 LD R30,Y+
01A9 90B9 LD R11,Y+
01AA 90A9 LD R10,Y+
01AB 9099 LD R9,Y+
01AC 9089 LD R8,Y+
01AD 9624 ADIW R28,4
01AE 9508 RET
NEGMANT1:
01AF 9500 COM R16
01B0 9510 COM R17
01B1 9520 COM R18
01B2 9530 COM R19
01B3 5F0F SUBI R16,0xFF
01B4 4F1F SBCI R17,0xFF
01B5 4F2F SBCI R18,0xFF
01B6 4F3F SBCI R19,0xFF
01B7 9508 RET
NEGMANT2:
01B8 9580 COM R24
01B9 9590 COM R25
01BA 95A0 COM R26
01BB 95B0 COM R27
01BC 5F8F SUBI R24,0xFF
01BD 4F9F SBCI R25,0xFF
01BE 4FAF SBCI R26,0xFF
01BF 4FBF SBCI R27,0xFF
01C0 9508 RET
tstzero1:
TSTZERO1:
01C1 24CC CLR R12
01C2 2AC0 OR R12,R16
01C3 2AC1 OR R12,R17
01C4 2AC2 OR R12,R18
01C5 2AC3 OR R12,R19
01C6 9508 RET
TSTZERO2:
tstzero2:
01C7 24CC CLR R12
01C8 2AC8 OR R12,R24
01C9 2AC9 OR R12,R25
01CA 2ACA OR R12,R26
01CB 2ACB OR R12,R27
01CC 9508 RET
div32s:
01CD DFC6 RCALL long_prolog
01CE D00C RCALL SDIV
01CF CFD3 RJMP long_epilog
div32u:
01D0 DFC3 RCALL long_prolog
01D1 D014 RCALL UDIV
01D2 CFD0 RJMP long_epilog
mod32s:
01D3 DFC0 RCALL long_prolog
01D4 D006 RCALL SDIV
01D5 DFB9 RCALL copy_quot
01D6 CFCC RJMP long_epilog
mod32u:
01D7 DFBC RCALL long_prolog
01D8 D00D RCALL UDIV
01D9 DFB5 RCALL copy_quot
01DA CFC8 RJMP long_epilog
SDIV:
01DB 2333 TST R19
01DC F02A BMI 0x01E2
01DD 23BB TST R27
01DE F43A BPL 0x01E6
01DF DFD8 RCALL NEGMANT2
01E0 D005 RCALL UDIV
01E1 CFCD RJMP NEGMANT1
01E2 DFCC RCALL NEGMANT1
01E3 23BB TST R27
01E4 F7DA BPL 0x01E0
01E5 DFD2 RCALL NEGMANT2
UDIV:
01E6 DFE0 RCALL TSTZERO2
01E7 F131 BEQ 0x020E
01E8 DFD8 RCALL tstzero1
01E9 F101 BEQ 0x020A
01EA 2488 CLR R8
01EB 2499 CLR R9
01EC 24AA CLR R10
01ED 24BB CLR R11
01EE 0F00 LSL R16
01EF 1F11 ROL R17
01F0 1F22 ROL R18
01F1 1F33 ROL R19
01F2 E2E0 LDI R30,0x20
01F3 1C88 ROL R8
01F4 1C99 ROL R9
01F5 1CAA ROL R10
01F6 1CBB ROL R11
01F7 1688 CP R8,R24
01F8 0699 CPC R9,R25
01F9 06AA CPC R10,R26
01FA 06BB CPC R11,R27
01FB F030 BCS 0x0202
01FC 1A88 SUB R8,R24
01FD 0A99 SBC R9,R25
01FE 0AAA SBC R10,R26
01FF 0ABB SBC R11,R27
0200 9408 BSET 0
0201 C001 RJMP 0x0203
0202 9488 BCLR 0
0203 1F00 ROL R16
0204 1F11 ROL R17
0205 1F22 ROL R18
0206 1F33 ROL R19
0207 95EA DEC R30
0208 F751 BNE 0x01F3
0209 9508 RET
020A 2488 CLR R8
020B 2499 CLR R9
020C 24AA CLR R10
020D 24BB CLR R11
020E 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -