📄 usb.lst
字号:
1133 .L88:
1134 .LM196:
1135 0498 60E0 ldi r22,lo8(0)
1136 049a 880F lsl r24
1137 .L91:
1138 049c 0E94 0000 call D12_SetEndpointStatus
1139 .L92:
1140 .LM197:
1141 04a0 60E0 ldi r22,lo8(0)
1142 04a2 80E0 ldi r24,lo8(0)
1143 04a4 90E0 ldi r25,hi8(0)
1144 04a6 0E94 0000 call single_transmit
1145 04aa 0895 ret
1146 .L87:
1147 .LM198:
1148 04ac 0E94 0000 call stall_ep0
1149 04b0 0895 ret
1150 /* epilogue: frame size=0 */
1151 04b2 0895 ret
1152 /* epilogue end (size=1) */
1153 /* function clear_feature size 59 (58) */
1154 .LFE29:
1156 .global set_feature
1158 set_feature:
1159 .LFB30:
1160 .LM199:
1161 /* prologue: frame size=0 */
1162 /* prologue end (size=0) */
1163 .LM200:
1164 04b4 8091 0000 lds r24,ControlData
1165 04b8 8F71 andi r24,lo8(31)
1166 .LM201:
1167 04ba 71F4 brne .L94
1168 .LM202:
1169 04bc 8091 0000 lds r24,ControlData+2
1170 04c0 9091 0000 lds r25,(ControlData+2)+1
1171 04c4 0197 sbiw r24,1
1172 04c6 69F5 brne .L96
1173 .LM203:
1174 /* #APP */
1175 04c8 F894 cli
1176 .LM204:
1177 /* #NOAPP */
1178 04ca 8091 0000 lds r24,bEPPflags
1179 04ce 8860 ori r24,lo8(8)
1180 04d0 8093 0000 sts bEPPflags,r24
1181 .LM205:
1182 /* #APP */
1183 04d4 7894 sei
1184 /* #NOAPP */
1185 04d6 1FC0 rjmp .L101
1186 .L94:
1187 .LM206:
1188 04d8 8230 cpi r24,lo8(2)
1189 04da 19F5 brne .L96
1190 04dc 8091 0000 lds r24,ControlData+2
1191 04e0 9091 0000 lds r25,(ControlData+2)+1
1192 04e4 892B or r24,r25
1193 04e6 E9F4 brne .L96
1194 .LM207:
1195 04e8 8091 0000 lds r24,ControlData+4
1196 04ec 8370 andi r24,lo8(3)
1197 .LM208:
1198 04ee 2091 0000 lds r18,ControlData+4
1199 04f2 3091 0000 lds r19,(ControlData+4)+1
1200 04f6 9927 clr r25
1201 04f8 27FF sbrs r18,7
1202 04fa 05C0 rjmp .L97
1203 .LM209:
1204 04fc 880F add r24,r24
1205 04fe 991F adc r25,r25
1206 0500 61E0 ldi r22,lo8(1)
1207 0502 860F add r24,r22
1208 0504 06C0 rjmp .L100
1209 .L97:
1210 .LM210:
1211 0506 61E0 ldi r22,lo8(1)
1212 0508 062E mov r0,r22
1213 050a 01C0 rjmp 2f
1214 050c 880F 1: lsl r24
1215 050e 0A94 2: dec r0
1216 0510 EAF7 brpl 1b
1217 .L100:
1218 0512 0E94 0000 call D12_SetEndpointStatus
1219 .L101:
1220 .LM211:
1221 0516 60E0 ldi r22,lo8(0)
1222 0518 80E0 ldi r24,lo8(0)
1223 051a 90E0 ldi r25,hi8(0)
1224 051c 0E94 0000 call single_transmit
1225 0520 0895 ret
1226 .L96:
1227 .LM212:
1228 0522 0E94 0000 call stall_ep0
1229 0526 0895 ret
1230 /* epilogue: frame size=0 */
1231 0528 0895 ret
1232 /* epilogue end (size=1) */
1233 /* function set_feature size 63 (62) */
1234 .LFE30:
1236 .global set_address
1238 set_address:
1239 .LFB31:
1240 .LM213:
1241 /* prologue: frame size=0 */
1242 /* prologue end (size=0) */
1243 .LM214:
1244 052a 8091 0000 lds r24,ControlData+2
1245 052e 61E0 ldi r22,lo8(1)
1246 0530 8F77 andi r24,lo8(127)
1247 0532 0E94 0000 call D12_SetAddressEnable
1248 .LM215:
1249 0536 60E0 ldi r22,lo8(0)
1250 0538 80E0 ldi r24,lo8(0)
1251 053a 90E0 ldi r25,hi8(0)
1252 053c 0E94 0000 call single_transmit
1253 /* epilogue: frame size=0 */
1254 0540 0895 ret
1255 /* epilogue end (size=1) */
1256 /* function set_address size 12 (11) */
1257 .LFE31:
1259 .global D12_ReadChipID
1261 D12_ReadChipID:
1262 .LFB32:
1263 .LM216:
1264 /* prologue: frame size=0 */
1265 0542 CF93 push r28
1266 0544 DF93 push r29
1267 /* prologue end (size=2) */
1268 .LM217:
1269 0546 8091 0000 lds r24,bEPPflags
1270 054a 84FD sbrc r24,4
1271 054c 01C0 rjmp .L104
1272 .LM218:
1273 /* #APP */
1274 054e F894 cli
1275 /* #NOAPP */
1276 .L104:
1277 .LM219:
1278 0550 6DEF ldi r22,lo8(-3)
1279 0552 83E0 ldi r24,lo8(3)
1280 0554 0E94 0000 call outportb
1281 .LM220:
1282 0558 82E0 ldi r24,lo8(2)
1283 055a 0E94 0000 call inportb
1284 055e C82F mov r28,r24
1285 0560 DD27 clr r29
1286 .LM221:
1287 0562 82E0 ldi r24,lo8(2)
1288 0564 0E94 0000 call inportb
1289 0568 9927 clr r25
1290 .LM222:
1291 056a 982F mov r25,r24
1292 056c 8827 clr r24
1293 056e C80F add r28,r24
1294 0570 D91F adc r29,r25
1295 .LM223:
1296 0572 8091 0000 lds r24,bEPPflags
1297 0576 84FD sbrc r24,4
1298 0578 01C0 rjmp .L105
1299 .LM224:
1300 /* #APP */
1301 057a 7894 sei
1302 /* #NOAPP */
1303 .L105:
1304 .LM225:
1305 057c CE01 movw r24,r28
1306 /* epilogue: frame size=0 */
1307 057e DF91 pop r29
1308 0580 CF91 pop r28
1309 0582 0895 ret
1310 /* epilogue end (size=3) */
1311 /* function D12_ReadChipID size 35 (30) */
1312 .LFE32:
1314 .global code_transmit
1316 code_transmit:
1317 .LFB33:
1318 .LM226:
1319 /* prologue: frame size=0 */
1320 /* prologue end (size=0) */
1321 0584 AC01 movw r20,r24
1322 .LM227:
1323 0586 1092 0000 sts (ControlData+10)+1,__zero_reg__
1324 058a 1092 0000 sts ControlData+10,__zero_reg__
1325 .LM228:
1326 058e 8091 0000 lds r24,ControlData+8
1327 0592 9091 0000 lds r25,(ControlData+8)+1
1328 0596 6817 cp r22,r24
1329 0598 7907 cpc r23,r25
1330 059a 20F4 brsh .L107
1331 .LM229:
1332 059c 7093 0000 sts (ControlData+8)+1,r23
1333 05a0 6093 0000 sts ControlData+8,r22
1334 .L107:
1335 .LM230:
1336 05a4 5093 0000 sts (ControlData+12)+1,r21
1337 05a8 4093 0000 sts ControlData+12,r20
1338 .LM231:
1339 05ac 8091 0000 lds r24,ControlData+8
1340 05b0 9091 0000 lds r25,(ControlData+8)+1
1341 05b4 4097 sbiw r24,16
1342 05b6 B0F0 brlo .L108
1343 .LM232:
1344 05b8 60E1 ldi r22,lo8(16)
1345 05ba 81E0 ldi r24,lo8(1)
1346 05bc 0E94 0000 call D12_WriteEndpoint
1347 .LM233:
1348 05c0 8091 0000 lds r24,ControlData+10
1349 05c4 9091 0000 lds r25,(ControlData+10)+1
1350 05c8 4096 adiw r24,16
1351 05ca 9093 0000 sts (ControlData+10)+1,r25
1352 05ce 8093 0000 sts ControlData+10,r24
1353 .LM234:
1354 /* #APP */
1355 05d2 F894 cli
1356 .LM235:
1357 /* #NOAPP */
1358 05d4 8091 0000 lds r24,bEPPflags
1359 05d8 8F79 andi r24,lo8(-97)
1360 05da 8062 ori r24,lo8(32)
1361 05dc 8093 0000 sts bEPPflags,r24
1362 .LM236:
1363 /* #APP */
1364 05e0 7894 sei
1365 /* #NOAPP */
1366 05e2 0895 ret
1367 .L108:
1368 .LM237:
1369 05e4 6091 0000 lds r22,ControlData+8
1370 05e8 81E0 ldi r24,lo8(1)
1371 05ea 0E94 0000 call D12_WriteEndpoint
1372 .LM238:
1373 05ee 8091 0000 lds r24,ControlData+10
1374 05f2 9091 0000 lds r25,(ControlData+10)+1
1375 05f6 2091 0000 lds r18,ControlData+8
1376 05fa 3091 0000 lds r19,(ControlData+8)+1
1377 05fe 820F add r24,r18
1378 0600 931F adc r25,r19
1379 0602 9093 0000 sts (ControlData+10)+1,r25
1380 0606 8093 0000 sts ControlData+10,r24
1381 .LM239:
1382 /* #APP */
1383 060a F894 cli
1384 .LM240:
1385 /* #NOAPP */
1386 060c 8091 0000 lds r24,bEPPflags
1387 0610 8F79 andi r24,lo8(-97)
1388 0612 8093 0000 sts bEPPflags,r24
1389 .LM241:
1390 /* #APP */
1391 0616 7894 sei
1392 /* #NOAPP */
1393 0618 0895 ret
1394 /* epilogue: frame size=0 */
1395 061a 0895 ret
1396 /* epilogue end (size=1) */
1397 /* function code_transmit size 81 (80) */
1398 .LFE33:
1400 .global get_descriptor
1402 get_descriptor:
1403 .LFB34:
1404 .LM242:
1405 /* prologue: frame size=0 */
1406 /* prologue end (size=0) */
1407 .LM243:
1408 061c 8091 0000 lds r24,ControlData+3
1409 .LM244:
1410 0620 8130 cpi r24,lo8(1)
1411 0622 29F4 brne .L111
1412 .LM245:
1413 0624 62E1 ldi r22,lo8(18)
1414 0626 70E0 ldi r23,hi8(18)
1415 0628 80E0 ldi r24,lo8(DeviceDescr)
1416 062a 90E0 ldi r25,hi8(DeviceDescr)
1417 062c 06C0 rjmp .L115
1418 .L111:
1419 .LM246:
1420 062e 8230 cpi r24,lo8(2)
1421 0630 39F4 brne .L113
1422 .LM247:
1423 0632 6EE2 ldi r22,lo8(46)
1424 0634 70E0 ldi r23,hi8(46)
1425 0636 80E0 ldi r24,lo8(TRANFER_DESC)
1426 0638 90E0 ldi r25,hi8(TRANFER_DESC)
1427 .L115:
1428 063a 0E94 0000 call code_transmit
1429 063e 0895 ret
1430 .L113:
1431 .LM248:
1432 0640 0E94 0000 call stall_ep0
1433 0644 0895 ret
1434 /* epilogue: frame size=0 */
1435 0646 0895 ret
1436 /* epilogue end (size=1) */
1437 /* function get_descriptor size 22 (21) */
1438 .LFE34:
1440 .global get_configuration
1442 get_configuration:
1443 .LFB35:
1444 .LM249:
1445 /* prologue: frame size=1 */
1446 0648 CF93 push r28
1447 064a DF93 push r29
1448 064c CDB7 in r28,__SP_L__
1449 064e DEB7 in r29,__SP_H__
1450 0650 2197 sbiw r28,1
1451 0652 0FB6 in __tmp_reg__,__SREG__
1452 0654 F894 cli
1453 0656 DEBF out __SP_H__,r29
1454 0658 0FBE out __SREG__,__tmp_reg__
1455 065a CDBF out __SP_L__,r28
1456 /* prologue end (size=10) */
1457 .LM250:
1458 065c 8091 0000 lds r24,bEPPflags
1459 0660 881F rol r24
1460 0662 8827 clr r24
1461 0664 881F rol r24
1462 0666 8983 std Y+1,r24
1463 .LM251:
1464 0668 61E0 ldi r22,lo8(1)
1465 066a CE01 movw r24,r28
1466 066c 0196 adiw r24,1
1467 066e 0E94 0000 call single_transmit
1468 /* epilogue: frame size=1 */
1469 0672 2196 adiw r28,1
1470 0674 0FB6 in __tmp_reg__,__SREG__
1471 0676 F894 cli
1472 0678 DEBF out __SP_H__,r29
1473 067a 0FBE out __SREG__,__tmp_reg__
1474 067c CDBF out __SP_L__,r28
1475 067e DF91 pop r29
1476 0680 CF91 pop r28
1477 0682 0895 ret
1478 /* epilogue end (size=9) */
1479 /* function get_configuration size 30 (11) */
1480 .LFE35:
1482 .global set_configuration
1484 set_configuration:
1485 .LFB36:
1486 .LM252:
1487 /* prologue: frame size=0 */
1488 /* prologue end (size=0) */
1489 .LM253:
1490 0684 8091 0000 lds r24,ControlData+2
1491 0688 9091 0000 lds r25,(ControlData+2)+1
1492 068c 0097 sbiw r24,0
1493 068e 69F4 brne .L118
1494 .LM254:
1495 0690 60E0 ldi r22,lo8(0)
1496 0692 0E94 0000 call single_transmit
1497 .LM255:
1498 /* #APP */
1499 0696 F894 cli
1500 .LM256:
1501 /* #NOAPP */
1502 0698 8091 0000 lds r24,bEPPflags
1503 069c 8F77 andi r24,lo8(127)
1504 069e 8093 0000 sts bEPPflags,r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -