📄 rs485test.lst
字号:
90: j++;
000002C0 E2844001 ADD R4,R4,#0x0001 ; j
91: }
000002C4 E2855002 ADD R5,R5,#0x0002 ; i
000002C8 L_22:
000002C8 E1A00005 MOV R0,R5 ; i
000002CC E3500009 CMP R0,#0x0009 ; i
000002D0 DAFFFFE3 BLE L_23 ; Targ=0x264
93: UART0_RE_Flag = 0xaaaaaaaa;
000002D4 E5101000 LDR R1,=0xAAAAAAAA
000002D8 E5100000 LDR R0,=UART0_RE_Flag ; UART0_RE_Flag
000002DC E5801000 STR R1,[R0,#0x0] ; UART0_RE_Flag
94: control();
000002E0 EBFFFF46 BL control?A ; Targ=0x0
97: }
000002E4 L_5:
99: if ((S0PSR_tmp==0x80)&&((IO0PIN&0x00001000)==0x00001000))
000002E4 E5100000 LDR R0,=S0PSR_tmp ; S0PSR_tmp
000002E8 E5D00000 LDRB R0,[R0,#0x0] ; S0PSR_tmp
000002EC E3500080 CMP R0,#0x0080
000002F0 1A00000C BNE L_25 ; Targ=0x328
000002F4 E5100000 LDR R0,=0xE0028000
000002F8 E5900000 LDR R0,[R0,#0x0]
000002FC E3100A01 TST R0,#0x1000
00000300 0A000008 BEQ L_25 ; Targ=0x328
101: S0PSR_tmp=0x00;
00000304 E3A01000 MOV R1,#0x0
00000308 E5100000 LDR R0,=S0PSR_tmp ; S0PSR_tmp
0000030C E5C01000 STRB R1,[R0,#0x0] ; S0PSR_tmp
102: InData_RE_Flag=0x55555555;
00000310 E5101000 LDR R1,=0x55555555
00000314 E5100000 LDR R0,=InData_RE_Flag ; InData_RE_Flag
00000318 E5801000 STR R1,[R0,#0x0] ; InData_RE_Flag
103: InData_RS_Flag=0xaaaaaaaa;
0000031C E5101000 LDR R1,=0xAAAAAAAA
00000320 E5100000 LDR R0,=InData_RS_Flag ; InData_RS_Flag
00000324 E5801000 STR R1,[R0,#0x0] ; InData_RS_Flag
104: }
00000328 L_25:
106: if (InData_RE_Flag==0x55555555)
00000328 E5100000 LDR R0,=InData_RE_Flag ; InData_RE_Flag
0000032C E5900000 LDR R0,[R0,#0x0] ; InData_RE_Flag
00000330 E5101000 LDR R1,=0x55555555
00000334 E1500001 CMP R0,R1
00000338 1AFFFF32 BNE L_3 ; Targ=0x8
108: S0PCR = 0x10; // pclk/100
0000033C E3A01010 MOV R1,#0x10
00000340 E5100000 LDR R0,=0xE0020000
00000344 E5C01000 STRB R1,[R0,#0x0]
109: for (i=1;i<=(InData_Count+4);i++)
00000348 E3A05001 MOV R5,#0x1
0000034C EA000012 B L_29 ; Targ=0x39C
00000350 L_30:
111: UART0_TData[2*i-1]=HEXtoASCii((SPI0_InData[i-1])>>4);
00000350 E1A01005 MOV R1,R5 ; i
00000354 E5100000 LDR R0,=SPI0_InData + 0xFFFFFFFF ; SPI0_InData-1
00000358 E7D00001 LDRB R0,[R0,+R1]
0000035C E1A00220 MOV R0,R0,LSR #4
00000360 EBFFFF26 BL HEXtoASCii?A ; Targ=0x0
00000364 E1A02005 MOV R2,R5 ; i
ARM COMPILER V2.20a, test_P3 18/07/05 12:57:54 PAGE 9
00000368 E1A02082 MOV R2,R2,LSL #1 ; i
0000036C E5101000 LDR R1,=UART0_TData + 0xFFFFFFFF ; UART0_TData-1
00000370 E7C10002 STRB R0,[R1,+R2]
112: UART0_TData[2*i]=HEXtoASCii((SPI0_InData[i-1])&0x0f);
00000374 E1A01005 MOV R1,R5 ; i
00000378 E5100000 LDR R0,=SPI0_InData + 0xFFFFFFFF ; SPI0_InData-1
0000037C E7D00001 LDRB R0,[R0,+R1]
00000380 E200000F AND R0,R0,#0x000F
00000384 EBFFFF1D BL HEXtoASCii?A ; Targ=0x0
00000388 E1A02005 MOV R2,R5 ; i
0000038C E1A02082 MOV R2,R2,LSL #1 ; i
00000390 E5101000 LDR R1,=UART0_TData ; UART0_TData
00000394 E7C10002 STRB R0,[R1,+R2]
113: }
00000398 E2855001 ADD R5,R5,#0x0001 ; i
0000039C L_29:
0000039C E5100000 LDR R0,=InData_Count ; InData_Count
000003A0 E5901000 LDR R1,[R0,#0x0] ; InData_Count
000003A4 E2811004 ADD R1,R1,#0x0004
000003A8 E1A00005 MOV R0,R5 ; i
000003AC E1500001 CMP R0,R1 ; i
000003B0 9AFFFFE6 BLS L_30 ; Targ=0x350
115: U0THR = 0x53;
000003B4 E3A01053 MOV R1,#0x53
000003B8 E5100000 LDR R0,=0xE000C000
000003BC E5C01000 STRB R1,[R0,#0x0]
116: UART0_TData[2*InData_Count+1]=0x51;
000003C0 E3A00051 MOV R0,#0x51
000003C4 E5101000 LDR R1,=InData_Count ; InData_Count
000003C8 E5912000 LDR R2,[R1,#0x0] ; InData_Count
000003CC E1A02082 MOV R2,R2,LSL #1
000003D0 E2822001 ADD R2,R2,#0x0001
000003D4 E5101000 LDR R1,=UART0_TData ; UART0_TData
000003D8 E7C10002 STRB R0,[R1,+R2]
118: UART0_T_Count=0x00000000;
000003DC E3A01000 MOV R1,#0x0
000003E0 E5100000 LDR R0,=UART0_T_Count ; UART0_T_Count
000003E4 E5801000 STR R1,[R0,#0x0] ; UART0_T_Count
119: UART0_TS_Flag = 0x55555555;
000003E8 E5101000 LDR R1,=0x55555555
000003EC E5100000 LDR R0,=UART0_TS_Flag ; UART0_TS_Flag
000003F0 E5801000 STR R1,[R0,#0x0] ; UART0_TS_Flag
120: InData_RE_Flag=0xaaaaaaaa;
000003F4 E5101000 LDR R1,=0xAAAAAAAA
000003F8 E5100000 LDR R0,=InData_RE_Flag ; InData_RE_Flag
000003FC E5801000 STR R1,[R0,#0x0] ; InData_RE_Flag
123: }
00000400 EAFFFF00 B L_3 ; Targ=0x8
125: return(0);
00000404 ; SCOPE-END
126: }
00000404 E8BD0008 LDMIA R13!,{R3}
00000408 E12FFF13 BX R3
0000040C ENDP ; 'main'
*** CODE SEGMENT '?PR?ASCiitoHEX?A?test_P3':
129: unsigned char ASCiitoHEX(unsigned char str1)
00000000 E1A01000 MOV R1,R0 ; str1
00000004 ---- Variable 'str1' assigned to Register 'R1' ----
131: 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_33 ; Targ=0x40
00000018 E1A00001 MOV R0,R1 ; str1
0000001C E1A00C00 MOV R0,R0,LSL #24 ; str1
ARM COMPILER V2.20a, test_P3 18/07/05 12:57:54 PAGE 10
00000020 E1A00C20 MOV R0,R0,LSR #24
00000024 E3500039 CMP R0,#0x0039
00000028 CA000004 BGT L_33 ; Targ=0x40
133: 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_34 ; Targ=0x80
134: }
00000040 L_33:
135: 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_35 ; 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_35 ; Targ=0x7C
137: 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_34 ; Targ=0x80
138: }
0000007C L_35:
140: return 1;
0000007C E3A00001 MOV R0,#0x1
141: }
00000080 L_34:
00000080 E12FFF1E BX R14
00000084 ENDP ; 'ASCiitoHEX?A'
*** CODE SEGMENT '?PR?HEXtoASCii?A?test_P3':
144: unsigned char HEXtoASCii(unsigned char str1)
00000000 E1A01000 MOV R1,R0 ; str1
00000004 ---- Variable 'str1' assigned to Register 'R1' ----
146: 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_36 ; Targ=0x2C
148: 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_37 ; Targ=0x6C
149: }
0000002C L_36:
150: 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_38 ; 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_38 ; Targ=0x68
152: return(str1+0x37);
ARM COMPILER V2.20a, test_P3 18/07/05 12:57:54 PAGE 11
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_37 ; Targ=0x6C
153: }
00000068 L_38:
155: return 1;
00000068 E3A00001 MOV R0,#0x1
0000006C L_37:
0000006C E12FFF1E BX R14
00000070 ENDP ; 'HEXtoASCii?A'
Module Information Static
----------------------------------
code size = ------
data size = 571
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 + -