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

📄 vcomuser.lst

📁 LPC214X例程全包括,代码大全
💻 LST
📖 第 1 页 / 共 5 页
字号:
 00000030  4800      LDR         R1,=RxLength0 ; RxLength0
 00000032  7809      LDRB        R1,[R1,#0x0] ; RxLength0
 00000034  1C0A      MOV         R2,R1
 00000036  4800      LDR         R1,=UART2USBBuf0 ; UART2USBBuf0
 00000038  5488      STRB        R0,[R1,R2]
  124:         RxLength0++;
 0000003A  4800      LDR         R0,=RxLength0 ; RxLength0
 0000003C  7801      LDRB        R1,[R0,#0x0] ; RxLength0
 0000003E  3101      ADD         R1,#0x1
 00000040  7001      STRB        R1,[R0,#0x0] ; RxLength0
  125:     }
 00000042  E038      B           L_19  ; T=0x000000B6
 00000044          L_16:
  126:     else if ( (RxLength0 == USB_VCOM_BUFSIZE) ) {
 00000044  4800      LDR         R0,=RxLength0 ; RxLength0
 00000046  7800      LDRB        R0,[R0,#0x0] ; RxLength0
 00000048  2804      CMP         R0,#0x4
 0000004A  D134      BNE         L_19  ; T=0x000000B6
  127:         USB_WriteEP(0x80 | 0x02, &UART2USBBuf0[0], USB_VCOM_BUFSIZE );
 0000004C  4800      LDR         R1,=UART2USBBuf0 ; UART2USBBuf0
 0000004E  2082      MOV         R0,#0x82
 00000050  2204      MOV         R2,#0x4
 00000052  F7FF      BL          USB_WriteEP?T  ; T=0x0001  (1)
 00000054  FFD5      BL          USB_WriteEP?T  ; T=0x0001  (2)
  128:         RxLength0 = 0;
 00000056  2100      MOV         R1,#0x0
 00000058  4800      LDR         R0,=RxLength0 ; RxLength0
 0000005A  7001      STRB        R1,[R0,#0x0] ; RxLength0
  131:   }
 0000005C  E02B      B           L_19  ; T=0x000000B6
 0000005E          L_15:
  132:   else if ( portNum == 1 )
 0000005E  1C20      MOV         R0,R4 ; portNum
 00000060  0600      LSL         R0,R0,#0x18 ; portNum
ARM COMPILER V2.50a,  VCOMuser                                                             14/02/06  09:59:08  PAGE 16  

 00000062  0E00      LSR         R0,R0,#0x18
 00000064  2801      CMP         R0,#0x1
 00000066  D126      BNE         L_19  ; T=0x000000B6
  146:     if ( ((U1LSR & 0x01) == 1) && (RxLength1 < USB_VCOM_BUFSIZE) ) {
 00000068  4800      LDR         R0,=0xE0010014
 0000006A  7800      LDRB        R0,[R0,#0x0]
 0000006C  2101      MOV         R1,#0x1
 0000006E  4008      AND         R0,R1
 00000070  2801      CMP         R0,#0x1
 00000072  D114      BNE         L_21  ; T=0x0000009E
 00000074  4800      LDR         R0,=RxLength1 ; RxLength1
 00000076  7800      LDRB        R0,[R0,#0x0] ; RxLength1
 00000078  2804      CMP         R0,#0x4
 0000007A  DA10      BGE         L_21  ; T=0x0000009E
  147:         UART2USBBuf1[RxLength1] = getchar( portNum );
 0000007C  1C20      MOV         R0,R4 ; portNum
 0000007E  0600      LSL         R0,R0,#0x18 ; portNum
 00000080  0E00      LSR         R0,R0,#0x18
 00000082  F7FF      BL          getchar?T  ; T=0x0001  (1)
 00000084  FFBD      BL          getchar?T  ; T=0x0001  (2)
 00000086  0600      LSL         R0,R0,#0x18 ; getchar?T
 00000088  0E00      LSR         R0,R0,#0x18
 0000008A  4800      LDR         R1,=RxLength1 ; RxLength1
 0000008C  7809      LDRB        R1,[R1,#0x0] ; RxLength1
 0000008E  1C0A      MOV         R2,R1
 00000090  4800      LDR         R1,=UART2USBBuf1 ; UART2USBBuf1
 00000092  5488      STRB        R0,[R1,R2]
  148:         RxLength1++;
 00000094  4800      LDR         R0,=RxLength1 ; RxLength1
 00000096  7801      LDRB        R1,[R0,#0x0] ; RxLength1
 00000098  3101      ADD         R1,#0x1
 0000009A  7001      STRB        R1,[R0,#0x0] ; RxLength1
  149:     }
 0000009C  E00B      B           L_19  ; T=0x000000B6
 0000009E          L_21:
  150:     else if ( (RxLength1 == USB_VCOM_BUFSIZE) ) {
 0000009E  4800      LDR         R0,=RxLength1 ; RxLength1
 000000A0  7800      LDRB        R0,[R0,#0x0] ; RxLength1
 000000A2  2804      CMP         R0,#0x4
 000000A4  D107      BNE         L_19  ; T=0x000000B6
  151:         USB_WriteEP(0x80 | 0x05, &UART2USBBuf1[0], USB_VCOM_BUFSIZE );
 000000A6  4800      LDR         R1,=UART2USBBuf1 ; UART2USBBuf1
 000000A8  2085      MOV         R0,#0x85
 000000AA  2204      MOV         R2,#0x4
 000000AC  F7FF      BL          USB_WriteEP?T  ; T=0x0001  (1)
 000000AE  FFA8      BL          USB_WriteEP?T  ; T=0x0001  (2)
  152:         RxLength1 = 0;
 000000B0  2100      MOV         R1,#0x0
 000000B2  4800      LDR         R0,=RxLength1 ; RxLength1
 000000B4  7001      STRB        R1,[R0,#0x0] ; RxLength1
  155:   }
 000000B6          L_19:
  157: }
 000000B6  BC10      POP         {R4}
 000000B8  BC08      POP         {R3}
 000000BA  4718      BX          R3
 000000BC          ENDP ; 'DeviceData2Host?T'


*** CODE SEGMENT '?PR?USB_Reset_Event?T?VCOMuser':
  177: void USB_Reset_Event (void) {
 00000000  B500      PUSH        {LR}
  178:   USB_ResetCore();
 00000002  F7FF      BL          USB_ResetCore?T  ; T=0x0001  (1)
 00000004  FFFD      BL          USB_ResetCore?T  ; T=0x0001  (2)
  179: }
 00000006  BC08      POP         {R3}
 00000008  4718      BX          R3
ARM COMPILER V2.50a,  VCOMuser                                                             14/02/06  09:59:08  PAGE 17  

 0000000A          ENDP ; 'USB_Reset_Event?T'


*** CODE SEGMENT '?PR?USB_Configure_Event?T?VCOMuser':
  241:   if (USB_Configuration) {             /* Check if USB is configured */
 00000000  4800      LDR         R0,=USB_Configuration ; USB_Configuration
 00000002  7800      LDRB        R0,[R0,#0x0] ; USB_Configuration
 00000004  2800      CMP         R0,#0x0
 00000006  D008      BEQ         L_25  ; T=0x0000001A
  242:     ReportStatus0 = ReportStatus1 = 1;
 00000008  2101      MOV         R1,#0x1
 0000000A  4800      LDR         R0,=ReportStatus1 ; ReportStatus1
 0000000C  7001      STRB        R1,[R0,#0x0] ; ReportStatus1
 0000000E  4800      LDR         R0,=ReportStatus0 ; ReportStatus0
 00000010  7001      STRB        R1,[R0,#0x0] ; ReportStatus0
  243:     Data2Host0 = Data2Host1 = 1;
 00000012  4800      LDR         R0,=Data2Host1 ; Data2Host1
 00000014  7001      STRB        R1,[R0,#0x0] ; Data2Host1
 00000016  4800      LDR         R0,=Data2Host0 ; Data2Host0
 00000018  7001      STRB        R1,[R0,#0x0] ; Data2Host0
  244:   }
 0000001A          L_25:
  245: }
 0000001A  4770      BX          R14
 0000001C          ENDP ; 'USB_Configure_Event?T'


*** CODE SEGMENT '?PR?USB_EndPoint1?T?VCOMuser':
  296: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint1?T'


*** CODE SEGMENT '?PR?USB_EndPoint2?T?VCOMuser':
  303: void USB_EndPoint2 (DWORD event) {
 00000000  B500      PUSH        {LR}
 00000002  1C01      MOV         R1,R0 ; event
 00000004  ---- Variable 'event' assigned to Register 'R1' ----
  304:   switch (event) {
 00000004  1C08      MOV         R0,R1 ; event
 00000006  2802      CMP         R0,#0x2 ; event
 00000008  D005      BEQ         L_27  ; T=0x00000016
 0000000A  2803      CMP         R0,#0x3 ; event
 0000000C  D106      BNE         L_26  ; T=0x0000001C
  305:     case USB_EVT_IN:
 0000000E          L_28:
  306:       Data2Host0 = 1;
 0000000E  2101      MOV         R1,#0x1
 00000010  4800      LDR         R0,=Data2Host0 ; Data2Host0
 00000012  7001      STRB        R1,[R0,#0x0] ; Data2Host0
  307:       break;
 00000014  E002      B           L_26  ; T=0x0000001C
  308:     case USB_EVT_OUT:
 00000016          L_27:
  309:       DeviceData2UART( 0 );
 00000016  2000      MOV         R0,#0x0
 00000018  F7FF      BL          DeviceData2UART?T  ; T=0x0001  (1)
 0000001A  FFF2      BL          DeviceData2UART?T  ; T=0x0001  (2)
  311:   }
 0000001C          L_26:
  313: }
 0000001C  BC08      POP         {R3}
 0000001E  4718      BX          R3
 00000020          ENDP ; 'USB_EndPoint2?T'


*** CODE SEGMENT '?PR?USB_EndPoint3?T?VCOMuser':
  323: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint3?T'


*** CODE SEGMENT '?PR?USB_EndPoint4?T?VCOMuser':
  332: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint4?T'

ARM COMPILER V2.50a,  VCOMuser                                                             14/02/06  09:59:08  PAGE 18  


*** CODE SEGMENT '?PR?USB_EndPoint5?T?VCOMuser':
  339: void USB_EndPoint5 (DWORD event) {
 00000000  B500      PUSH        {LR}
 00000002  1C01      MOV         R1,R0 ; event
 00000004  ---- Variable 'event' assigned to Register 'R1' ----
  340:   switch (event) {
 00000004  1C08      MOV         R0,R1 ; event
 00000006  2802      CMP         R0,#0x2 ; event
 00000008  D005      BEQ         L_30  ; T=0x00000016
 0000000A  2803      CMP         R0,#0x3 ; event
 0000000C  D106      BNE         L_29  ; T=0x0000001C
  341:     case USB_EVT_IN:
 0000000E          L_31:
  342:       Data2Host1 = 1;
 0000000E  2101      MOV         R1,#0x1
 00000010  4800      LDR         R0,=Data2Host1 ; Data2Host1
 00000012  7001      STRB        R1,[R0,#0x0] ; Data2Host1
  343:       break;
 00000014  E002      B           L_29  ; T=0x0000001C
  344:     case USB_EVT_OUT:
 00000016          L_30:
  345:       DeviceData2UART( 1 );
 00000016  2001      MOV         R0,#0x1
 00000018  F7FF      BL          DeviceData2UART?T  ; T=0x0001  (1)
 0000001A  FFF2      BL          DeviceData2UART?T  ; T=0x0001  (2)
  347:   }
 0000001C          L_29:
  349: }
 0000001C  BC08      POP         {R3}
 0000001E  4718      BX          R3
 00000020          ENDP ; 'USB_EndPoint5?T'


*** CODE SEGMENT '?PR?USB_EndPoint6?T?VCOMuser':
  358: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint6?T'


*** CODE SEGMENT '?PR?USB_EndPoint7?T?VCOMuser':
  368: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint7?T'


*** CODE SEGMENT '?PR?USB_EndPoint8?T?VCOMuser':
  378: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint8?T'


*** CODE SEGMENT '?PR?USB_EndPoint9?T?VCOMuser':
  388: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint9?T'


*** CODE SEGMENT '?PR?USB_EndPoint10?T?VCOMuser':
  398: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint10?T'


*** CODE SEGMENT '?PR?USB_EndPoint11?T?VCOMuser':
  408: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint11?T'


*** CODE SEGMENT '?PR?USB_EndPoint12?T?VCOMuser':
  417: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint12?T'


*** CODE SEGMENT '?PR?USB_EndPoint13?T?VCOMuser':
  427: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint13?T'


*** CODE SEGMENT '?PR?USB_EndPoint14?T?VCOMuser':
  437: }
 00000000  4770      BX          R14
ARM COMPILER V2.50a,  VCOMuser                                                             14/02/06  09:59:08  PAGE 19  

 00000002          ENDP ; 'USB_EndPoint14?T'


*** CODE SEGMENT '?PR?USB_EndPoint15?T?VCOMuser':
  447: }
 00000000  4770      BX          R14
 00000002          ENDP ; 'USB_EndPoint15?T'


*** CODE SEGMENT '?PR?init_serial?T?VCOMuser':
  454: void init_serial (void)  {     /* Initialize Serial Interface       */
 00000000  B410      PUSH        {R4}
  458:   PINSEL0 = 0x00050005;        /* Enable RxD1 and TxD1, RxD0 and TxD0 */
 00000002  4800      LDR         R1,=0x50005
 00000004  4800      LDR         R0,=0xE002C000
 00000006  6001      STR         R1,[R0,#0x0]
  461:   U0LCR = 0x83;                /* 8 bits, no Parity, 1 Stop bit     */
 00000008  2483      MOV         R4,#0x83
 0000000A  4800      LDR         R0,=0xE000C00C
 0000000C  7004      STRB        R4,[R0,#0x0]
  462:   U0DLL = 97;                  /* 9600 Baud Rate @ 15MHz VPB Clock  */
 0000000E  2361      MOV         R3,#0x61
 00000010  4800      LDR         R0,=0xE000C000
 00000012  7003      STRB        R3,[R0,#0x0]
  463:   U0LCR = 0x03;                /* DLAB = 0                          */  
 00000014  2203      MOV         R2,#0x3
 00000016  4800      LDR         R0,=0xE000C00C
 00000018  7002      STRB        R2,[R0,#0x0]
  464:   U0FCR = 0x07;                /* Enable and reset TX and RX FIFO. */
 0000001A  2107      MOV         R1,#0x7
 0000001C  4800      LDR         R0,=0xE000C008
 0000001E  7001      STRB        R1,[R0,#0x0]
  466:   U1LCR = 0x83;                /* 8 bits, no Parity, 1 Stop bit     */
 00000020  4800      LDR         R0,=0xE001000C
 00000022  7004      STRB        R4,[R0,#0x0]
  467:   U1DLL = 97;                  /* 9600 Baud Rate @ 15MHz VPB Clock  */
 00000024  4800      LDR         R0,=0xE0010000
 00000026  7003      STRB        R3,[R0,#0x0]
  468:   U1LCR = 0x03;                /* DLAB = 0                          */
 00000028  4800      LDR         R0,=0xE001000C
 0000002A  7002      STRB        R2,[R0,#0x0]
  469:   U1FCR = 0x07;                /* Enable and reset TX and RX FIFO. */
 0000002C  4800      LDR         R0,=0xE0010008
 0000002E  7001      STRB        R1,[R0,#0x0]
  470: }
 00000030  BC10      POP         {R4}
 00000032  4770      BX          R14
 00000034          ENDP ; 'init_serial?T'


*** CODE SEGMENT '?PR?putchar?T?VCOMuser':
  472: int putchar(BYTE portNum, int ch)  {     /* Write character to Serial Port    */
 00000000  ---- Variable 'ch' assigned to Register 'R1' ----
 00000000  1C02      MOV         R2,R0 ; portNum
 00000002  ---- Variable 'portNum' assigned to Register 'R2' ----
  474:   if ( portNum == 0 ) {
 00000002  1C10      MOV         R0,R2 ; portNum

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -