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

📄 rs232.lst

📁 lpc2148的uart代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   0000001E   1A49               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   00000020   0978               LDRB     R1,[R1, #+0]
   \   00000022   FB22               MOVS     R2,#+251
   \   00000024   0A40               ANDS     R2,R2,R1
   \   00000026   1849               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   00000028   0A70               STRB     R2,[R1, #+0]
     50            U1LCR_bit.PE    = 0x0;    // 无校验
   \   0000002A   1749               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   0000002C   0978               LDRB     R1,[R1, #+0]
   \   0000002E   F722               MOVS     R2,#+247
   \   00000030   0A40               ANDS     R2,R2,R1
   \   00000032   1549               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   00000034   0A70               STRB     R2,[R1, #+0]
     51            U1LCR_bit.DLAB  = 0x1;    // 允许DLAB
   \   00000036   1449               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   00000038   0978               LDRB     R1,[R1, #+0]
   \   0000003A   8022               MOVS     R2,#+128
   \   0000003C   0A43               ORRS     R2,R2,R1
   \   0000003E   1249               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   00000040   0A70               STRB     R2,[R1, #+0]
     52          
     53            // 除法因子
     54            U1DLL = divisor & 0xFF;
   \   00000042   ....               LDR      R1,??DataTable25  ;; 0xe0010000
   \   00000044   0200               MOVS     R2,R0
   \   00000046   0A70               STRB     R2,[R1, #+0]
     55            U1DLM = (divisor >> 8) & 0xFF;
   \   00000048   000A               LSRS     R0,R0,#+8
   \   0000004A   0006               LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
   \   0000004C   000E               LSRS     R0,R0,#+24
   \   0000004E   0F49               LDR      R1,??UART1Initialize_0+0x4  ;; 0xe0010004
   \   00000050   0860               STR      R0,[R1, #+0]
     56            U1LCR &= ~0x80;
   \   00000052   0D48               LDR      R0,??UART1Initialize_0  ;; 0xe001000c
   \   00000054   0078               LDRB     R0,[R0, #+0]
   \   00000056   4006               LSLS     R0,R0,#+25       ;; ZeroExtS R0,R0,#+25,#+25
   \   00000058   400E               LSRS     R0,R0,#+25
   \   0000005A   0B49               LDR      R1,??UART1Initialize_0  ;; 0xe001000c
   \   0000005C   0870               STRB     R0,[R1, #+0]
     57          
     58             //配置引脚功能:  port0.8 -> TX1,  port0.9 -> RXD1
     59            PINSEL0_bit.P0_8 = 0x1;
   \   0000005E   ....               LDR      R0,??DataTable17  ;; 0xe002c000
   \   00000060   0068               LDR      R0,[R0, #+0]
   \   00000062   0B49               LDR      R1,??UART1Initialize_0+0x8  ;; 0xfffcffff
   \   00000064   0140               ANDS     R1,R1,R0
   \   00000066   8020               MOVS     R0,#+128
   \   00000068   4002               LSLS     R0,R0,#+9        ;; #+65536
   \   0000006A   0843               ORRS     R0,R0,R1
   \   0000006C   ....               LDR      R1,??DataTable17  ;; 0xe002c000
   \   0000006E   0860               STR      R0,[R1, #+0]
     60            PINSEL0_bit.P0_9 = 0x1;
   \   00000070   ....               LDR      R0,??DataTable17  ;; 0xe002c000
   \   00000072   0068               LDR      R0,[R0, #+0]
   \   00000074   0749               LDR      R1,??UART1Initialize_0+0xC  ;; 0xfff3ffff
   \   00000076   0140               ANDS     R1,R1,R0
   \   00000078   8020               MOVS     R0,#+128
   \   0000007A   C002               LSLS     R0,R0,#+11       ;; #+262144
   \   0000007C   0843               ORRS     R0,R0,R1
   \   0000007E   ....               LDR      R1,??DataTable17  ;; 0xe002c000
   \   00000080   0860               STR      R0,[R1, #+0]
     61          }
   \   00000082   10BC               POP      {R4}
   \   00000084   01BC               POP      {R0}
   \   00000086   0047               BX       R0               ;; return
   \                     ??UART1Initialize_0:
   \   00000088   0C0001E0           DC32     0xe001000c
   \   0000008C   040001E0           DC32     0xe0010004
   \   00000090   FFFFFCFF           DC32     0xfffcffff
   \   00000094   FFFFF3FF           DC32     0xfff3ffff
   \   00000098                      REQUIRE _A_PINSEL0
   \   00000098                      REQUIRE U1RBRTHR
   \   00000098                      REQUIRE _A_U1IER
   \   00000098                      REQUIRE _A_U1LCR
     62          

   \                                 In section .text, align 4, keep-with-next
     63          void UART1WriteChar(unsigned char ch0) {
   \                     UART1WriteChar:
   \   00000000   01B5               PUSH     {R0,LR}
     64            //当 U1LSR_bit.THRE = 0 时, U1THR 包含有效数据
     65            while (U1LSR_bit.THRE == 0);
   \                     ??UART1WriteChar_0:
   \   00000002   ....               LDR      R1,??DataTable24  ;; 0xe0010014
   \   00000004   0978               LDRB     R1,[R1, #+0]
   \   00000006   8906               LSLS     R1,R1,#+26
   \   00000008   FBD5               BPL      ??UART1WriteChar_0
     66            U1THR = ch0;
   \   0000000A   ....               LDR      R1,??DataTable25  ;; 0xe0010000
   \   0000000C   0870               STRB     R0,[R1, #+0]
     67          }
   \   0000000E   08BC               POP      {R3}
   \   00000010   01BC               POP      {R0}
   \   00000012   0047               BX       R0               ;; return
   \   00000014                      REQUIRE U1RBRTHR
   \   00000014                      REQUIRE _A_U1LSR
     68          

   \                                 In section .text, align 4, keep-with-next
     69          unsigned char UART1ReadChar(void) {
   \                     UART1ReadChar:
   \   00000000   01B5               PUSH     {R0,LR}
     70            //当 U1LSR_bit.THRE = 0 时, U1RBR 包含有效数据
     71            while (U1LSR_bit.DR == 0);
   \                     ??UART1ReadChar_0:
   \   00000002   ....               LDR      R0,??DataTable24  ;; 0xe0010014
   \   00000004   0078               LDRB     R0,[R0, #+0]
   \   00000006   C007               LSLS     R0,R0,#+31
   \   00000008   FBD5               BPL      ??UART1ReadChar_0
     72            return U1RBR;
   \   0000000A   ....               LDR      R0,??DataTable25  ;; 0xe0010000
   \   0000000C   0078               LDRB     R0,[R0, #+0]
   \   0000000E   0006               LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
   \   00000010   000E               LSRS     R0,R0,#+24
   \   00000012   08BC               POP      {R3}
   \   00000014   02BC               POP      {R1}
   \   00000016   0847               BX       R1               ;; return
   \   00000018                      REQUIRE U1RBRTHR
   \   00000018                      REQUIRE _A_U1LSR
     73          }
     74          
     75          

   \                                 In section .text, align 4, keep-with-next
     76          unsigned char UART1ReadChar_nostop(void) {
   \                     UART1ReadChar_nostop:
   \   00000000   01B5               PUSH     {R0,LR}
     77            //当 U1LSR_bit.DR = 1 时, U1RBR 包含有效数据
     78            if(U1LSR_bit.DR == 1) return U1RBR;
   \   00000002   ....               LDR      R0,??DataTable24  ;; 0xe0010014
   \   00000004   0078               LDRB     R0,[R0, #+0]
   \   00000006   C007               LSLS     R0,R0,#+31
   \   00000008   04D5               BPL      ??UART1ReadChar_nostop_0
   \   0000000A   ....               LDR      R0,??DataTable25  ;; 0xe0010000
   \   0000000C   0078               LDRB     R0,[R0, #+0]
   \   0000000E   0006               LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
   \   00000010   000E               LSRS     R0,R0,#+24
   \   00000012   00E0               B        ??UART1ReadChar_nostop_1
     79            else return 0;
   \                     ??UART1ReadChar_nostop_0:
   \   00000014   0020               MOVS     R0,#+0
   \                     ??UART1ReadChar_nostop_1:
   \   00000016   08BC               POP      {R3}
   \   00000018   02BC               POP      {R1}
   \   0000001A   0847               BX       R1               ;; return
   \   0000001C                      REQUIRE U1RBRTHR
   \   0000001C                      REQUIRE _A_U1LSR
     80          }
     81          

   \                                 In section .text, align 4, keep-with-next
     82          void UART1WriteChar_nostop(unsigned char ch0) {
   \                     UART1WriteChar_nostop:
   \   00000000   01B5               PUSH     {R0,LR}
     83            //当 U1LSR_bit.THRE = 0 时, U1THR 包含有效数据
     84            if(U1LSR_bit.THRE == 1) U1THR = ch0;
   \   00000002   ....               LDR      R1,??DataTable24  ;; 0xe0010014
   \   00000004   0978               LDRB     R1,[R1, #+0]
   \   00000006   8906               LSLS     R1,R1,#+26
   \   00000008   01D5               BPL      ??UART1WriteChar_nostop_0
   \   0000000A   ....               LDR      R1,??DataTable25  ;; 0xe0010000
   \   0000000C   0870               STRB     R0,[R1, #+0]
     85          }
   \                     ??UART1WriteChar_nostop_0:
   \   0000000E   08BC               POP      {R3}
   \   00000010   01BC               POP      {R0}
   \   00000012   0047               BX       R0               ;; return
   \   00000014                      REQUIRE U1RBRTHR
   \   00000014                      REQUIRE _A_U1LSR

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable11:
   \   00000000   14C000E0           DC32     0xe000c014

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable12:
   \   00000000   00C000E0           DC32     0xe000c000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable17:
   \   00000000   00C002E0           DC32     0xe002c000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable24:
   \   00000000   140001E0           DC32     0xe0010014

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable25:
   \   00000000   000001E0           DC32     0xe0010000
     86          
     87          
     88          

   Maximum stack usage in bytes:

     Function              .cstack
     --------              -------
     UART0Initialize            8
     UART0ReadChar              8
     UART0ReadChar_nostop       8
     UART0WriteChar             8
     UART0WriteChar_nostop      8
     UART1Initialize            8
     UART1ReadChar              8
     UART1ReadChar_nostop       8
     UART1WriteChar             8
     UART1WriteChar_nostop      8


   Section sizes:

     Function/Label        Bytes
     --------------        -----
     UART0Initialize        140
     UART0WriteChar          20
     UART0ReadChar           24
     UART0ReadChar_nostop    28
     UART0WriteChar_nostop   20
     UART1Initialize        152
     UART1WriteChar          20
     UART1ReadChar           24
     UART1ReadChar_nostop    28
     UART1WriteChar_nostop   20
     ??DataTable11            4
     ??DataTable12            4
     ??DataTable17            4
     ??DataTable24            4
     ??DataTable25            4

 
 496 bytes in section .text
 
 496 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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