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

📄 serial.lst

📁 ADuC7020/26是ADI模拟公司开发的ARM7TDMI内核
💻 LST
字号:
ARM COMPILER V2.42,  serial                                                                09/01/06  14:42:17  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE serial
OBJECT MODULE PLACED IN serial.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe serial.c THUMB DEBUG TABS(4) 

stmt  level    source

    1          /***********************************************************************/
    2          /*                                                                     */
    3          /*  SERIAL.C:  Low Level Serial Routines                               */
    4          /*                                                                     */
    5          /***********************************************************************/
    6          
    7          #include <aduc7024.H>                      /* ADuC7024 definitions          */
    8          
    9          #define CR     0x0D
   10          
   11          int putchar(int ch)  {                   /* Write character to Serial Port  */
   12   1      
   13   1          if (ch == '\n')  {
   14   2              while(!(0x020==(COMSTA0 & 0x020)))
   15   2              {}
   16   2              COMTX = CR;                         /* output CR */
   17   2              }
   18   1          while(!(0x020==(COMSTA0 & 0x020)))
   19   1          {}
   20   1       
   21   1          return (COMTX = ch);
   22   1      }
   23          
   24          
   25          int getchar (void)  {                      /* Read character from Serial Port */
   26   1      
   27   1          while(!(0x01==(COMSTA0 & 0x01)))
   28   1          {}
   29   1          return (COMRX);
   30   1      }
ARM COMPILER V2.42,  serial                                                                09/01/06  14:42:17  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         putchar?T
 PUBLIC         getchar?T



*** CODE SEGMENT '?PR?putchar?T?serial':
   11: int putchar(int ch)  {                   /* Write character to Serial Port  */
 00000000  1C01      MOV         R1,R0 ; ch
 00000002  ---- Variable 'ch' assigned to Register 'R1' ----
   13:     if (ch == '\n')  {
 00000002  1C08      MOV         R0,R1 ; ch
 00000004  280A      CMP         R0,#0xA ; ch
 00000006  D107      BNE         L_9  ; T=0x00000018
   15:         {}
 00000008          L_2:
 00000008  4800      LDR         R0,=0xFFFF0714
 0000000A  6800      LDR         R0,[R0,#0x0]
 0000000C  2220      MOV         R2,#0x20
 0000000E  4210      TST         R0,R2
 00000010  D0FA      BEQ         L_2  ; T=0x00000008
   16:         COMTX = CR;                         /* output CR */
 00000012  220D      MOV         R2,#0xD
 00000014  4800      LDR         R0,=0xFFFF0700
 00000016  6002      STR         R2,[R0,#0x0]
   18:     while(!(0x020==(COMSTA0 & 0x020)))
 00000018          L_9:
   19:     {}
 00000018          L_6:
 00000018  4800      LDR         R0,=0xFFFF0714
 0000001A  6800      LDR         R0,[R0,#0x0]
 0000001C  2220      MOV         R2,#0x20
 0000001E  4210      TST         R0,R2
 00000020  D0FA      BEQ         L_6  ; T=0x00000018
   21:      return (COMTX = ch);
 00000022  1C08      MOV         R0,R1 ; ch
 00000024  4800      LDR         R1,=0xFFFF0700
 00000026  6008      STR         R0,[R1,#0x0]
   22: }
 00000028  4770      BX          R14
 0000002A          ENDP ; 'putchar?T'


*** CODE SEGMENT '?PR?getchar?T?serial':
   28:        {}
 00000000          L_11:
 00000000  4800      LDR         R0,=0xFFFF0714
 00000002  6800      LDR         R0,[R0,#0x0]
 00000004  2101      MOV         R1,#0x1
 00000006  4008      AND         R0,R1
 00000008  2801      CMP         R0,#0x1
 0000000A  D1F9      BNE         L_11  ; T=0x00000000
   29:       return (COMRX);
 0000000C  4800      LDR         R0,=0xFFFF0700
 0000000E  6800      LDR         R0,[R0,#0x0]
   30: }
 00000010  4770      BX          R14
 00000012          ENDP ; 'getchar?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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