?? 5按鍵_sd卡mp3程序.lst
字號(hào):
102B 8053 LDD R5,Z+3
102C 01FE MOVW R30,R28
102D 8064 LDD R6,Z+4
102E 8075 LDD R7,Z+5
102F 8086 LDD R8,Z+6
1030 8097 LDD R9,Z+7
1031 2026 AND R2,R6
1032 2037 AND R3,R7
1033 2048 AND R4,R8
1034 2059 AND R5,R9
1035 01FE MOVW R30,R28
1036 8220 STD Z+0,R2
1037 8231 STD Z+1,R3
1038 8242 STD Z+2,R4
1039 8253 STD Z+3,R5
103A 01FE MOVW R30,R28
103B 8024 LDD R2,Z+4
103C 8035 LDD R3,Z+5
103D 8046 LDD R4,Z+6
103E 8057 LDD R5,Z+7
103F 01FE MOVW R30,R28
1040 8060 LDD R6,Z+0
1041 8071 LDD R7,Z+1
1042 8082 LDD R8,Z+2
1043 8093 LDD R9,Z+3
1044 1462 CP R6,R2
1045 0473 CPC R7,R3
1046 0484 CPC R8,R4
1047 0495 CPC R9,R5
1048 F449 BNE 0x1052
1049 E040 LDI R20,0
104A E050 LDI R21,0
104B E060 LDI R22,0
104C E070 LDI R23,0
104D 01FE MOVW R30,R28
104E 8340 STD Z+0,R20
104F 8351 STD Z+1,R21
1050 8362 STD Z+2,R22
1051 8373 STD Z+3,R23
1052 01FE MOVW R30,R28
1053 8100 LDD R16,Z+0
1054 8111 LDD R17,Z+1
1055 8122 LDD R18,Z+2
1056 8133 LDD R19,Z+3
1057 9660 ADIW R28,0x10
1058 940E13AE CALL pop_gset3
105A 9624 ADIW R28,4
105B 9508 RET
_key_port:
105C 2422 CLR R2
105D BA21 OUT 0x11,R2
105E EF8F LDI R24,0xFF
105F BB82 OUT 0x12,R24
1060 9508 RET
_main:
1061 DFFA RCALL _key_port
1062 940E0B13 CALL _spi_init
1064 940E0B24 CALL _mp3_port_init
1066 940E0B68 CALL _vs1011_init
1068 940E0B68 CALL _vs1011_init
106A 940E11BE CALL _sd_port_init
106C 940E122B CALL _SD_Init
106E 940E122B CALL _SD_Init
1070 940E12A7 CALL _uart0_init
1072 E580 LDI R24,0x50
1073 B98D OUT 0x0D,R24
1074 E081 LDI R24,1
1075 B98E OUT 0x0E,R24
1076 940E0C54 CALL _fatInit
1078 9020016A LDS R2,_Fat32Enabled
107A 2022 TST R2
107B F069 BEQ 0x1089
107C EF4F LDI R20,0xFF
107D EF5F LDI R21,0xFF
107E EF6F LDI R22,0xFF
107F E07F LDI R23,0xF
1080 935001BB STS _FAT_MASK+1,R21
1082 934001BA STS _FAT_MASK,R20
1084 937001BD STS _FAT_MASK+3,R23
1086 936001BC STS _FAT_MASK+2,R22
1088 C02F RJMP 0x10B8
1089 EF4F LDI R20,0xFF
108A EF5F LDI R21,0xFF
108B E060 LDI R22,0
108C E070 LDI R23,0
108D 935001BB STS _FAT_MASK+1,R21
108F 934001BA STS _FAT_MASK,R20
1091 937001BD STS _FAT_MASK+3,R23
1093 936001BC STS _FAT_MASK+2,R22
1095 C022 RJMP 0x10B8
1096 E083 LDI R24,3
1097 E090 LDI R25,0
1098 939001B8 STS _t+1,R25
109A 938001B7 STS _t,R24
109C C013 RJMP 0x10B0
109D 2422 CLR R2
109E 92200150 STS 0x150,R2
10A0 910001B7 LDS R16,_t
10A2 911001B8 LDS R17,_t+1
10A4 940E0DDE CALL _fatGetDirEntry
10A6 D013 RCALL _mp3_play
10A7 918001B7 LDS R24,_t
10A9 919001B8 LDS R25,_t+1
10AB 9601 ADIW R24,1
10AC 939001B8 STS _t+1,R25
10AE 938001B7 STS _t,R24
10B0 918001B7 LDS R24,_t
10B2 919001B8 LDS R25,_t+1
10B4 3382 CPI R24,0x32
10B5 E0E0 LDI R30,0
10B6 079E CPC R25,R30
10B7 F328 BCS 0x109D
10B8 CFDD RJMP 0x1096
10B9 9508 RET
_mp3_play:
t1 --> Y+1
rate --> Y+1
NextCluster --> Y+4
LBA --> Y+0
i --> R10
n --> R14
data_pointer --> R12
FirstClust --> Y+18
10BA 940E12D9 CALL push_arg4
10BC 940E13DA CALL push_gset5
10BE 9728 SBIW R28,0x8
10BF 01FE MOVW R30,R28
10C0 8822 LDD R2,Z+18
10C1 8833 LDD R3,Z+19
10C2 8844 LDD R4,Z+20
10C3 8855 LDD R5,Z+21
10C4 01FE MOVW R30,R28
10C5 8224 STD Z+4,R2
10C6 8235 STD Z+5,R3
10C7 8246 STD Z+6,R4
10C8 8257 STD Z+7,R5
10C9 C0EA RJMP 0x11B4
10CA 01FE MOVW R30,R28
10CB 8104 LDD R16,Z+4
10CC 8115 LDD R17,Z+5
10CD 8126 LDD R18,Z+6
10CE 8137 LDD R19,Z+7
10CF 940E0C1C CALL _fatClustToSect
10D1 01FE MOVW R30,R28
10D2 8300 STD Z+0,R16
10D3 8311 STD Z+1,R17
10D4 8322 STD Z+2,R18
10D5 8333 STD Z+3,R19
10D6 24AA CLR R10
10D7 24BB CLR R11
10D8 C0AC RJMP 0x1185
10D9 90200150 LDS R2,0x150
10DB 2022 TST R2
10DC F481 BNE 0x10ED
10DD 0115 MOVW R2,R10
10DE 2444 CLR R4
10DF 2455 CLR R5
10E0 01FE MOVW R30,R28
10E1 8060 LDD R6,Z+0
10E2 8071 LDD R7,Z+1
10E3 8082 LDD R8,Z+2
10E4 8093 LDD R9,Z+3
10E5 0C62 ADD R6,R2
10E6 1C73 ADC R7,R3
10E7 1C84 ADC R8,R4
10E8 1C95 ADC R9,R5
10E9 0183 MOVW R16,R6
10EA 0194 MOVW R18,R8
10EB 940E0BFF CALL _ReadBlock
10ED 9986 SBIC 0x10,6
10EE C00C RJMP 0x10FB
10EF EF0A LDI R16,0xFA
10F0 E010 LDI R17,0
10F1 940E11C0 CALL _delay_nus
10F3 9986 SBIC 0x10,6
10F4 C006 RJMP 0x10FB
10F5 E081 LDI R24,1
10F6 90200150 LDS R2,0x150
10F8 2628 EOR R2,R24
10F9 92200150 STS 0x150,R2
10FB 9984 SBIC 0x10,4
10FC C022 RJMP 0x111F
10FD EF0A LDI R16,0xFA
10FE E010 LDI R17,0
10FF 940E11C0 CALL _delay_nus
1101 9984 SBIC 0x10,4
1102 C01C RJMP 0x111F
1103 9180014E LDS R24,0x14E
1105 9190014F LDS R25,0x14F
1107 5F8E SUBI R24,0xFE
1108 4F9D SBCI R25,0xFD
1109 9390014F STS 0x14F,R25
110B 9380014E STS 0x14E,R24
110D 3F80 CPI R24,0xF0
110E EFE0 LDI R30,0xF0
110F 079E CPC R25,R30
1110 F038 BCS 0x1118
1111 EF80 LDI R24,0xF0
1112 EF90 LDI R25,0xF0
1113 9390014F STS 0x14F,R25
1115 9380014E STS 0x14E,R24
1117 C007 RJMP 0x111F
1118 9120014E LDS R18,0x14E
111A 9130014F LDS R19,0x14F
111C E00B LDI R16,0xB
111D 940E0B2D CALL _vs1011_cmd_write
111F 9985 SBIC 0x10,5
1120 C025 RJMP 0x1146
1121 EF0A LDI R16,0xFA
1122 E010 LDI R17,0
1123 940E11C0 CALL _delay_nus
1125 9985 SBIC 0x10,5
1126 C01F RJMP 0x1146
1127 9180014E LDS R24,0x14E
1129 9190014F LDS R25,0x14F
112B 5082 SUBI R24,2
112C 4092 SBCI R25,2
112D 9390014F STS 0x14F,R25
112F 9380014E STS 0x14E,R24
1131 E085 LDI R24,5
1132 E095 LDI R25,5
1133 9020014E LDS R2,0x14E
1135 9030014F LDS R3,0x14F
1137 1582 CP R24,R2
1138 0593 CPC R25,R3
1139 F028 BCS 0x113F
113A 9390014F STS 0x14F,R25
113C 9380014E STS 0x14E,R24
113E C007 RJMP 0x1146
113F 9120014E LDS R18,0x14E
1141 9130014F LDS R19,0x14F
1143 E00B LDI R16,0xB
1144 940E0B2D CALL _vs1011_cmd_write
1146 9983 SBIC 0x10,3
1147 C007 RJMP 0x114F
1148 EF0A LDI R16,0xFA
1149 E010 LDI R17,0
114A 940E11C0 CALL _delay_nus
114C 9983 SBIC 0x10,3
114D C001 RJMP 0x114F
114E C066 RJMP 0x11B5
114F 9982 SBIC 0x10,2
1150 C010 RJMP 0x1161
1151 EF0A LDI R16,0xFA
1152 E010 LDI R17,0
1153 940E11C0 CALL _delay_nus
1155 9982 SBIC 0x10,2
1156 C00A RJMP 0x1161
1157 918001B7 LDS R24,_t
1159 919001B8 LDS R25,_t+1
115B 9702 SBIW R24,2
115C 939001B8 STS _t+1,R25
115E 938001B7 STS _t,R24
1160 C054 RJMP 0x11B5
1161 24CC CLR R12
1162 24DD CLR R13
1163 C019 RJMP 0x117D
1164 9BB2 SBIS 0x16,2
1165 C011 RJMP 0x1177
1166 24EE CLR R14
1167 C00C RJMP 0x1174
1168 EB8E LDI R24,0xBE
1169 E091 LDI R25,1
116A 01F6 MOVW R30,R12
116B 0FE8 ADD R30,R24
116C 1FF9 ADC R31,R25
116D 8100 LDD R16,Z+0
116E 940E0B41 CALL _vs1011_data_write
1170 01C6 MOVW R24,R12
1171 9601 ADIW R24,1
1172 016C MOVW R12,R24
1173 94E3 INC R14
1174 2D8E MOV R24,R14
1175 3280 CPI R24,0x20
1176 F388 BCS 0x1168
1177 01C6 MOVW R24,R12
1178 3F8F CPI R24,0xFF
1179 E0E1 LDI R30,1
117A 079E CPC R25,R30
117B F409 BNE 0x117D
117C C005 RJMP 0x1182
117D 01C6 MOVW R24,R12
117E 3080 CPI R24,0
117F E0E2 LDI R30,2
1180 079E CPC R25,R30
1181 F310 BCS 0x1164
1182 01C5 MOVW R24,R10
1183 9601 ADIW R24,1
1184 015C MOVW R10,R24
1185 90200162 LDS R2,_SectorsPerCluster
1187 90300163 LDS R3,_SectorsPerCluster+1
1189 14A2 CP R10,R2
118A 04B3 CPC R11,R3
118B F408 BCC 0x118D
118C CF4C RJMP 0x10D9
118D 01FE MOVW R30,R28
118E 8104 LDD R16,Z+4
118F 8115 LDD R17,Z+5
1190 8126 LDD R18,Z+6
1191 8137 LDD R19,Z+7
1192 940E0FAA CALL _fatNextCluster
1194 01FE MOVW R30,R28
1195 8304 STD Z+4,R16
1196 8315 STD Z+5,R17
1197 8326 STD Z+6,R18
1198 8337 STD Z+7,R19
1199 EF46 LDI R20,0xF6
119A EF5F LDI R21,0xFF
119B EF6F LDI R22,0xFF
119C EF7F LDI R23,0xFF
119D 904001BC LDS R4,_FAT_MASK+2
119F 905001BD LDS R5,_FAT_MASK+3
11A1 902001BA LDS R2,_FAT_MASK
11A3 903001BB LDS R3,_FAT_MASK+1
11A5 2224 AND R2,R20
11A6 2235 AND R3,R21
11A7 2246 AND R4,R22
11A8 2257 AND R5,R23
11A9 01FE MOVW R30,R28
11AA 8064 LDD R6,Z+4
11AB 8075 LDD R7,Z+5
11AC 8086 LDD R8,Z+6
11AD 8097 LDD R9,Z+7
11AE 1462 CP R6,R2
11AF 0473 CPC R7,R3
11B0 0484 CPC R8,R4
11B1 0495 CPC R9,R5
11B2 F008 BCS 0x11B4
11B3 C001 RJMP 0x11B5
11B4 CF15 RJMP 0x10CA
11B5 E003 LDI R16,3
11B6 E010 LDI R17,0
11B7 940E11C0 CALL _delay_nus
11B9 9628 ADIW R28,0x8
11BA 940E13B4 CALL pop_gset5
11BC 9624 ADIW R28,4
11BD 9508 RET
_sd_port_init:
11BE 9AC4 SBI 0x18,4
11BF 9508 RET
_delay_nus:
b --> R20
n --> R16
11C0 940E13B7 CALL push_gset1
11C2 E041 LDI R20,1
11C3 C001 RJMP 0x11C5
11C4 9543 INC R20
11C5 2E24 MOV R2,R20
11C6 2433 CLR R3
11C7 1620 CP R2,R16
11C8 0631 CPC R3,R17
11C9 F3D0 BCS 0x11C4
11CA 940E13BA CALL pop_gset1
11CC 9508 RET
_SD_Write_Command:
retry --> R12
tmp --> R10
arg --> Y+10
cmd --> R14
11CD 933A ST R19,-Y
11CE 932A ST R18,-Y
11CF 940E13DA CALL push_gset5
11D1 2EE0 MOV R14,R16
11D2 24CC CLR R12
11D3 EF0F LDI R16,0xFF
11D4 940E0B1A CALL _Write_Byte_SPI
11D6 98C4 CBI 0x18,4
11D7 2D0E MOV R16,R14
11D8 6400 ORI R16,0x40
11D9 940E0B1A CALL _Write_Byte_SPI
11DB E188 LDI R24,0x18
11DC E090 LDI R25,0
11DD 01FE MOVW R30,R28
11DE 8422 LDD R2,Z+10
11DF 8433 LDD R3,Z+11
11E0 8444 LDD R4,Z+12
11E1 8455 LDD R5,Z+13
11E2 938A ST R24,-Y
11E3 0181 MOVW R16,R2
11E4 0192 MOVW R18,R4
11E5 940E140F CALL lsr32
11E7 940E0B1A CALL _Write_Byte_SPI
11E9 01FE MOVW R30,R28
11EA 8422 LDD R2,Z+10
11EB 8433 LDD R3,Z+11
11EC 8444 LDD R4,Z+12
11ED 8455 LDD R5,Z+13
11EE 0112 MOVW R2,R4
11EF 2444 CLR R4
11F0 2455 CLR R5
11F1 2D02 MOV R16,R2
11F2 940E0B1A CALL _Write_Byte_SPI
11F4 E088 LDI R24,0x8
11F5 E090 LDI R25,0
11F6 01FE MOVW R30,R28
11F7 8422 LDD R2,Z+10
11F8 8433 LDD R3,Z+11
11F9 8444 LDD R4,Z+12
11FA 8455 LDD R5,Z+13
11FB 938A ST R24,-Y
11FC 0181 MOVW R16,R2
11FD 0192 MOVW R18,R4
11FE 940E140F CALL lsr32
1200 940E0B1A CALL _Write_Byte_SPI
1202 EF4F LDI R20,0xFF
1203 E050 LDI R21,0
1204 E060 LDI R22,0
1205 E070 LDI R23,0
1206 01FE MOVW R30,R28
1207 8422 LDD R2,Z+10
1208 8433 LDD R3,Z+11
1209 8444 LDD R4,Z+12
120A 8455 LDD R5,Z+13
120B 2224 AND R2,R20
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -