📄 cdc_enumerate.lst
字号:
483:cdc_enumerate.c ****
484:cdc_enumerate.c **** // handle CDC class requests
485:cdc_enumerate.c **** case SET_LINE_CODING:
486:cdc_enumerate.c **** while ( !(pUDP->UDP_CSR[0] & AT91C_UDP_RX_DATA_BK0) );
807 ldr r1, .L129+24
808 02e0 236B .LVL93:
809 02e2 0222 mov r0, r4
810 02e4 1342 bl AT91F_USB_SendData
811 02e6 FBD0 .LVL94:
487:cdc_enumerate.c **** pUDP->UDP_CSR[0] &= ~(AT91C_UDP_RX_DATA_BK0);
812 55
813 02e8 236B .LVL95:
814 02ea 9343 .L79:
815 02ec 2363 .LVL96:
488:cdc_enumerate.c **** AT91F_USB_SendZlp(pUDP);
816 c 1 494 0
817 02ee 201C mov r2, r8
818 02f0 FFF7FEFF strb r2, [r5, #5]
819 .loc 1 495 0
820 02f4 19E0 mov r0, r4
821 bl AT91F_USB_SendZlp
822 .LVL97:
489:cdc_enumerate.c **** break;
490:cdc_enumerate.c **** case GET_LINE_CODING:
491:cdc_enumerate.c **** AT91F_USB_SendData(pUDP, (char *) &line, MIN(sizeof(line), wLength));
823
824 02f6 082F .LVL98:
825 02f8 01D9 .L63:
826 02fa 0822 .loc 1 498 0
827 02fc 00E0 mov r0, r4
828 bl AT91F_USB_SendStall
829 02fe 3A1C .LVL99:
830 b .L55
831 0300 1349 .L95:
832 .loc 1 418 0
833 0302 201C mov r3, #1
834 0304 FFF7FEFF str r3, [r4, #4]
835 .loc 1 419 0
836 0308 0FE0 mov r3, #0
837 str r3, [r4, #52]
838 .loc 1 420 0
839 str r3, [r4, #56]
492:cdc_enumerate.c **** break;
493:cdc_enumerate.c **** case SET_CONTROL_LINE_STATE:
494:cdc_enumerate.c **** pCdc->currentConnection = wValue;
840
841 030a 4246 .L55:
842 030c 6A71 .loc 1 498 0
495:cdc_enumerate.c **** AT91F_USB_SendZlp(pUDP);
843 drb r0, [r5, #4]
844 030e 201C .LBE5:
845 0310 FFF7FEFF .LBE4:
846 .loc 1 233 0
847 0314 09E0 add sp, sp, #8
848 @ sp needed for prologue
849 .LVL101:
496:cdc_enumerate.c **** break;
497:cdc_enumerate.c **** default:
498:cdc_enumerate.c **** AT91F_USB_SendStall(pUDP);
850 :
851 0316 201C .LVL103:
852 0318 FFF7FEFF .LVL104:
853 pop {r2}
854 031c 05E0 mov r8, r2
855 pop {r4, r5, r6, r7}
856 pop {r1}
857 031e 0123 bx r1
858 0320 6360 .L130:
859 .align 2
860 0322 0023 .L129:
861 0324 6363 .word 769
862 .word 770
863 0326 A363 .word 8225
864 0328 4DE7 .word 8609
865 .word devDescriptor
866 .word cfgDescriptor
867 .word line
868 032a 2879 .LFE291:
870 .section .text.AT91F_UDP_Write,"ax",%progbits
871 .align 2
872 032c 02B0 .code 16
873 .thumb_func
875 AT91F_UDP_Write:
876 .LFB293:
877 .loc 1 272 0
878 032e 04BC push {r4, r5, r6, r7, lr}
879 0330 9046 .LCFI5:
880 0332 F0BC .LVL105:
881 0334 02BC mov r6, r0
882 0336 0847 mov r7, r1
883 .loc 1 273 0
884 ldr r4, [r0]
885 .LVL106:
886 0338 01030000 .loc 1 277 0
887 033c 02030000 mov r0, r2
888 0340 21200000 .LVL107:
889 0344 A1210000 cmp r2, #64
890 0348 00000000 bls .L132
891 034c 00000000 .LVL108:
892 0350 00000000 mov r0, #64
893 .L132:
894 .LVL109:
895 .loc 1 278 0
896 sub r5, r2, r0
897 .LVL110:
898 .loc 1 279 0
899 sub r1, r0, #1
900 bcc .L133
901 .LVL111:
902 mov r2, r7
903 0000 F0B5 .LVL112:
904 .L135:
905 ldrb r3, [r2]
906 0002 061C str r3, [r4, #88]
907 0004 0F1C add r2, r2, #1
908 sub r1, r1, #1
909 0006 0468 bcs .L135
910 add r7, r7, r0
911 .LVL113:
912 0008 101C .L133:
913 .loc 1 280 0
914 000a 402A ldr r3, [r4, #56]
915 000c 00D9 mov r2, #16
916 .LVL114:
917 000e 4020 orr r3, r3, r2
918 str r3, [r4, #56]
919 .loc 1 282 0
920 cmp r5, #0
921 0010 151A beq .L164
922 .LVL115:
923 .L154:
924 0012 411E .loc 1 284 0
925 0014 06D3 mov r0, r5
926 .LVL116:
927 0016 3A1C cmp r5, #64
928 bls .L139
929 mov r0, #64
930 0018 1378 .L139:
931 001a A365 .loc 1 285 0
932 001c 0132 sub r5, r5, r0
933 001e 0139 .loc 1 286 0
934 0020 FAD2 sub r1, r0, #1
935 0022 3F18 bcc .L162
936 .LVL117:
937 mov r2, r7
938 .LVL118:
939 0024 A36B .L142:
940 0026 1022 ldrb r3, [r2]
941 str r3, [r4, #88]
942 0028 1343 add r2, r2, #1
943 002a A363 sub r1, r1, #1
944 bcs .L142
945 002c 002D add r7, r7, r0
946 002e 29D0 b .L162
947 .LVL119:
948 .L144:
949 .loc 1 289 0
950 0030 281C mov r0, r6
951 .LVL120:
952 0032 402D bl AT91F_UDP_IsConfigured
953 0034 00D9 .LVL121:
954 0036 4020 cmp r0, #0
955 beq .L145
956 .LVL122:
957 0038 2D1A .L162:
958 .loc 1 288 0
959 003a 411E ldr r3, [r4, #56]
960 003c 0CD3 mov r2, #1
961 .LVL123:
962 003e 3A1C tst r3, r2
963 beq .L144
964 .loc 1 290 0
965 0040 1378 ldr r3, [r4, #56]
966 0042 A365 bic r3, r3, r2
967 0044 0132 str r3, [r4, #56]
968 0046 0139 .L147:
969 0048 FAD2 .loc 1 291 0
970 004a 3F18 ldr r3, [r4, #56]
971 004c 04E0 tst r3, r2
972 bne .L147
973 .loc 1 292 0
974 ldr r3, [r4, #56]
975 004e 301C mov r2, #16
976 orr r3, r3, r2
977 0050 FFF7FEFF str r3, [r4, #56]
978 .loc 1 282 0
979 0054 0028 cmp r5, #0
980 0056 20D0 beq .L164
981 b .L154
982 .LVL124:
983 .L149:
984 0058 A36B .loc 1 296 0
985 005a 0122 mov r0, r6
986 .LVL125:
987 005c 1342 bl AT91F_UDP_IsConfigured
988 005e F6D0 .LVL126:
989 cmp r0, #0
990 0060 A36B beq .L150
991 0062 9343 .LVL127:
992 0064 A363 .L164:
993 .loc 1 295 0
994 ldr r3, [r4, #56]
995 0066 A36B mov r2, #1
996 0068 1342 tst r3, r2
997 006a FCD1 beq .L149
998 .loc 1 297 0
999 006c A36B ldr r3, [r4, #56]
1000 006e 1022 bic r3, r3, r2
1001 0070 1343 str r3, [r4, #56]
1002 0072 A363 .L152:
1003 .loc 1 298 0
1004 0074 002D ldr r3, [r4, #56]
1005 0076 05D0 tst r3, r2
1006 0078 DAE7 bne .L152
1007 .L150:
1008 mov r5, #0
1009 .L145:
1010 007a 301C .loc 1 301 0
1011 mov r0, r5
1012 007c FFF7FEFF .LVL128:
1013 @ sp needed for prologue
1014 0080 0028 .LVL129:
1015 0082 09D0 .LVL130:
1016 .LVL131:
1017 .LVL132:
1018 pop {r4, r5, r6, r7}
1019 0084 A36B pop {r1}
1020 0086 0122 bx r1
1021 0088 1342 .LFE293:
1023 .section .text.AT91F_UDP_Read,"ax",%progbits
1024 008c A36B .align 2
1025 008e 9343 .code 16
1026 0090 A363 .thumb_func
1028 AT91F_UDP_Read:
1029 0092 A36B .LFB292:
1030 0094 1342 .loc 1 240 0
1031 0096 FCD1 push {r4, r5, r6, r7, lr}
1032 .LCFI6:
1033 0098 0025 mov r7, sl
1034 mov r6, r8
1035 push {r6, r7}
1036 009a 281C .LCFI7:
1037 .LVL133:
1038 mov r7, r0
1039 mov sl, r1
1040 mov r5, r2
1041 .loc 1 241 0
1042 ldr r4, [r0]
1043 009c F0BC .LVL134:
1044 009e 02BC .loc 1 242 0
1045 00a0 0847 ldr r6, [r0, #8]
1046 .LVL135:
1047 .loc 1 244 0
1048 00a2 C046 cmp r2, #0
1049 bne .L166
1050 .LVL136:
1051 mov r3, #0
1052 mov r8, r3
1053 .LVL137:
1054 b .L168
1055 .LVL138:
1056 0000 F0B5 .L166:
1057 mov r3, #0
1058 0002 5746 mov r8, r3
1059 0004 4646 .LVL139:
1060 0006 C0B4 .LVL140:
1061 .L169:
1062 .loc 1 245 0
1063 0008 071C mov r0, r7
1064 000a 8A46 .LVL141:
1065 000c 151C bl AT91F_UDP_IsConfigured
1066 .LVL142:
1067 000e 0468 cmp r0, #0
1068 beq .L168
1069 .loc 1 247 0
1070 0010 8668 ldr r3, [r4, #52]
1071 tst r3, r6
1072 beq .L171
1073 0012 002A .loc 1 248 0
1074 0014 02D1 ldr r3, [r4, #52]
1075 lsr r3, r3, #16
1076 0016 0023 cmp r3, r5
1077 0018 9846 bcc .L173
1078 mov r0, r5
1079 001a 2AE0 .LVL143:
1080 b .L175
1081 .LVL144:
1082 001c 0023 .L173:
1083 001e 9846 ldr r3, [r4, #52]
1084 lsr r0, r3, #16
1085 .LVL145:
1086 .L175:
1087 .loc 1 250 0
1088 0020 381C cmp r0, #63
1089 bhi .L176
1090 0022 FFF7FEFF mov r5, #0
1091 b .L178
1092 0026 0028 .L176:
1093 0028 23D0 .loc 1 249 0
1094 sub r5, r5, r0
1095 002a 636B .L178:
1096 002c 3342 .loc 1 252 0
1097 002e 1ED0 sub r1, r0, #1
1098 bcc .L179
1099 0030 636B .LVL146:
1100 0032 1B0C mov r2, r8
1101 0034 AB42 add r2, r2, sl
1102 0036 01D3 .L181:
1103 0038 281C .loc 1 253 0
1104 ldr r3, [r4, #84]
1105 003a 01E0 strb r3, [r2]
1106 .loc 1 252 0
1107 add r2, r2, #1
1108 003c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -