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

📄 main.lst

📁 rs485的通信程序的主程序。采用at91sam7a3芯片编写的。
💻 LST
字号:
ARM COMPILER V2.54a,  main                                                                 19/08/06  17:44:59  PAGE 1   


ARM COMPILER V2.54a, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c ARM OPTIMIZE(2,SPEED) BROWSE DEBUG TABS(4) 

stmt  level    source

    1          #include "at91sam7a3.h"
    2          
    3          extern  void    power_on_initialization();
    4          extern  void    Initial_USART();
    5          
    6                  unsigned char   ASCiitoHEX(unsigned char);
    7                  unsigned char   HEXtoASCii(unsigned char);
    8          
    9          
   10          //***************************************************************************
   11          //* 名称:main()                                                            *
   12          //* 功能:This edition add psk InData function.                             *
   13          //***************************************************************************
   14          int  main(void)
   15          {
   16   1          power_on_initialization();
   17   1          return(0);
   18   1      }
   19          
   20          unsigned char ASCiitoHEX(unsigned char str1)
   21          {
   22   1          if  ((str1>=0x30)&&(str1<=0x39))
   23   1          {
   24   2              return(str1-0x30);
   25   2          }
   26   1          if  ((str1>=0x41)&&(str1<=0x46))
   27   1          {
   28   2              return(str1-0x37);
   29   2          }
   30   1      
   31   1          return 1;
   32   1      }
   33          
   34          
   35          unsigned char HEXtoASCii(unsigned char str1)
   36          {
   37   1          if (str1<=0x09)                         //if ((str1>=0x00)&&(str1<=0x09))
   38   1          {
   39   2              return(str1+0x30);
   40   2          }
   41   1          if  ((str1>=0x0A)&&(str1<=0x0F))
   42   1          {
   43   2              return(str1+0x37);
   44   2          }
   45   1      
   46   1          return 1;
   47   1      }
ARM COMPILER V2.54a,  main                                                                 19/08/06  17:44:59  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE32 (power_on_initialization?A)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         ASCiitoHEX?A
 PUBLIC         HEXtoASCii?A
 PUBLIC         main



*** CODE SEGMENT '?PR?main?main':
   14: int  main(void)
 00000000  E92D4000  STMDB       R13!,{LR}
   16:     power_on_initialization();
 00000004  EBFFFFFD  BL          power_on_initialization?A  ; Targ=0x0
   17:     return(0);
 00000008  E3A00000  MOV         R0,#0x0
   18: }
 0000000C  E8BD0008  LDMIA       R13!,{R3}
 00000010  E12FFF13  BX          R3
 00000014          ENDP ; 'main'


*** CODE SEGMENT '?PR?ASCiitoHEX?A?main':
   20: unsigned char ASCiitoHEX(unsigned char str1)
 00000000  E1A01000  MOV         R1,R0 ; str1
 00000004  ---- Variable 'str1' assigned to Register 'R1' ----
   22:     if  ((str1>=0x30)&&(str1<=0x39))
 00000004  E1A00001  MOV         R0,R1 ; str1
 00000008  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 0000000C  E1A00C20  MOV         R0,R0,LSR #24
 00000010  E3500030  CMP         R0,#0x0030
 00000014  BA000009  BLT         L_2  ; Targ=0x40
 00000018  E1A00001  MOV         R0,R1 ; str1
 0000001C  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000020  E1A00C20  MOV         R0,R0,LSR #24
 00000024  E3500039  CMP         R0,#0x0039
 00000028  CA000004  BGT         L_2  ; Targ=0x40
   24:         return(str1-0x30);
 0000002C  E1A00001  MOV         R0,R1 ; str1
 00000030  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000034  E1A00C20  MOV         R0,R0,LSR #24
 00000038  E2400030  SUB         R0,R0,#0x0030
 0000003C  EA00000F  B           L_3  ; Targ=0x80
   25:     }
 00000040          L_2:
   26:     if  ((str1>=0x41)&&(str1<=0x46))
 00000040  E1A00001  MOV         R0,R1 ; str1
 00000044  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000048  E1A00C20  MOV         R0,R0,LSR #24
 0000004C  E3500041  CMP         R0,#0x0041
 00000050  BA000009  BLT         L_4  ; Targ=0x7C
 00000054  E1A00001  MOV         R0,R1 ; str1
 00000058  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 0000005C  E1A00C20  MOV         R0,R0,LSR #24
 00000060  E3500046  CMP         R0,#0x0046
 00000064  CA000004  BGT         L_4  ; Targ=0x7C
   28:         return(str1-0x37);
 00000068  E1A00001  MOV         R0,R1 ; str1
 0000006C  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000070  E1A00C20  MOV         R0,R0,LSR #24
 00000074  E2400037  SUB         R0,R0,#0x0037
 00000078  EA000000  B           L_3  ; Targ=0x80
   29:     }
 0000007C          L_4:
   31:     return 1;
ARM COMPILER V2.54a,  main                                                                 19/08/06  17:44:59  PAGE 3   

 0000007C  E3A00001  MOV         R0,#0x1
   32: }
 00000080          L_3:
 00000080  E12FFF1E  BX          R14
 00000084          ENDP ; 'ASCiitoHEX?A'


*** CODE SEGMENT '?PR?HEXtoASCii?A?main':
   35: unsigned char HEXtoASCii(unsigned char str1)
 00000000  E1A01000  MOV         R1,R0 ; str1
 00000004  ---- Variable 'str1' assigned to Register 'R1' ----
   37:     if (str1<=0x09)                         //if ((str1>=0x00)&&(str1<=0x09))
 00000004  E1A00001  MOV         R0,R1 ; str1
 00000008  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 0000000C  E1A00C20  MOV         R0,R0,LSR #24
 00000010  E3500009  CMP         R0,#0x0009
 00000014  CA000004  BGT         L_5  ; Targ=0x2C
   39:         return(str1+0x30);
 00000018  E1A00001  MOV         R0,R1 ; str1
 0000001C  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000020  E1A00C20  MOV         R0,R0,LSR #24
 00000024  E2800030  ADD         R0,R0,#0x0030
 00000028  EA00000F  B           L_6  ; Targ=0x6C
   40:     }
 0000002C          L_5:
   41:     if  ((str1>=0x0A)&&(str1<=0x0F))
 0000002C  E1A00001  MOV         R0,R1 ; str1
 00000030  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000034  E1A00C20  MOV         R0,R0,LSR #24
 00000038  E350000A  CMP         R0,#0x000A
 0000003C  BA000009  BLT         L_7  ; Targ=0x68
 00000040  E1A00001  MOV         R0,R1 ; str1
 00000044  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 00000048  E1A00C20  MOV         R0,R0,LSR #24
 0000004C  E350000F  CMP         R0,#0x000F
 00000050  CA000004  BGT         L_7  ; Targ=0x68
   43:         return(str1+0x37);
 00000054  E1A00001  MOV         R0,R1 ; str1
 00000058  E1A00C00  MOV         R0,R0,LSL #24 ; str1
 0000005C  E1A00C20  MOV         R0,R0,LSR #24
 00000060  E2800037  ADD         R0,R0,#0x0037
 00000064  EA000000  B           L_6  ; Targ=0x6C
   44:     }
 00000068          L_7:
   46:     return 1;
 00000068  E3A00001  MOV         R0,#0x1
 0000006C          L_6:
 0000006C  E12FFF1E  BX          R14
 00000070          ENDP ; 'HEXtoASCii?A'



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 + -