📄 vcomuser.lst
字号:
*** CODE SEGMENT '?PR?USB_EndPoint6?T?VCOMuser':
239: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint6?T'
*** CODE SEGMENT '?PR?USB_EndPoint7?T?VCOMuser':
249: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint7?T'
*** CODE SEGMENT '?PR?USB_EndPoint8?T?VCOMuser':
259: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint8?T'
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 13
*** CODE SEGMENT '?PR?USB_EndPoint9?T?VCOMuser':
269: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint9?T'
*** CODE SEGMENT '?PR?USB_EndPoint10?T?VCOMuser':
279: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint10?T'
*** CODE SEGMENT '?PR?USB_EndPoint11?T?VCOMuser':
289: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint11?T'
*** CODE SEGMENT '?PR?USB_EndPoint12?T?VCOMuser':
298: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint12?T'
*** CODE SEGMENT '?PR?USB_EndPoint13?T?VCOMuser':
308: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint13?T'
*** CODE SEGMENT '?PR?USB_EndPoint14?T?VCOMuser':
318: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint14?T'
*** CODE SEGMENT '?PR?USB_EndPoint15?T?VCOMuser':
328: }
00000000 4770 BX R14
00000002 ENDP ; 'USB_EndPoint15?T'
*** CODE SEGMENT '?PR?SetSIOBaudrate?T?VCOMuser':
337: void SetSIOBaudrate( BYTE channelNum, BYTE Data )
00000000 B410 PUSH {R4}
00000002 ---- Variable 'Data' assigned to Register 'R1' ----
00000002 1C02 MOV R2,R0 ; channelNum
00000004 ---- Variable 'channelNum' assigned to Register 'R2' ----
346: if ( channelNum == 0 )
00000004 1C10 MOV R0,R2 ; channelNum
00000006 0600 LSL R0,R0,#0x18 ; channelNum
00000008 0E00 LSR R0,R0,#0x18
0000000A 2800 CMP R0,#0x0
0000000C D138 BNE L_8 ; T=0x00000080
348: U0FCR = 0x87; /* Enable and reset TX and RX FIFO. */
0000000E 2387 MOV R3,#0x87
00000010 4800 LDR R0,=0xE000C008
00000012 7003 STRB R3,[R0,#0x0]
349: U0LCR |= 0x80;
00000014 2480 MOV R4,#0x80
00000016 4800 LDR R0,=0xE000C00C
00000018 7803 LDRB R3,[R0,#0x0]
0000001A 4323 ORR R3,R4
0000001C 7003 STRB R3,[R0,#0x0]
350: switch(Data)
0000001E 1C08 MOV R0,R1 ; Data
00000020 2802 CMP R0,#0x2 ; Data
00000022 D00C BEQ L_12 ; T=0x0000003E
00000024 2803 CMP R0,#0x3 ; Data
00000026 D011 BEQ L_13 ; T=0x0000004C
00000028 2806 CMP R0,#0x6 ; Data
0000002A D016 BEQ L_14 ; T=0x0000005A
0000002C 2801 CMP R0,#0x1 ; Data
0000002E D11B BNE L_11 ; T=0x00000068
352: case 1:
00000030 L_10:
353: SET_UART0_BAUD(115200);
00000030 2300 MOV R3,#0x0
00000032 4800 LDR R0,=0xE000C004
00000034 7003 STRB R3,[R0,#0x0]
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 14
00000036 2320 MOV R3,#0x20
00000038 4800 LDR R0,=0xE000C000
0000003A 7003 STRB R3,[R0,#0x0]
354: break;
0000003C E01A B L_9 ; T=0x00000074
355: case 2:
0000003E L_12:
356: SET_UART0_BAUD(57600);
0000003E 2300 MOV R3,#0x0
00000040 4800 LDR R0,=0xE000C004
00000042 7003 STRB R3,[R0,#0x0]
00000044 2341 MOV R3,#0x41
00000046 4800 LDR R0,=0xE000C000
00000048 7003 STRB R3,[R0,#0x0]
357: break;
0000004A E013 B L_9 ; T=0x00000074
358: case 3:
0000004C L_13:
359: SET_UART0_BAUD(38400);
0000004C 2300 MOV R3,#0x0
0000004E 4800 LDR R0,=0xE000C004
00000050 7003 STRB R3,[R0,#0x0]
00000052 2361 MOV R3,#0x61
00000054 4800 LDR R0,=0xE000C000
00000056 7003 STRB R3,[R0,#0x0]
360: break;
00000058 E00C B L_9 ; T=0x00000074
361: case 6:
0000005A L_14:
362: SET_UART0_BAUD(19200);
0000005A 2300 MOV R3,#0x0
0000005C 4800 LDR R0,=0xE000C004
0000005E 7003 STRB R3,[R0,#0x0]
00000060 23C3 MOV R3,#0xC3
00000062 4800 LDR R0,=0xE000C000
00000064 7003 STRB R3,[R0,#0x0]
363: break;
00000066 E005 B L_9 ; T=0x00000074
364: default:
00000068 L_11:
365: SET_UART0_BAUD(9600);
00000068 2301 MOV R3,#0x1
0000006A 4800 LDR R0,=0xE000C004
0000006C 7003 STRB R3,[R0,#0x0]
0000006E 2386 MOV R3,#0x86
00000070 4800 LDR R0,=0xE000C000
00000072 7003 STRB R3,[R0,#0x0]
366: }
00000074 L_9:
367: U0LCR &= ~0x80;
00000074 247F MOV R4,#0x7F
00000076 4800 LDR R0,=0xE000C00C
00000078 7803 LDRB R3,[R0,#0x0]
0000007A 4023 AND R3,R4
0000007C 7003 STRB R3,[R0,#0x0]
368: }
0000007E E03C B L_15 ; T=0x000000FA
00000080 L_8:
369: else if ( channelNum == 1 )
00000080 1C10 MOV R0,R2 ; channelNum
00000082 0600 LSL R0,R0,#0x18 ; channelNum
00000084 0E00 LSR R0,R0,#0x18
00000086 2801 CMP R0,#0x1
00000088 D137 BNE L_15 ; T=0x000000FA
371: U1FCR = 0x87; /* Enable and reset TX and RX FIFO. */
0000008A 2287 MOV R2,#0x87
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 15
0000008C 4800 LDR R0,=0xE0010008
0000008E 7002 STRB R2,[R0,#0x0]
372: U1LCR |= 0x80;
00000090 2380 MOV R3,#0x80
00000092 4800 LDR R0,=0xE001000C
00000094 7802 LDRB R2,[R0,#0x0]
00000096 431A ORR R2,R3
00000098 7002 STRB R2,[R0,#0x0]
373: switch(Data)
0000009A 1C08 MOV R0,R1 ; Data
0000009C 2802 CMP R0,#0x2 ; Data
0000009E D00C BEQ L_20 ; T=0x000000BA
000000A0 2803 CMP R0,#0x3 ; Data
000000A2 D011 BEQ L_21 ; T=0x000000C8
000000A4 2806 CMP R0,#0x6 ; Data
000000A6 D016 BEQ L_22 ; T=0x000000D6
000000A8 2801 CMP R0,#0x1 ; Data
000000AA D11B BNE L_19 ; T=0x000000E4
375: case 1:
000000AC L_18:
376: SET_UART1_BAUD(115200);
000000AC 2100 MOV R1,#0x0
000000AE 4800 LDR R0,=0xE0010004
000000B0 7001 STRB R1,[R0,#0x0]
000000B2 2120 MOV R1,#0x20
000000B4 4800 LDR R0,=0xE0010000
000000B6 7001 STRB R1,[R0,#0x0]
377: break;
000000B8 E01A B L_17 ; T=0x000000F0
378: case 2:
000000BA L_20:
379: SET_UART1_BAUD(57600);
000000BA 2100 MOV R1,#0x0
000000BC 4800 LDR R0,=0xE0010004
000000BE 7001 STRB R1,[R0,#0x0]
000000C0 2141 MOV R1,#0x41
000000C2 4800 LDR R0,=0xE0010000
000000C4 7001 STRB R1,[R0,#0x0]
380: break;
000000C6 E013 B L_17 ; T=0x000000F0
381: case 3:
000000C8 L_21:
382: SET_UART1_BAUD(38400);
000000C8 2100 MOV R1,#0x0
000000CA 4800 LDR R0,=0xE0010004
000000CC 7001 STRB R1,[R0,#0x0]
000000CE 2161 MOV R1,#0x61
000000D0 4800 LDR R0,=0xE0010000
000000D2 7001 STRB R1,[R0,#0x0]
383: break;
000000D4 E00C B L_17 ; T=0x000000F0
384: case 6:
000000D6 L_22:
385: SET_UART1_BAUD(19200);
000000D6 2100 MOV R1,#0x0
000000D8 4800 LDR R0,=0xE0010004
000000DA 7001 STRB R1,[R0,#0x0]
000000DC 21C3 MOV R1,#0xC3
000000DE 4800 LDR R0,=0xE0010000
000000E0 7001 STRB R1,[R0,#0x0]
386: break;
000000E2 E005 B L_17 ; T=0x000000F0
387: default:
000000E4 L_19:
388: SET_UART1_BAUD(9600);
000000E4 2101 MOV R1,#0x1
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 16
000000E6 4800 LDR R0,=0xE0010004
000000E8 7001 STRB R1,[R0,#0x0]
000000EA 2186 MOV R1,#0x86
000000EC 4800 LDR R0,=0xE0010000
000000EE 7001 STRB R1,[R0,#0x0]
389: }
000000F0 L_17:
391: U1LCR &= ~0x80;
000000F0 227F MOV R2,#0x7F
000000F2 4800 LDR R0,=0xE001000C
000000F4 7801 LDRB R1,[R0,#0x0]
000000F6 4011 AND R1,R2
000000F8 7001 STRB R1,[R0,#0x0]
392: }
000000FA L_15:
393: }
000000FA BC10 POP {R4}
000000FC 4770 BX R14
000000FE ENDP ; 'SetSIOBaudrate?T'
*** CODE SEGMENT '?PR?SetSIOStopBit?T?VCOMuser':
395: void SetSIOStopBit( BYTE channelNum, BYTE ConfigValue )
00000000 B410 PUSH {R4}
00000002 ---- Variable 'ConfigValue' assigned to Register 'R1' ----
00000002 1C03 MOV R3,R0 ; channelNum
00000004 ---- Variable 'channelNum' assigned to Register 'R3' ----
00000004 ---- Variable 'lcr' assigned to Register 'R2' ----
396: {
00000004 ; SCOPE-START
400: if ( channelNum == 0 ) {
00000004 1C18 MOV R0,R3 ; channelNum
00000006 0600 LSL R0,R0,#0x18 ; channelNum
00000008 0E00 LSR R0,R0,#0x18
0000000A 2800 CMP R0,#0x0
0000000C D113 BNE L_23 ; T=0x00000036
401: lcr = U0LCR & 0xFB;
0000000E 4800 LDR R0,=0xE000C00C
00000010 7800 LDRB R0,[R0,#0x0]
00000012 1C02 MOV R2,R0
00000014 20FB MOV R0,#0xFB
00000016 4002 AND R2,R0
00000018 0612 LSL R2,R2,#0x18
0000001A 0E12 LSR R2,R2,#0x18
402: U0LCR = lcr | (ConfigValue << 2);
0000001C 1C08 MOV R0,R1 ; ConfigValue
0000001E 0600 LSL R0,R0,#0x18 ; ConfigValue
00000020 0E00 LSR R0,R0,#0x18
00000022 0080 LSL R0,R0,#0x2
00000024 1C14 MOV R4,R2 ; lcr
00000026 0624 LSL R4,R4,#0x18 ; lcr
00000028 0E24 LSR R4,R4,#0x18
0000002A 4304 ORR R4,R0
0000002C 0624 LSL R4,R4,#0x18
0000002E 0E24 LSR R4,R4,#0x18
00000030 4800 LDR R0,=0xE000C00C
00000032 7004 STRB R4,[R0,#0x0]
403: }
00000034 E017 B L_24 ; T=0x00000066
00000036 L_23:
404: else if ( channelNum == 1 ) {
00000036 1C18 MOV R0,R3 ; channelNum
00000038 0600 LSL R0,R0,#0x18 ; channelNum
0000003A 0E00 LSR R0,R0,#0x18
0000003C 2801 CMP R0,#0x1
0000003E D112 BNE L_24 ; T=0x00000066
405: lcr = U1LCR & 0xFB;
00000040 4800 LDR R0,=0xE001000C
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 17
00000042 7800 LDRB R0,[R0,#0x0]
00000044 1C02 MOV R2,R0
00000046 20FB MOV R0,#0xFB
00000048 4002 AND R2,R0
0000004A 0612 LSL R2,R2,#0x18
0000004C 0E12 LSR R2,R2,#0x18
406: U1LCR = lcr | (ConfigValue << 2);
0000004E 1C08 MOV R0,R1 ; ConfigValue
00000050 0600 LSL R0,R0,#0x18 ; ConfigValue
00000052 0E00 LSR R0,R0,#0x18
00000054 0080 LSL R0,R0,#0x2
00000056 1C11 MOV R1,R2 ; lcr
00000058 0609 LSL R1,R1,#0x18 ; lcr
0000005A 0E09 LSR R1,R1,#0x18
0000005C 4301 ORR R1,R0
0000005E 0609 LSL R1,R1,#0x18
00000060 0E09 LSR R1,R1,#0x18
00000062 4800 LDR R0,=0xE001000C
00000064 7001 STRB R1,[R0,#0x0]
407: }
00000066 L_24:
00000066 ; SCOPE-END
408: }
00000066 BC10 POP {R4}
00000068 4770 BX R14
0000006A ENDP ; 'SetSIOStopBit?T'
*** CODE SEGMENT '?PR?SetSIODataBit?T?VCOMuser':
410: void SetSIODataBit( BYTE channelNum, BYTE ConfigValue )
00000000 B410 PUSH {R4}
00000002 ---- Variable 'ConfigValue' assigned to Register 'R1' ----
00000002 1C03 MOV R3,R0 ; channelNum
00000004 ---- Variable 'channelNum' assigned to Register 'R3' ----
00000004 ---- Variable 'lcr' assigned to Register 'R2' ----
411: {
00000004 ; SCOPE-START
414: if ( channelNum == 0 ) {
00000004 1C18 MOV R0,R3 ; channelNum
00000006 0600 LSL R0,R0,#0x18 ; channelNum
00000008 0E00 LSR R0,R0,#0x18
0000000A 2800 CMP R0,#0x0
0000000C D112 BNE L_26 ; T=0x00000034
415: lcr = U0LCR & 0xFC;
0000000E 4800 LDR R0,=0xE000C00C
00000010 7800 LDRB R0,[R0,#0x0]
00000012 1C02 MOV R2,R0
00000014 20FC MOV R0,#0xFC
00000016 4002 AND R2,R0
00000018 0612 LSL R2,R2,#0x18
0000001A 0E12 LSR R2,R2,#0x18
416: U0LCR = lcr | ConfigValue;
0000001C 1C08 MOV R0,R1 ; ConfigValue
0000001E 0600 LSL R0,R0,#0x18 ; ConfigValue
00000020 0E00 LSR R0,R0,#0x18
00000022 1C14 MOV R4,R2 ; lcr
00000024 0624 LSL R4,R4,#0x18 ; lcr
00000026 0E24 LSR R4,R4,#0x18
00000028 4304 ORR R4,R0
0000002A 0624 LSL R4,R4,#0x18
0000002C 0E24 LSR R4,R4,#0x18
0000002E 4800 LDR R0,=0xE000C00C
00000030 7004 STRB R4,[R0,#0x0]
417: }
00000032 E016 B L_27 ; T=0x00000062
00000034 L_26:
418: else if ( channelNum == 1 ) {
00000034 1C18 MOV R0,R3 ; channelNum
ARM COMPILER V2.53, VCOMuser 09/06/07 15:42:25 PAGE 18
00000036 0600 LSL R0,R0,#0x18 ; channelNum
00000038 0E00 LSR R0,R0,#0x18
0000003A 2801 CMP R0,#0x1
0000003C D111 BNE L_27 ; T=0x00000062
419: lcr = U1LCR & 0xFC;
0000003E 4800 LDR R0,=0xE001000C
00000040 7800 LDRB R0,[R0,#0x0]
00000042 1C02 MOV R2,R0
00000044 20FC MOV R0,#0xFC
00000046 4002 AND R2,R0
00000048 0612 LSL R2,R2,#0x18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -