📄 usb.lst
字号:
757 02d6 0E94 0000 call outportb
758 .LM133:
759 02da 8091 0000 lds r24,bEPPflags
760 02de 84FD sbrc r24,4
761 02e0 01C0 rjmp .L49
762 .LM134:
763 /* #APP */
764 02e2 7894 sei
765 /* #NOAPP */
766 .L49:
767 .LM135:
768 02e4 8F2D mov r24,r15
769 02e6 9927 clr r25
770 /* epilogue: frame size=0 */
771 02e8 CF91 pop r28
772 02ea 1F91 pop r17
773 02ec 0F91 pop r16
774 02ee FF90 pop r15
775 02f0 0895 ret
776 /* epilogue end (size=5) */
777 /* function D12_WriteEndpoint size 61 (52) */
778 .LFE20:
780 .global D12_WriteEndpointIsr
782 D12_WriteEndpointIsr:
783 .LFB21:
784 .LM136:
785 /* prologue: frame size=0 */
786 02f2 FF92 push r15
787 02f4 0F93 push r16
788 02f6 1F93 push r17
789 02f8 CF93 push r28
790 /* prologue end (size=4) */
791 02fa 982F mov r25,r24
792 02fc F62E mov r15,r22
793 02fe 8A01 movw r16,r20
794 .LM137:
795 0300 8091 0000 lds r24,bEPPflags
796 0304 84FD sbrc r24,4
797 0306 01C0 rjmp .L53
798 .LM138:
799 /* #APP */
800 0308 F894 cli
801 /* #NOAPP */
802 .L53:
803 .LM139:
804 030a 692F mov r22,r25
805 030c 83E0 ldi r24,lo8(3)
806 030e 0E94 0000 call outportb
807 .LM140:
808 0312 82E0 ldi r24,lo8(2)
809 0314 0E94 0000 call inportb
810 .LM141:
811 0318 60EF ldi r22,lo8(-16)
812 031a 83E0 ldi r24,lo8(3)
813 031c 0E94 0000 call outportb
814 .LM142:
815 0320 60E0 ldi r22,lo8(0)
816 0322 82E0 ldi r24,lo8(2)
817 0324 0E94 0000 call outportb
818 .LM143:
819 0328 6F2D mov r22,r15
820 032a 82E0 ldi r24,lo8(2)
821 032c 0E94 0000 call outportb
822 .LM144:
823 0330 FF20 tst r15
824 0332 49F0 breq .L60
825 0334 CF2D mov r28,r15
826 .L57:
827 .LM145:
828 0336 F801 movw r30,r16
829 0338 6191 ld r22,Z+
830 033a 8F01 movw r16,r30
831 033c 82E0 ldi r24,lo8(2)
832 033e 0E94 0000 call outportb
833 .LM146:
834 0342 C150 subi r28,lo8(-(-1))
835 0344 C1F7 brne .L57
836 .L60:
837 .LM147:
838 0346 6AEF ldi r22,lo8(-6)
839 0348 83E0 ldi r24,lo8(3)
840 034a 0E94 0000 call outportb
841 .LM148:
842 034e 8091 0000 lds r24,bEPPflags
843 0352 84FD sbrc r24,4
844 0354 01C0 rjmp .L58
845 .LM149:
846 /* #APP */
847 0356 7894 sei
848 /* #NOAPP */
849 .L58:
850 .LM150:
851 0358 8F2D mov r24,r15
852 035a 9927 clr r25
853 /* epilogue: frame size=0 */
854 035c CF91 pop r28
855 035e 1F91 pop r17
856 0360 0F91 pop r16
857 0362 FF90 pop r15
858 0364 0895 ret
859 /* epilogue end (size=5) */
860 /* function D12_WriteEndpointIsr size 61 (52) */
861 .LFE21:
863 .global D12_AcknowledgeEndpoint
865 D12_AcknowledgeEndpoint:
866 .LFB22:
867 .LM151:
868 /* prologue: frame size=0 */
869 0366 1F93 push r17
870 /* prologue end (size=1) */
871 0368 182F mov r17,r24
872 .LM152:
873 036a 682F mov r22,r24
874 036c 83E0 ldi r24,lo8(3)
875 036e 0E94 0000 call outportb
876 .LM153:
877 0372 61EF ldi r22,lo8(-15)
878 0374 83E0 ldi r24,lo8(3)
879 0376 0E94 0000 call outportb
880 .LM154:
881 037a 1123 tst r17
882 037c 21F4 brne .L61
883 .LM155:
884 037e 62EF ldi r22,lo8(-14)
885 0380 83E0 ldi r24,lo8(3)
886 0382 0E94 0000 call outportb
887 .L61:
888 /* epilogue: frame size=0 */
889 0386 1F91 pop r17
890 0388 0895 ret
891 /* epilogue end (size=2) */
892 /* function D12_AcknowledgeEndpoint size 18 (15) */
893 .LFE22:
895 .global stall_ep0
897 stall_ep0:
898 .LFB23:
899 .LM156:
900 /* prologue: frame size=0 */
901 /* prologue end (size=0) */
902 .LM157:
903 038a 61E0 ldi r22,lo8(1)
904 038c 80E0 ldi r24,lo8(0)
905 038e 0E94 0000 call D12_SetEndpointStatus
906 .LM158:
907 0392 61E0 ldi r22,lo8(1)
908 0394 862F mov r24,r22
909 0396 0E94 0000 call D12_SetEndpointStatus
910 /* epilogue: frame size=0 */
911 039a 0895 ret
912 /* epilogue end (size=1) */
913 /* function stall_ep0 size 9 (8) */
914 .LFE23:
916 .global single_transmit
918 single_transmit:
919 .LFB24:
920 .LM159:
921 /* prologue: frame size=0 */
922 /* prologue end (size=0) */
923 039c AC01 movw r20,r24
924 .LM160:
925 039e 6131 cpi r22,lo8(17)
926 03a0 18F4 brsh .L64
927 .LM161:
928 03a2 81E0 ldi r24,lo8(1)
929 03a4 0E94 0000 call D12_WriteEndpoint
930 .L64:
931 03a8 0895 ret
932 /* epilogue: frame size=0 */
933 03aa 0895 ret
934 /* epilogue end (size=1) */
935 /* function single_transmit size 8 (7) */
936 .LFE24:
938 .global reserved
940 reserved:
941 .LFB25:
942 .LM162:
943 /* prologue: frame size=0 */
944 /* prologue end (size=0) */
945 .LM163:
946 03ac 0E94 0000 call stall_ep0
947 /* epilogue: frame size=0 */
948 03b0 0895 ret
949 /* epilogue end (size=1) */
950 /* function reserved size 3 (2) */
951 .LFE25:
953 .global init_unconfig
955 init_unconfig:
956 .LFB26:
957 .LM164:
958 /* prologue: frame size=0 */
959 /* prologue end (size=0) */
960 .LM165:
961 03b2 80E0 ldi r24,lo8(0)
962 03b4 0E94 0000 call D12_SetEndpointEnable
963 /* epilogue: frame size=0 */
964 03b8 0895 ret
965 /* epilogue end (size=1) */
966 /* function init_unconfig size 4 (3) */
967 .LFE26:
969 .global init_config
971 init_config:
972 .LFB27:
973 .LM166:
974 /* prologue: frame size=0 */
975 /* prologue end (size=0) */
976 .LM167:
977 03ba 81E0 ldi r24,lo8(1)
978 03bc 0E94 0000 call D12_SetEndpointEnable
979 /* epilogue: frame size=0 */
980 03c0 0895 ret
981 /* epilogue end (size=1) */
982 /* function init_config size 4 (3) */
983 .LFE27:
985 .global get_status
987 get_status:
988 .LFB28:
989 .LM168:
990 /* prologue: frame size=2 */
991 03c2 CF93 push r28
992 03c4 DF93 push r29
993 03c6 CDB7 in r28,__SP_L__
994 03c8 DEB7 in r29,__SP_H__
995 03ca 2297 sbiw r28,2
996 03cc 0FB6 in __tmp_reg__,__SREG__
997 03ce F894 cli
998 03d0 DEBF out __SP_H__,r29
999 03d2 0FBE out __SREG__,__tmp_reg__
1000 03d4 CDBF out __SP_L__,r28
1001 /* prologue end (size=10) */
1002 .LM169:
1003 03d6 8091 0000 lds r24,ControlData
1004 03da 8F71 andi r24,lo8(31)
1005 .LM170:
1006 03dc 49F4 brne .L70
1007 .LM171:
1008 03de 8091 0000 lds r24,bEPPflags
1009 03e2 83FF sbrs r24,3
1010 03e4 02C0 rjmp .L71
1011 .LM172:
1012 03e6 83E0 ldi r24,lo8(3)
1013 03e8 01C0 rjmp .L82
1014 .L71:
1015 .LM173:
1016 03ea 81E0 ldi r24,lo8(1)
1017 .L82:
1018 03ec 8983 std Y+1,r24
1019 03ee 18C0 rjmp .L80
1020 .L70:
1021 .LM174:
1022 03f0 8130 cpi r24,lo8(1)
1023 03f2 A9F0 breq .L79
1024 .LM175:
1025 03f4 8230 cpi r24,lo8(2)
1026 03f6 E1F4 brne .L76
1027 .LM176:
1028 03f8 8091 0000 lds r24,ControlData+4
1029 03fc 8370 andi r24,lo8(3)
1030 .LM177:
1031 03fe 2091 0000 lds r18,ControlData+4
1032 0402 3091 0000 lds r19,(ControlData+4)+1
1033 0406 9927 clr r25
1034 0408 27FF sbrs r18,7
1035 040a 04C0 rjmp .L77
1036 .LM178:
1037 040c 880F add r24,r24
1038 040e 991F adc r25,r25
1039 0410 8F5F subi r24,lo8(-(1))
1040 0412 01C0 rjmp .L83
1041 .L77:
1042 .LM179:
1043 0414 880F lsl r24
1044 .L83:
1045 0416 0E94 0000 call D12_SelectEndpoint
1046 .LM180:
1047 041a 81FD sbrc r24,1
1048 041c E6CF rjmp .L71
1049 .L79:
1050 .LM181:
1051 041e 1982 std Y+1,__zero_reg__
1052 .L80:
1053 .LM182:
1054 0420 FE01 movw r30,r28
1055 0422 3196 adiw r30,1
1056 0424 1182 std Z+1,__zero_reg__
1057 .LM183:
1058 0426 62E0 ldi r22,lo8(2)
1059 0428 CF01 movw r24,r30
1060 042a 0E94 0000 call single_transmit
1061 042e 02C0 rjmp .L69
1062 .L76:
1063 .LM184:
1064 0430 0E94 0000 call stall_ep0
1065 .L69:
1066 /* epilogue: frame size=2 */
1067 0434 2296 adiw r28,2
1068 0436 0FB6 in __tmp_reg__,__SREG__
1069 0438 F894 cli
1070 043a DEBF out __SP_H__,r29
1071 043c 0FBE out __SREG__,__tmp_reg__
1072 043e CDBF out __SP_L__,r28
1073 0440 DF91 pop r29
1074 0442 CF91 pop r28
1075 0444 0895 ret
1076 /* epilogue end (size=9) */
1077 /* function get_status size 67 (48) */
1078 .LFE28:
1080 .global clear_feature
1082 clear_feature:
1083 .LFB29:
1084 .LM185:
1085 /* prologue: frame size=0 */
1086 /* prologue end (size=0) */
1087 .LM186:
1088 0446 8091 0000 lds r24,ControlData
1089 044a 8F71 andi r24,lo8(31)
1090 .LM187:
1091 044c 71F4 brne .L85
1092 .LM188:
1093 044e 8091 0000 lds r24,ControlData+2
1094 0452 9091 0000 lds r25,(ControlData+2)+1
1095 0456 0197 sbiw r24,1
1096 0458 49F5 brne .L87
1097 .LM189:
1098 /* #APP */
1099 045a F894 cli
1100 .LM190:
1101 /* #NOAPP */
1102 045c 8091 0000 lds r24,bEPPflags
1103 0460 877F andi r24,lo8(-9)
1104 0462 8093 0000 sts bEPPflags,r24
1105 .LM191:
1106 /* #APP */
1107 0466 7894 sei
1108 /* #NOAPP */
1109 0468 1BC0 rjmp .L92
1110 .L85:
1111 .LM192:
1112 046a 8230 cpi r24,lo8(2)
1113 046c F9F4 brne .L87
1114 046e 8091 0000 lds r24,ControlData+2
1115 0472 9091 0000 lds r25,(ControlData+2)+1
1116 0476 892B or r24,r25
1117 0478 C9F4 brne .L87
1118 .LM193:
1119 047a 8091 0000 lds r24,ControlData+4
1120 047e 8370 andi r24,lo8(3)
1121 .LM194:
1122 0480 2091 0000 lds r18,ControlData+4
1123 0484 3091 0000 lds r19,(ControlData+4)+1
1124 0488 9927 clr r25
1125 048a 27FF sbrs r18,7
1126 048c 05C0 rjmp .L88
1127 .LM195:
1128 048e 880F add r24,r24
1129 0490 991F adc r25,r25
1130 0492 60E0 ldi r22,lo8(0)
1131 0494 8F5F subi r24,lo8(-(1))
1132 0496 02C0 rjmp .L91
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -