📄 usb_to_232.lss
字号:
352: 2f 93 push r18
00000354 <shortcutEntry>:
354: 31 e0 ldi r19, 0x01 ; 1
356: 12 e0 ldi r17, 0x02 ; 2
00000358 <waitNoChange>:
358: 06 b3 in r16, 0x16 ; 22
35a: 10 27 eor r17, r16
35c: 10 fd sbrc r17, 0
35e: 32 e0 ldi r19, 0x02 ; 2
360: 10 2f mov r17, r16
362: 3a 95 dec r19
364: c9 f7 brne .-14 ; 0x358 <waitNoChange>
366: 00 fd sbrc r16, 0
368: eb c0 rjmp .+470 ; 0x540 <sofError>
36a: 06 b3 in r16, 0x16 ; 22
36c: 10 27 eor r17, r16
36e: 20 e0 ldi r18, 0x00 ; 0
370: 10 fb bst r17, 0
372: 20 f9 bld r18, 0
374: df 93 push r29
376: 16 b3 in r17, 0x16 ; 22
378: 01 27 eor r16, r17
37a: 00 fb bst r16, 0
37c: 21 f9 bld r18, 1
37e: cf 93 push r28
380: c0 91 10 01 lds r28, 0x0110
384: 06 b3 in r16, 0x16 ; 22
386: 10 27 eor r17, r16
388: 10 fb bst r17, 0
38a: 22 f9 bld r18, 2
38c: 3b e0 ldi r19, 0x0B ; 11
38e: d0 e0 ldi r29, 0x00 ; 0
390: 4f 93 push r20
392: 16 b3 in r17, 0x16 ; 22
394: 01 27 eor r16, r17
396: 00 fb bst r16, 0
398: 23 f9 bld r18, 3
39a: 4f ef ldi r20, 0xFF ; 255
39c: 00 00 nop
39e: 55 c0 rjmp .+170 ; 0x44a <rxbit4>
000003a0 <shortcutToStart>:
3a0: b0 9b sbis 0x16, 0 ; 22
3a2: fe cf rjmp .-4 ; 0x3a0 <shortcutToStart>
3a4: b0 9b sbis 0x16, 0 ; 22
3a6: 06 c0 rjmp .+12 ; 0x3b4 <foundK1>
3a8: b0 9b sbis 0x16, 0 ; 22
3aa: 04 c0 rjmp .+8 ; 0x3b4 <foundK1>
3ac: b0 9b sbis 0x16, 0 ; 22
3ae: 02 c0 rjmp .+4 ; 0x3b4 <foundK1>
3b0: 00 00 nop
3b2: 00 c0 rjmp .+0 ; 0x3b4 <foundK1>
000003b4 <foundK1>:
3b4: df 91 pop r29
3b6: 00 c0 rjmp .+0 ; 0x3b8 <foundK1+0x4>
3b8: cd cf rjmp .-102 ; 0x354 <shortcutEntry>
000003ba <stuffed5>:
3ba: 16 b3 in r17, 0x16 ; 22
3bc: 13 70 andi r17, 0x03 ; 3
3be: 79 f1 breq .+94 ; 0x41e <se0a>
3c0: 4f 7d andi r20, 0xDF ; 223
3c2: 20 62 ori r18, 0x20 ; 32
3c4: 13 c0 rjmp .+38 ; 0x3ec <rxbit6>
000003c6 <stuffed6>:
3c6: 06 b3 in r16, 0x16 ; 22
3c8: 03 70 andi r16, 0x03 ; 3
3ca: 49 f1 breq .+82 ; 0x41e <se0a>
3cc: 4f 7b andi r20, 0xBF ; 191
3ce: 20 64 ori r18, 0x40 ; 64
3d0: 15 c0 rjmp .+42 ; 0x3fc <rxbit7>
000003d2 <stuffed7>:
3d2: 03 70 andi r16, 0x03 ; 3
3d4: 21 f1 breq .+72 ; 0x41e <se0a>
3d6: 10 2f mov r17, r16
3d8: 20 68 ori r18, 0x80 ; 128
3da: 06 b3 in r16, 0x16 ; 22
3dc: 19 c0 rjmp .+50 ; 0x410 <unstuffed7>
000003de <stuffed0>:
3de: 06 b3 in r16, 0x16 ; 22
3e0: 03 70 andi r16, 0x03 ; 3
3e2: e9 f0 breq .+58 ; 0x41e <se0a>
3e4: 4e 7f andi r20, 0xFE ; 254
3e6: 21 60 ori r18, 0x01 ; 1
3e8: 18 c0 rjmp .+48 ; 0x41a <rxbit1>
000003ea <rxLoop>:
3ea: 39 f3 breq .-50 ; 0x3ba <stuffed5>
000003ec <rxbit6>:
3ec: 06 b3 in r16, 0x16 ; 22
3ee: 03 70 andi r16, 0x03 ; 3
3f0: b1 f0 breq .+44 ; 0x41e <se0a>
3f2: 10 27 eor r17, r16
3f4: 10 fb bst r17, 0
3f6: 26 f9 bld r18, 6
3f8: 22 30 cpi r18, 0x02 ; 2
3fa: 28 f3 brcs .-54 ; 0x3c6 <stuffed6>
000003fc <rxbit7>:
3fc: 16 b3 in r17, 0x16 ; 22
3fe: 01 27 eor r16, r17
400: 00 fb bst r16, 0
402: 27 f9 bld r18, 7
404: 42 27 eor r20, r18
406: 49 93 st Y+, r20
408: 4f ef ldi r20, 0xFF ; 255
0000040a <rxbit0>:
40a: 06 b3 in r16, 0x16 ; 22
40c: 24 30 cpi r18, 0x04 ; 4
40e: 08 f3 brcs .-62 ; 0x3d2 <stuffed7>
00000410 <unstuffed7>:
410: 10 27 eor r17, r16
412: 10 fb bst r17, 0
414: 20 f9 bld r18, 0
416: 29 7f andi r18, 0xF9 ; 249
418: 11 f3 breq .-60 ; 0x3de <stuffed0>
0000041a <rxbit1>:
41a: 16 b3 in r17, 0x16 ; 22
41c: 13 70 andi r17, 0x03 ; 3
0000041e <se0a>:
41e: e1 f1 breq .+120 ; 0x498 <se0>
420: 01 27 eor r16, r17
422: 00 fb bst r16, 0
424: 21 f9 bld r18, 1
426: 23 7f andi r18, 0xF3 ; 243
428: f1 f0 breq .+60 ; 0x466 <stuffed1>
0000042a <rxbit2>:
42a: 06 b3 in r16, 0x16 ; 22
42c: 03 70 andi r16, 0x03 ; 3
42e: a1 f1 breq .+104 ; 0x498 <se0>
430: 10 27 eor r17, r16
432: 10 fb bst r17, 0
434: 22 f9 bld r18, 2
436: 27 7e andi r18, 0xE7 ; 231
438: e1 f0 breq .+56 ; 0x472 <stuffed2>
0000043a <rxbit3>:
43a: 16 b3 in r17, 0x16 ; 22
43c: 01 27 eor r16, r17
43e: 00 fb bst r16, 0
440: 23 f9 bld r18, 3
442: 3a 95 dec r19
444: 41 f1 breq .+80 ; 0x496 <overflow>
446: 2f 7c andi r18, 0xCF ; 207
448: d1 f0 breq .+52 ; 0x47e <stuffed3>
0000044a <rxbit4>:
44a: 06 b3 in r16, 0x16 ; 22
44c: 03 70 andi r16, 0x03 ; 3
44e: 21 f1 breq .+72 ; 0x498 <se0>
450: 10 27 eor r17, r16
452: 10 fb bst r17, 0
454: 24 f9 bld r18, 4
456: 2f 79 andi r18, 0x9F ; 159
458: c1 f0 breq .+48 ; 0x48a <stuffed4>
0000045a <rxbit5>:
45a: 16 b3 in r17, 0x16 ; 22
45c: 01 27 eor r16, r17
45e: 00 fb bst r16, 0
460: 25 f9 bld r18, 5
462: 2f 73 andi r18, 0x3F ; 63
464: c2 cf rjmp .-124 ; 0x3ea <rxLoop>
00000466 <stuffed1>:
466: 16 b3 in r17, 0x16 ; 22
468: 13 70 andi r17, 0x03 ; 3
46a: b1 f0 breq .+44 ; 0x498 <se0>
46c: 4d 7f andi r20, 0xFD ; 253
46e: 22 60 ori r18, 0x02 ; 2
470: dc cf rjmp .-72 ; 0x42a <rxbit2>
00000472 <stuffed2>:
472: 06 b3 in r16, 0x16 ; 22
474: 03 70 andi r16, 0x03 ; 3
476: 81 f0 breq .+32 ; 0x498 <se0>
478: 4b 7f andi r20, 0xFB ; 251
47a: 24 60 ori r18, 0x04 ; 4
47c: de cf rjmp .-68 ; 0x43a <rxbit3>
0000047e <stuffed3>:
47e: 16 b3 in r17, 0x16 ; 22
480: 13 70 andi r17, 0x03 ; 3
482: 51 f0 breq .+20 ; 0x498 <se0>
484: 47 7f andi r20, 0xF7 ; 247
486: 28 60 ori r18, 0x08 ; 8
488: e0 cf rjmp .-64 ; 0x44a <rxbit4>
0000048a <stuffed4>:
48a: 06 b3 in r16, 0x16 ; 22
48c: 03 70 andi r16, 0x03 ; 3
48e: 21 f0 breq .+8 ; 0x498 <se0>
490: 4f 7e andi r20, 0xEF ; 239
492: 20 61 ori r18, 0x10 ; 16
494: e2 cf rjmp .-60 ; 0x45a <rxbit5>
00000496 <overflow>:
496: 3d c0 rjmp .+122 ; 0x512 <rxDoReturn>
00000498 <se0>:
498: 3c 2f mov r19, r28
49a: c0 91 10 01 lds r28, 0x0110
49e: 3c 1b sub r19, r28
4a0: 00 e4 ldi r16, 0x40 ; 64
4a2: 33 30 cpi r19, 0x03 ; 3
4a4: 0a bf out 0x3a, r16 ; 58
4a6: a8 f1 brcs .+106 ; 0x512 <rxDoReturn>
4a8: 08 81 ld r16, Y
4aa: 19 81 ldd r17, Y+1 ; 0x01
4ac: 41 2f mov r20, r17
4ae: 1f 77 andi r17, 0x7F ; 127
4b0: 20 91 11 01 lds r18, 0x0111
4b4: 0d 32 cpi r16, 0x2D ; 45
4b6: 89 f1 breq .+98 ; 0x51a <isSetupOrOut>
4b8: 01 3e cpi r16, 0xE1 ; 225
4ba: 79 f1 breq .+94 ; 0x51a <isSetupOrOut>
4bc: 09 36 cpi r16, 0x69 ; 105
4be: c1 f0 breq .+48 ; 0x4f0 <handleIn>
4c0: 07 77 andi r16, 0x77 ; 119
4c2: 03 34 cpi r16, 0x43 ; 67
4c4: 31 f5 brne .+76 ; 0x512 <rxDoReturn>
000004c6 <isData>:
4c6: 10 91 18 01 lds r17, 0x0118
4ca: 11 23 and r17, r17
4cc: 11 f1 breq .+68 ; 0x512 <rxDoReturn>
4ce: 00 91 16 01 lds r16, 0x0116
4d2: 00 30 cpi r16, 0x00 ; 0
4d4: f1 f5 brne .+124 ; 0x552 <sendNakAndReti>
4d6: 34 30 cpi r19, 0x04 ; 4
4d8: fa f1 brmi .+126 ; 0x558 <sendAckAndReti>
4da: 30 93 16 01 sts 0x0116, r19
4de: 10 93 12 01 sts 0x0112, r17
4e2: 00 91 04 01 lds r16, 0x0104
4e6: c0 93 04 01 sts 0x0104, r28
4ea: 00 93 10 01 sts 0x0110, r16
4ee: 34 c0 rjmp .+104 ; 0x558 <sendAckAndReti>
000004f0 <handleIn>:
4f0: 12 17 cp r17, r18
4f2: 79 f4 brne .+30 ; 0x512 <rxDoReturn>
4f4: 47 fd sbrc r20, 7
4f6: 3e c0 rjmp .+124 ; 0x574 <handleIn1>
4f8: 30 91 68 00 lds r19, 0x0068
4fc: 3f 3f cpi r19, 0xFF ; 255
4fe: 49 f1 breq .+82 ; 0x552 <sendNakAndReti>
500: 0f ef ldi r16, 0xFF ; 255
502: 00 93 68 00 sts 0x0068, r16
506: cd ee ldi r28, 0xED ; 237
508: d0 e0 ldi r29, 0x00 ; 0
50a: 29 c0 rjmp .+82 ; 0x55e <usbSendAndReti>
0000050c <otherOutOrSetup>:
50c: 00 27 eor r16, r16
50e: 00 93 18 01 sts 0x0118, r16
00000512 <rxDoReturn>:
512: 4f 91 pop r20
514: cf 91 pop r28
516: df 91 pop r29
518: 13 c0 rjmp .+38 ; 0x540 <sofError>
0000051a <isSetupOrOut>:
51a: 12 17 cp r17, r18
51c: b9 f7 brne .-18 ; 0x50c <otherOutOrSetup>
51e: 0f 77 andi r16, 0x7F ; 127
520: 40 78 andi r20, 0x80 ; 128
522: 04 2b or r16, r20
524: 00 93 18 01 sts 0x0118, r16
528: 2a f0 brmi .+10 ; 0x534 <dontResetEP0>
52a: 0f ef ldi r16, 0xFF ; 255
52c: 00 93 67 00 sts 0x0067, r16
530: 00 93 68 00 sts 0x0068, r16
00000534 <dontResetEP0>:
534: 4f 91 pop r20
536: cf 91 pop r28
538: 0a b7 in r16, 0x3a ; 58
53a: 06 fd sbrc r16, 6
53c: 31 cf rjmp .-414 ; 0x3a0 <shortcutToStart>
53e: df 91 pop r29
00000540 <sofError>:
540: 00 e4 ldi r16, 0x40 ; 64
542: 0a bf out 0x3a, r16 ; 58
544: 2f 91 pop r18
546: 3f 91 pop r19
548: 1f 91 pop r17
54a: 0f 91 pop r16
54c: 0f bf out 0x3f, r16 ; 63
54e: 0f 91 pop r16
550: 18 95 reti
00000552 <sendNakAndReti>:
552: cc e6 ldi r28, 0x6C ; 108
554: d0 e0 ldi r29, 0x00 ; 0
556: 02 c0 rjmp .+4 ; 0x55c <usbSendToken>
00000558 <sendAckAndReti>:
558: cb e6 ldi r28, 0x6B ; 107
55a: d0 e0 ldi r29, 0x00 ; 0
0000055c <usbSendToken>:
55c: 32 e0 ldi r19, 0x02 ; 2
0000055e <usbSendAndReti>:
55e: 5f 93 push r21
560: 08 b3 in r16, 0x18 ; 24
562: 0c 7f andi r16, 0xFC ; 252
564: 01 60 ori r16, 0x01 ; 1
566: 08 bb out 0x18, r16 ; 24
568: 53 e0 ldi r21, 0x03 ; 3
56a: 17 b3 in r17, 0x17 ; 23
56c: 13 60 ori r17, 0x03 ; 3
56e: 17 bb out 0x17, r17 ; 23
570: 20 e8 ldi r18, 0x80 ; 128
572: 25 c0 rjmp .+74 ; 0x5be <txLoop>
00000574 <handleIn1>:
574: 0f ef ldi r16, 0xFF ; 255
576: 1a 81 ldd r17, Y+2 ; 0x02
578: 10 fd sbrc r17, 0
57a: 09 c0 rjmp .+18 ; 0x58e <handleIn3>
57c: 30 91 69 00 lds r19, 0x0069
580: 3f 3f cpi r19, 0xFF ; 255
582: 39 f3 breq .-50 ; 0x552 <sendNakAndReti>
584: 00 93 69 00 sts 0x0069, r16
588: c5 e0 ldi r28, 0x05 ; 5
58a: d1 e0 ldi r29, 0x01 ; 1
58c: e8 cf rjmp .-48 ; 0x55e <usbSendAndReti>
0000058e <handleIn3>:
58e: 30 91 6a 00 lds r19, 0x006A
592: 3f 3f cpi r19, 0xFF ; 255
594: f1 f2 breq .-68 ; 0x552 <sendNakAndReti>
596: 00 93 6a 00 sts 0x006A, r16
59a: c8 ef ldi r28, 0xF8 ; 248
59c: d0 e0 ldi r29, 0x00 ; 0
59e: df cf rjmp .-66 ; 0x55e <usbSendAndReti>
000005a0 <bitstuff0>:
5a0: 05 27 eor r16, r21
5a2: 10 e0 ldi r17, 0x00 ; 0
5a4: 08 bb out 0x18, r16 ; 24
5a6: 10 c0 rjmp .+32 ; 0x5c8 <didStuff0>
000005a8 <bitstuff1>:
5a8: 05 27 eor r16, r21
5aa: 10 e0 ldi r17, 0x00 ; 0
5ac: 08 94 sec
5ae: 08 bb out 0x18, r16 ; 24
5b0: 13 c0 rjmp .+38 ; 0x5d8 <didStuff1>
000005b2 <bitstuff2>:
5b2: 05 27 eor r16, r21
5b4: 10 e0 ldi r17, 0x00 ; 0
5b6: 15 c0 rjmp .+42 ; 0x5e2 <didStuff2>
000005b8 <bitstuff3>:
5b8: 05 27 eor r16, r21
5ba: 10 e0 ldi r17, 0x00 ; 0
5bc: 19 c0 rjmp .+50 ; 0x5f0 <didStuff3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -