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

📄 vcomuser.lst

📁 针对飞利浦LPC214x的虚拟串口程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
*** 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 + -