⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb.lst

📁 avr与PC机之间的通信
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -