📄 dataprocess.lst
字号:
000002A2 L_15:
125: ratioint=(int)(((baseline-ratio)*(float)factor/10)+880); //波形的计算公式
000002A2 1C31 MOV R1,R6 ; ratio
000002A4 1C28 MOV R0,R5 ; baseline
000002A6 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
000002A8 FEAB BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
000002AA 1C02 MOV R2,R0
000002AC 4800 LDR R0,=factor ; factor
000002AE 7800 LDRB R0,[R0,#0x0] ; factor
000002B0 F7FF BL ?C?FCASTU?T ; T=0x0001 (1) ; ?C?FCASTU?T
000002B2 FEA6 BL ?C?FCASTU?T ; T=0x0001 (2) ; ?C?FCASTU?T
000002B4 1C01 MOV R1,R0
000002B6 1C10 MOV R0,R2
000002B8 F7FF BL ?C?FPMUL?T ; T=0x0001 (1) ; ?C?FPMUL?T
000002BA FEA2 BL ?C?FPMUL?T ; T=0x0001 (2) ; ?C?FPMUL?T
000002BC 4800 LDR R1,=0x41200000
000002BE F7FF BL ?C?FPDIV?T ; T=0x0001 (1) ; ?C?FPDIV?T
000002C0 FE9F BL ?C?FPDIV?T ; T=0x0001 (2) ; ?C?FPDIV?T
000002C2 4800 LDR R1,=0x445C0000
000002C4 F7FF BL ?C?FPADD?T ; T=0x0001 (1) ; ?C?FPADD?T
000002C6 FE9C BL ?C?FPADD?T ; T=0x0001 (2) ; ?C?FPADD?T
000002C8 F7FF BL ?C?CASTF?T ; T=0x0001 (1) ; ?C?CASTF?T
000002CA FE9A BL ?C?CASTF?T ; T=0x0001 (2) ; ?C?CASTF?T
000002CC 4800 LDR R1,=ratioint ; ratioint
000002CE 6008 STR R0,[R1,#0x0] ; ratioint
126: a1=((ratioint/256)<<1)+(((ratioint%256)&0x80)/128); //
-取值转换
000002D0 4800 LDR R0,=ratioint ; ratioint
000002D2 6805 LDR R5,[R0,#0x0] ; ratioint
000002D4 4A40 LDR R2,=0x100
000002D6 1C28 MOV R0,R5
000002D8 1C11 MOV R1,R2
000002DA F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000002DC FE91 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000002DE 1C06 MOV R6,R0
000002E0 2480 MOV R4,#0x80
000002E2 1C30 MOV R0,R6
000002E4 4020 AND R0,R4
000002E6 1C21 MOV R1,R4
000002E8 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000002EA FE8A BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000002EC 1C0B MOV R3,R1
000002EE 1C28 MOV R0,R5
000002F0 1C11 MOV R1,R2
000002F2 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000002F4 FE85 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000002F6 1C08 MOV R0,R1
000002F8 0041 LSL R1,R0,#0x1
000002FA 18C9 ADD R1,R3
000002FC 0609 LSL R1,R1,#0x18
000002FE 0E09 LSR R1,R1,#0x18
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 13
00000300 4800 LDR R0,=a1 ; a1
00000302 7001 STRB R1,[R0,#0x0] ; a1
127: a2=(ratioint%256)&0x7f;
00000304 237F MOV R3,#0x7F
00000306 1C31 MOV R1,R6
00000308 4019 AND R1,R3
0000030A 0609 LSL R1,R1,#0x18
0000030C 0E09 LSR R1,R1,#0x18
0000030E 4800 LDR R0,=a2 ; a2
00000310 7001 STRB R1,[R0,#0x0] ; a2
128: if(ratioint>1150){
00000312 4800 LDR R0,=0x47E
00000314 4285 CMP R5,R0
00000316 DD39 BLE L_21 ; T=0x0000038C
129: v++;
00000318 4800 LDR R0,=v ; v
0000031A 6801 LDR R1,[R0,#0x0] ; v
0000031C 3101 ADD R1,#0x1
0000031E 6001 STR R1,[R0,#0x0] ; v
130: etc=etc+ratioint;
00000320 4800 LDR R0,=etc ; etc
00000322 6801 LDR R1,[R0,#0x0] ; etc
00000324 1949 ADD R1,R5
00000326 4800 LDR R0,=etc ; etc
00000328 6001 STR R1,[R0,#0x0] ; etc
131: p=0;
0000032A 2100 MOV R1,#0x0
0000032C 4800 LDR R0,=p ; p
0000032E 6001 STR R1,[R0,#0x0] ; p
132: if(v>6){
00000330 4800 LDR R0,=v ; v
00000332 6800 LDR R0,[R0,#0x0] ; v
00000334 2806 CMP R0,#0x6
00000336 DD29 BLE L_21 ; T=0x0000038C
133: etc=etc/210;
00000338 4800 LDR R0,=etc ; etc
0000033A 6800 LDR R0,[R0,#0x0] ; etc
0000033C 21D2 MOV R1,#0xD2
0000033E F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
00000340 FE5F BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
00000342 1C08 MOV R0,R1
00000344 4800 LDR R1,=etc ; etc
00000346 6008 STR R0,[R1,#0x0] ; etc
134: ratiointendh=((etc/256)<<1)+(((etc%256)&0x80)/128);
00000348 4800 LDR R0,=etc ; etc
0000034A 6805 LDR R5,[R0,#0x0] ; etc
0000034C 1C28 MOV R0,R5
0000034E 1C11 MOV R1,R2
00000350 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
00000352 FE56 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
00000354 1C02 MOV R2,R0
00000356 4020 AND R0,R4
00000358 1C21 MOV R1,R4
0000035A F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
0000035C FE51 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
0000035E 1C0C MOV R4,R1
00000360 4940 LDR R1,=0x100
00000362 1C28 MOV R0,R5
00000364 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
00000366 FE4C BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
00000368 1C08 MOV R0,R1
0000036A 0041 LSL R1,R0,#0x1
0000036C 1909 ADD R1,R4
0000036E 0609 LSL R1,R1,#0x18
00000370 0E09 LSR R1,R1,#0x18
00000372 4800 LDR R0,=ratiointendh ; ratiointendh
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 14
00000374 7001 STRB R1,[R0,#0x0] ; ratiointendh
135: ratiointendl=(etc%256)&0x7f;
00000376 1C11 MOV R1,R2
00000378 4019 AND R1,R3
0000037A 0609 LSL R1,R1,#0x18
0000037C 0E09 LSR R1,R1,#0x18
0000037E 4800 LDR R0,=ratiointendl ; ratiointendl
00000380 7001 STRB R1,[R0,#0x0] ; ratiointendl
136: etc=0;
00000382 2100 MOV R1,#0x0
00000384 4800 LDR R0,=etc ; etc
00000386 6001 STR R1,[R0,#0x0] ; etc
137: v=0;
00000388 2100 MOV R1,#0x0
0000038A 4800 LDR R0,=v ; v
0000038C 6001 STR R1,[R0,#0x0] ; v
139: }
0000038E L_21:
140: if(ratioint<1005){
0000038E 4800 LDR R0,=ratioint ; ratioint
00000390 6800 LDR R0,[R0,#0x0] ; ratioint
00000392 4800 LDR R1,=0x3ED
00000394 4288 CMP R0,R1
00000396 DA0C BGE L_23 ; T=0x000003B2
141: p++;
00000398 4800 LDR R0,=p ; p
0000039A 6801 LDR R1,[R0,#0x0] ; p
0000039C 3101 ADD R1,#0x1
0000039E 6001 STR R1,[R0,#0x0] ; p
142: if(p>1000){
000003A0 4800 LDR R0,=p ; p
000003A2 6800 LDR R0,[R0,#0x0] ; p
000003A4 49FA LDR R1,=0x3E8
000003A6 4288 CMP R0,R1
000003A8 DD03 BLE L_23 ; T=0x000003B2
143: ratiointendh=0;
000003AA 2100 MOV R1,#0x0
000003AC 4800 LDR R0,=ratiointendh ; ratiointendh
000003AE 7001 STRB R1,[R0,#0x0] ; ratiointendh
144: ratiointendl=0;
000003B0 4800 LDR R0,=ratiointendl ; ratiointendl
000003B2 7001 STRB R1,[R0,#0x0] ; ratiointendl
146: }
000003B4 L_23:
147: if(ttflag==0&&flagadjust!=0){
000003B4 4800 LDR R0,=ttflag ; ttflag
000003B6 7800 LDRB R0,[R0,#0x0] ; ttflag
000003B8 1C04 MOV R4,R0
000003BA 2C00 CMP R4,#0x0
000003BC D112 BNE L_25 ; T=0x000003E4
000003BE 4800 LDR R0,=flagadjust ; flagadjust
000003C0 7800 LDRB R0,[R0,#0x0] ; flagadjust
000003C2 2800 CMP R0,#0x0
000003C4 D00E BEQ L_25 ; T=0x000003E4
148: SendHex(0x80);
000003C6 2080 MOV R0,#0x80
000003C8 F7FF BL SendHex?T ; T=0x0001 (1)
000003CA FE1A BL SendHex?T ; T=0x0001 (2)
149: SendHex(0x04);
000003CC 2004 MOV R0,#0x4
000003CE F7FF BL SendHex?T ; T=0x0001 (1)
000003D0 FE17 BL SendHex?T ; T=0x0001 (2)
150: SendHex(0x05);
000003D2 2005 MOV R0,#0x5
000003D4 F7FF BL SendHex?T ; T=0x0001 (1)
000003D6 FE14 BL SendHex?T ; T=0x0001 (2)
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 15
151: SendHex(0x07);
000003D8 2007 MOV R0,#0x7
000003DA F7FF BL SendHex?T ; T=0x0001 (1)
000003DC FE11 BL SendHex?T ; T=0x0001 (2)
152: SendHex(0x68);
000003DE 2068 MOV R0,#0x68
000003E0 F7FF BL SendHex?T ; T=0x0001 (1)
000003E2 FE0E BL SendHex?T ; T=0x0001 (2)
153: }else if(ttflag==0){ //波形输出
000003E4 E011 B L_26 ; T=0x0000040A
000003E6 L_25:
000003E6 2C00 CMP R4,#0x0
000003E8 D10F BNE L_26 ; T=0x0000040A
154: SendHex(0x80);
000003EA 2080 MOV R0,#0x80
000003EC F7FF BL SendHex?T ; T=0x0001 (1)
000003EE FE08 BL SendHex?T ; T=0x0001 (2)
155: SendHex(0x04);
000003F0 2004 MOV R0,#0x4
000003F2 F7FF BL SendHex?T ; T=0x0001 (1)
000003F4 FE05 BL SendHex?T ; T=0x0001 (2)
156: SendHex(0x05);
000003F6 2005 MOV R0,#0x5
000003F8 F7FF BL SendHex?T ; T=0x0001 (1)
000003FA FE02 BL SendHex?T ; T=0x0001 (2)
157: SendHex(a1);
000003FC 4800 LDR R0,=a1 ; a1
000003FE 7800 LDRB R0,[R0,#0x0] ; a1
00000400 F7FF BL SendHex?T ; T=0x0001 (1)
00000402 FDFE BL SendHex?T ; T=0x0001 (2)
158: SendHex(a2);
00000404 4800 LDR R0,=a2 ; a2
00000406 7800 LDRB R0,[R0,#0x0] ; a2
00000408 F7FF BL SendHex?T ; T=0x0001 (1)
0000040A FDFA BL SendHex?T ; T=0x0001 (2)
159: }
0000040C L_26:
0000040C ; SCOPE-END
0000040C B009 ADD R13,#0x24
0000040E BCF0 POP {R4-R7}
00000410 BC08 POP {R3}
00000412 4718 BX R3
00000414 ENDP ; 'DataProc?T'
Module Information Static
----------------------------------
code size = ------
data size = 54
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 + -