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

📄 rs485test.lst

📁 rs485的通信程序的主程序。采用at91sam7a3芯片编写的。
💻 LST
📖 第 1 页 / 共 3 页
字号:
   37: {
 00000004            ; SCOPE-START
   39:     power_on_initialization();
 00000004  EBFFFFFD  BL          power_on_initialization?A  ; Targ=0x0
   41:     while(1)
 00000008          L_3:
   43:         if(UART0_RE_Flag == 0x55555555)
 00000008  E5100000  LDR         R0,=UART0_RE_Flag ; UART0_RE_Flag
 0000000C  E5900000  LDR         R0,[R0,#0x0] ; UART0_RE_Flag
 00000010  E5101000  LDR         R1,=0x55555555
 00000014  E1500001  CMP         R0,R1
 00000018  1A0000B1  BNE         L_5  ; Targ=0x2E4
   45:             UART0_T_Count = 0x0001;
 0000001C  E3A01001  MOV         R1,#0x1
 00000020  E5100000  LDR         R0,=UART0_T_Count ; UART0_T_Count
 00000024  E5801000  STR         R1,[R0,#0x0] ; UART0_T_Count
ARM COMPILER V2.20a,  test_P3                                                              18/07/05  12:57:54  PAGE 5   

   46:             if ((UART0_RData[5]==0x49)&&(UART0_RData[6]==0x4d))   // char_IM   In_Data
 00000028  E5100000  LDR         R0,=UART0_RData + 0x5 ; UART0_RData+5
 0000002C  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+5
 00000030  E3500049  CMP         R0,#0x0049
 00000034  1A000057  BNE         L_6  ; Targ=0x198
 00000038  E5100000  LDR         R0,=UART0_RData + 0x6 ; UART0_RData+6
 0000003C  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+6
 00000040  E350004D  CMP         R0,#0x004D
 00000044  1A000053  BNE         L_6  ; Targ=0x198
   48:                 IM_Data_Length=ASCiitoHEX(UART0_RData[4]);
 00000048  E5100000  LDR         R0,=UART0_RData + 0x4 ; UART0_RData+4
 0000004C  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+4
 00000050  EBFFFFEA  BL          ASCiitoHEX?A  ; Targ=0x0
 00000054  E1A01C00  MOV         R1,R0,LSL #24 ; ASCiitoHEX?A
 00000058  E1A01C21  MOV         R1,R1,LSR #24
 0000005C  E5100000  LDR         R0,=IM_Data_Length ; IM_Data_Length
 00000060  E5801000  STR         R1,[R0,#0x0] ; IM_Data_Length
   49:                 IM_Data_Length=IM_Data_Length+0x10*ASCiitoHEX(UART0_RData[3]);
 00000064  E5100000  LDR         R0,=UART0_RData + 0x3 ; UART0_RData+3
 00000068  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+3
 0000006C  EBFFFFE3  BL          ASCiitoHEX?A  ; Targ=0x0
 00000070  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 00000074  E1A00C20  MOV         R0,R0,LSR #24
 00000078  E1A00200  MOV         R0,R0,LSL #4
 0000007C  E5101000  LDR         R1,=IM_Data_Length ; IM_Data_Length
 00000080  E5911000  LDR         R1,[R1,#0x0] ; IM_Data_Length
 00000084  E0811000  ADD         R1,R1,R0
 00000088  E5100000  LDR         R0,=IM_Data_Length ; IM_Data_Length
 0000008C  E5801000  STR         R1,[R0,#0x0] ; IM_Data_Length
   50:                 IM_Data_Length=IM_Data_Length+0x100*ASCiitoHEX(UART0_RData[2]);
 00000090  E5100000  LDR         R0,=UART0_RData + 0x2 ; UART0_RData+2
 00000094  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+2
 00000098  EBFFFFD8  BL          ASCiitoHEX?A  ; Targ=0x0
 0000009C  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 000000A0  E1A00C20  MOV         R0,R0,LSR #24
 000000A4  E1A00400  MOV         R0,R0,LSL #8
 000000A8  E5101000  LDR         R1,=IM_Data_Length ; IM_Data_Length
 000000AC  E5911000  LDR         R1,[R1,#0x0] ; IM_Data_Length
 000000B0  E0811000  ADD         R1,R1,R0
 000000B4  E5100000  LDR         R0,=IM_Data_Length ; IM_Data_Length
 000000B8  E5801000  STR         R1,[R0,#0x0] ; IM_Data_Length
   51:                 IM_Data_Length=IM_Data_Length+0x1000*ASCiitoHEX(UART0_RData[1]);
 000000BC  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 000000C0  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+1
 000000C4  EBFFFFCD  BL          ASCiitoHEX?A  ; Targ=0x0
 000000C8  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 000000CC  E1A00C20  MOV         R0,R0,LSR #24
 000000D0  E1A00600  MOV         R0,R0,LSL #12
 000000D4  E5101000  LDR         R1,=IM_Data_Length ; IM_Data_Length
 000000D8  E5911000  LDR         R1,[R1,#0x0] ; IM_Data_Length
 000000DC  E0811000  ADD         R1,R1,R0
 000000E0  E5100000  LDR         R0,=IM_Data_Length ; IM_Data_Length
 000000E4  E5801000  STR         R1,[R0,#0x0] ; IM_Data_Length
   52:                 j=0;
 000000E8  E3A04000  MOV         R4,#0x0
   54:                 for(i=7;i<=(IM_Data_Length+4);i=i+2)
 000000EC  E3A05007  MOV         R5,#0x7
 000000F0  EA000018  B           L_9  ; Targ=0x158
 000000F4          L_10:
   56:                     IM_Data[j]=0x10*ASCiitoHEX(UART0_RData[i]);
 000000F4  E1A01005  MOV         R1,R5 ; i
 000000F8  E5100000  LDR         R0,=UART0_RData ; UART0_RData
 000000FC  E7D00001  LDRB        R0,[R0,+R1]
 00000100  EBFFFFBE  BL          ASCiitoHEX?A  ; Targ=0x0
 00000104  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 00000108  E1A00C20  MOV         R0,R0,LSR #24
ARM COMPILER V2.20a,  test_P3                                                              18/07/05  12:57:54  PAGE 6   

 0000010C  E1A00200  MOV         R0,R0,LSL #4
 00000110  E1A02004  MOV         R2,R4 ; j
 00000114  E5101000  LDR         R1,=IM_Data ; IM_Data
 00000118  E7C10002  STRB        R0,[R1,+R2]
   57:                     IM_Data[j]=IM_Data[j]+ASCiitoHEX(UART0_RData[i+1]);
 0000011C  E1A01005  MOV         R1,R5 ; i
 00000120  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 00000124  E7D00001  LDRB        R0,[R0,+R1]
 00000128  EBFFFFB4  BL          ASCiitoHEX?A  ; Targ=0x0
 0000012C  E1A01C00  MOV         R1,R0,LSL #24 ; ASCiitoHEX?A
 00000130  E1A01C21  MOV         R1,R1,LSR #24
 00000134  E1A02004  MOV         R2,R4 ; j
 00000138  E5100000  LDR         R0,=IM_Data ; IM_Data
 0000013C  E7D00002  LDRB        R0,[R0,+R2]
 00000140  E0800001  ADD         R0,R0,R1
 00000144  E1A02004  MOV         R2,R4 ; j
 00000148  E5101000  LDR         R1,=IM_Data ; IM_Data
 0000014C  E7C10002  STRB        R0,[R1,+R2]
   58:                     j++;
 00000150  E2844001  ADD         R4,R4,#0x0001 ; j
   59:                 }
 00000154  E2855002  ADD         R5,R5,#0x0002 ; i
 00000158          L_9:
 00000158  E5100000  LDR         R0,=IM_Data_Length ; IM_Data_Length
 0000015C  E5901000  LDR         R1,[R0,#0x0] ; IM_Data_Length
 00000160  E2811004  ADD         R1,R1,#0x0004
 00000164  E1A00005  MOV         R0,R5 ; i
 00000168  E1500001  CMP         R0,R1 ; i
 0000016C  9AFFFFE0  BLS         L_10  ; Targ=0xF4
   61:                 InData_Count = 0x00000000;
 00000170  E3A01000  MOV         R1,#0x0
 00000174  E5100000  LDR         R0,=InData_Count ; InData_Count
 00000178  E5801000  STR         R1,[R0,#0x0] ; InData_Count
   62:                 UART0_RE_Flag = 0xaaaaaaaa;
 0000017C  E5101000  LDR         R1,=0xAAAAAAAA
 00000180  E5100000  LDR         R0,=UART0_RE_Flag ; UART0_RE_Flag
 00000184  E5801000  STR         R1,[R0,#0x0] ; UART0_RE_Flag
   63:                 InData_RS_Flag=0x55555555;
 00000188  E5101000  LDR         R1,=0x55555555
 0000018C  E5100000  LDR         R0,=InData_RS_Flag ; InData_RS_Flag
 00000190  E5801000  STR         R1,[R0,#0x0] ; InData_RS_Flag
   66:                 InData();
 00000194  EBFFFF99  BL          InData?A  ; Targ=0x0
   67:             }
 00000198          L_6:
   69:             if (UART0_RData[1]==0x5A)  //char_Z  ZL1_ZL32
 00000198  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 0000019C  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+1
 000001A0  E350005A  CMP         R0,#0x005A
 000001A4  1A000027  BNE         L_12  ; Targ=0x248
   71:                 j=0;
 000001A8  E3A04000  MOV         R4,#0x0
   72:                 for(i=2;i<=9;i=i+2)
 000001AC  E3A05002  MOV         R5,#0x2
 000001B0  EA000018  B           L_15  ; Targ=0x218
 000001B4          L_16:
   74:                     Z_Data[j]=0x10*ASCiitoHEX(UART0_RData[i]);
 000001B4  E1A01005  MOV         R1,R5 ; i
 000001B8  E5100000  LDR         R0,=UART0_RData ; UART0_RData
 000001BC  E7D00001  LDRB        R0,[R0,+R1]
 000001C0  EBFFFF8E  BL          ASCiitoHEX?A  ; Targ=0x0
 000001C4  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 000001C8  E1A00C20  MOV         R0,R0,LSR #24
 000001CC  E1A00200  MOV         R0,R0,LSL #4
 000001D0  E1A02004  MOV         R2,R4 ; j
 000001D4  E5101000  LDR         R1,=Z_Data ; Z_Data
ARM COMPILER V2.20a,  test_P3                                                              18/07/05  12:57:54  PAGE 7   

 000001D8  E7C10002  STRB        R0,[R1,+R2]
   75:                     Z_Data[j]=Z_Data[j]+ASCiitoHEX(UART0_RData[i+1]);
 000001DC  E1A01005  MOV         R1,R5 ; i
 000001E0  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 000001E4  E7D00001  LDRB        R0,[R0,+R1]
 000001E8  EBFFFF84  BL          ASCiitoHEX?A  ; Targ=0x0
 000001EC  E1A01C00  MOV         R1,R0,LSL #24 ; ASCiitoHEX?A
 000001F0  E1A01C21  MOV         R1,R1,LSR #24
 000001F4  E1A02004  MOV         R2,R4 ; j
 000001F8  E5100000  LDR         R0,=Z_Data ; Z_Data
 000001FC  E7D00002  LDRB        R0,[R0,+R2]
 00000200  E0800001  ADD         R0,R0,R1
 00000204  E1A02004  MOV         R2,R4 ; j
 00000208  E5101000  LDR         R1,=Z_Data ; Z_Data
 0000020C  E7C10002  STRB        R0,[R1,+R2]
   76:                     j++;
 00000210  E2844001  ADD         R4,R4,#0x0001 ; j
   77:                 }
 00000214  E2855002  ADD         R5,R5,#0x0002 ; i
 00000218          L_15:
 00000218  E1A00005  MOV         R0,R5 ; i
 0000021C  E3500009  CMP         R0,#0x0009 ; i
 00000220  DAFFFFE3  BLE         L_16  ; Targ=0x1B4
   79:                 UART0_RE_Flag = 0xaaaaaaaa;
 00000224  E5101000  LDR         R1,=0xAAAAAAAA
 00000228  E5100000  LDR         R0,=UART0_RE_Flag ; UART0_RE_Flag
 0000022C  E5801000  STR         R1,[R0,#0x0] ; UART0_RE_Flag
   80:                 if (ZL_Flag==0x55555555) zl();
 00000230  E5100000  LDR         R0,=ZL_Flag ; ZL_Flag
 00000234  E5900000  LDR         R0,[R0,#0x0] ; ZL_Flag
 00000238  E5101000  LDR         R1,=0x55555555
 0000023C  E1500001  CMP         R0,R1
 00000240  1A000000  BNE         L_12  ; Targ=0x248
 00000244  EBFFFF6D  BL          zl?A  ; Targ=0x0
   81:             }
 00000248          L_12:
   83:             if (UART0_RData[1]==0x4B)  //char_K ctrl test board
 00000248  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 0000024C  E5D00000  LDRB        R0,[R0,#0x0] ; UART0_RData+1
 00000250  E350004B  CMP         R0,#0x004B
 00000254  1A000022  BNE         L_5  ; Targ=0x2E4
   85:                 j=0;
 00000258  E3A04000  MOV         R4,#0x0
   86:                 for(i=2;i<=9;i=i+2)
 0000025C  E3A05002  MOV         R5,#0x2
 00000260  EA000018  B           L_22  ; Targ=0x2C8
 00000264          L_23:
   88:                     K_Data[j]=0x10*ASCiitoHEX(UART0_RData[i]);
 00000264  E1A01005  MOV         R1,R5 ; i
 00000268  E5100000  LDR         R0,=UART0_RData ; UART0_RData
 0000026C  E7D00001  LDRB        R0,[R0,+R1]
 00000270  EBFFFF62  BL          ASCiitoHEX?A  ; Targ=0x0
 00000274  E1A00C00  MOV         R0,R0,LSL #24 ; ASCiitoHEX?A
 00000278  E1A00C20  MOV         R0,R0,LSR #24
 0000027C  E1A00200  MOV         R0,R0,LSL #4
 00000280  E1A02004  MOV         R2,R4 ; j
 00000284  E5101000  LDR         R1,=K_Data ; K_Data
 00000288  E7C10002  STRB        R0,[R1,+R2]
   89:                     K_Data[j]=K_Data[j]+ASCiitoHEX(UART0_RData[i+1]);
 0000028C  E1A01005  MOV         R1,R5 ; i
 00000290  E5100000  LDR         R0,=UART0_RData + 0x1 ; UART0_RData+1
 00000294  E7D00001  LDRB        R0,[R0,+R1]
 00000298  EBFFFF58  BL          ASCiitoHEX?A  ; Targ=0x0
 0000029C  E1A01C00  MOV         R1,R0,LSL #24 ; ASCiitoHEX?A
 000002A0  E1A01C21  MOV         R1,R1,LSR #24
 000002A4  E1A02004  MOV         R2,R4 ; j
ARM COMPILER V2.20a,  test_P3                                                              18/07/05  12:57:54  PAGE 8   

 000002A8  E5100000  LDR         R0,=K_Data ; K_Data
 000002AC  E7D00002  LDRB        R0,[R0,+R2]
 000002B0  E0800001  ADD         R0,R0,R1
 000002B4  E1A02004  MOV         R2,R4 ; j
 000002B8  E5101000  LDR         R1,=K_Data ; K_Data
 000002BC  E7C10002  STRB        R0,[R1,+R2]

⌨️ 快捷键说明

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