📄 dataprocess.lst
字号:
71: lapcount++;
00000136 9803 LDR R0,[R13,#0xC] ; lapcount
00000138 3001 ADD R0,#0x1
0000013A 9003 STR R0,[R13,#0xC] ; lapcount
72: s=1;
0000013C 2101 MOV R1,#0x1
0000013E 4800 LDR R0,=s ; s
00000140 6001 STR R1,[R0,#0x0] ; s
73: }else if(abs(ratio-baseline)<35){ //计算得到呼吸率 在呼吸的过程中适时地调整基线值
00000142 E03E B L_6 ; T=0x000001C2
00000144 L_5:
00000144 1C29 MOV R1,R5 ; baseline
00000146 1C30 MOV R0,R6 ; ratio
00000148 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
0000014A FF5A BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
0000014C F7FF BL ?C?CASTF?T ; T=0x0001 (1) ; ?C?CASTF?T
0000014E FF58 BL ?C?CASTF?T ; T=0x0001 (2) ; ?C?CASTF?T
00000150 F7FF BL abs?T ; T=0x0001 (1)
00000152 FF56 BL abs?T ; T=0x0001 (2)
00000154 2823 CMP R0,#0x23 ; abs?T
00000156 DA34 BGE L_6 ; T=0x000001C2
74: lapcount++;
00000158 9803 LDR R0,[R13,#0xC] ; lapcount
0000015A 3001 ADD R0,#0x1
0000015C 9003 STR R0,[R13,#0xC] ; lapcount
75: if((lapflag=1)&&(ratio>baseline)){
0000015E 2301 MOV R3,#0x1
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 9
00000160 AA08 ADD R2,R13,#0x20
00000162 7013 STRB R3,[R2,#0x0] ; lapflag
00000164 1C2C MOV R4,R5 ; baseline
00000166 1C30 MOV R0,R6 ; ratio
00000168 1C21 MOV R1,R4 ; baseline
0000016A F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
0000016C FF49 BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
0000016E D9FF BLS L_8 ; T=0x00000170
76: baseline=ratio;
00000170 1C35 MOV R5,R6 ; ratio
77: }
00000172 L_8:
78: if((lapflag=1)&&(baseline>ratio+20)){
00000172 7013 STRB R3,[R2,#0x0] ; lapflag
00000174 4800 LDR R1,=0x41A00000
00000176 1C30 MOV R0,R6 ; ratio
00000178 F7FF BL ?C?FPADD?T ; T=0x0001 (1) ; ?C?FPADD?T
0000017A FF42 BL ?C?FPADD?T ; T=0x0001 (2) ; ?C?FPADD?T
0000017C 1C04 MOV R4,R0
0000017E 1C28 MOV R0,R5 ; baseline
00000180 1C21 MOV R1,R4
00000182 F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
00000184 FF3D BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
00000186 D916 BLS L_9 ; T=0x000001B6
79: if(s>0){
00000188 4800 LDR R0,=s ; s
0000018A 6802 LDR R2,[R0,#0x0] ; s
0000018C 2A00 CMP R2,#0x0
0000018E DD12 BLE L_9 ; T=0x000001B6
80: baseline=baseline-10;
00000190 4800 LDR R1,=0x41200000
00000192 1C28 MOV R0,R5 ; baseline
00000194 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
00000196 FF34 BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
00000198 1C05 MOV R5,R0 ; baseline
81: s--;
0000019A 4800 LDR R0,=s ; s
0000019C 1C11 MOV R1,R2
0000019E 3901 SUB R1,#0x1
000001A0 6001 STR R1,[R0,#0x0] ; s
82: if(baseline>ratio){
000001A2 1C34 MOV R4,R6 ; ratio
000001A4 1C28 MOV R0,R5 ; baseline
000001A6 1C21 MOV R1,R4 ; ratio
000001A8 F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
000001AA FF2A BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
000001AC D903 BLS L_9 ; T=0x000001B6
83: baseline=baseline-5;
000001AE 4800 LDR R1,=0x40A00000
000001B0 1C28 MOV R0,R5 ; baseline
000001B2 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
000001B4 FF25 BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
000001B6 1C05 MOV R5,R0 ; baseline
86: }
000001B8 L_9:
87: rrflag=0;
000001B8 2100 MOV R1,#0x0
000001BA A806 ADD R0,R13,#0x18
000001BC 7001 STRB R1,[R0,#0x0] ; rrflag
88: rrflag2=1;
000001BE 2101 MOV R1,#0x1
000001C0 A807 ADD R0,R13,#0x1C
000001C2 7001 STRB R1,[R0,#0x0] ; rrflag2
89: }
000001C4 L_6:
90: if(rrflag==1&&rrflag2==1){
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 10
000001C4 A806 ADD R0,R13,#0x18
000001C6 7800 LDRB R0,[R0,#0x0] ; rrflag
000001C8 2801 CMP R0,#0x1
000001CA D169 BNE L_15 ; T=0x000002A0
000001CC AA07 ADD R2,R13,#0x1C
000001CE 7810 LDRB R0,[R2,#0x0] ; rrflag2
000001D0 2801 CMP R0,#0x1
000001D2 D165 BNE L_15 ; T=0x000002A0
91: rr=rr/2+5600/lapcount/2; //滚动计算
000001D4 9903 LDR R1,[R13,#0xC] ; lapcount
000001D6 4800 LDR R0,=0x15E0
000001D8 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000001DA FF12 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000001DC 1C08 MOV R0,R1
000001DE 2402 MOV R4,#0x2
000001E0 1C21 MOV R1,R4
000001E2 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000001E4 FF0D BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000001E6 1C0B MOV R3,R1
000001E8 9804 LDR R0,[R13,#0x10] ; rr
000001EA 1C21 MOV R1,R4
000001EC F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
000001EE FF08 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
000001F0 1C08 MOV R0,R1
000001F2 18C0 ADD R0,R3
000001F4 9004 STR R0,[R13,#0x10] ; rr
93: if(rr<100){
000001F6 9B04 LDR R3,[R13,#0x10] ; rr
000001F8 2B64 CMP R3,#0x64
000001FA DA12 BGE L_13 ; T=0x00000222
94: rr1=(rr/128);
000001FC 2480 MOV R4,#0x80
000001FE 1C18 MOV R0,R3
00000200 1C21 MOV R1,R4
00000202 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
00000204 FEFD BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
00000206 1C08 MOV R0,R1
00000208 0601 LSL R1,R0,#0x18
0000020A 0E09 LSR R1,R1,#0x18
0000020C 4800 LDR R0,=rr1 ; rr1
0000020E 7001 STRB R1,[R0,#0x0] ; rr1
95: rr2=(rr%128);
00000210 1C18 MOV R0,R3
00000212 1C21 MOV R1,R4
00000214 F7FF BL ?C?SDIV?T ; T=0x0001 (1) ; ?C?SDIV?T
00000216 FEF4 BL ?C?SDIV?T ; T=0x0001 (2) ; ?C?SDIV?T
00000218 1C01 MOV R1,R0
0000021A 0609 LSL R1,R1,#0x18
0000021C 0E09 LSR R1,R1,#0x18
0000021E 4800 LDR R0,=rr2 ; rr2
00000220 7001 STRB R1,[R0,#0x0] ; rr2
96: }else{
00000222 E004 B L_14 ; T=0x0000022E
00000224 L_13:
97: rr1=0;
00000224 2100 MOV R1,#0x0
00000226 4800 LDR R0,=rr1 ; rr1
00000228 7001 STRB R1,[R0,#0x0] ; rr1
98: rr2=20;
0000022A 2114 MOV R1,#0x14
0000022C 4800 LDR R0,=rr2 ; rr2
0000022E 7001 STRB R1,[R0,#0x0] ; rr2
99: }
00000230 L_14:
100: lapcount=1;
00000230 2001 MOV R0,#0x1
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 11
00000232 9003 STR R0,[R13,#0xC] ; lapcount
101: rrflag2=0;
00000234 2100 MOV R1,#0x0
00000236 7011 STRB R1,[R2,#0x0] ; rrflag2
102: rrflag=0;
00000238 A806 ADD R0,R13,#0x18
0000023A 7001 STRB R1,[R0,#0x0] ; rrflag
103: lapflag=0;
0000023C A808 ADD R0,R13,#0x20
0000023E 7001 STRB R1,[R0,#0x0] ; lapflag
105: }else{
00000240 E02E B L_15 ; T=0x000002A0
00000242 L_1:
106: if(flagadjust!=0){ //系统首次运行,进行绝对校准,以后则不在运行
00000242 4800 LDR R0,=flagadjust ; flagadjust
00000244 7800 LDRB R0,[R0,#0x0] ; flagadjust
00000246 2800 CMP R0,#0x0
00000248 D009 BEQ L_16 ; T=0x0000025E
107: flagadjust=0;
0000024A 2100 MOV R1,#0x0
0000024C 4800 LDR R0,=flagadjust ; flagadjust
0000024E 7001 STRB R1,[R0,#0x0] ; flagadjust
108: baseline=baseline2;
00000250 1C3D MOV R5,R7 ; baseline2
109: baseline2=0;
00000252 2700 MOV R7,#0x0
110: count=150;
00000254 2096 MOV R0,#0x96
00000256 9002 STR R0,[R13,#0x8] ; count
111: countadjust=count;
00000258 9902 LDR R1,[R13,#0x8] ; count
0000025A 4800 LDR R0,=countadjust ; countadjust
0000025C 6001 STR R1,[R0,#0x0] ; countadjust
112: }else{
0000025E E01F B L_15 ; T=0x000002A0
00000260 L_16:
113: if(abs(baseline2-baseline)<30){
00000260 1C29 MOV R1,R5 ; baseline
00000262 1C38 MOV R0,R7 ; baseline2
00000264 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
00000266 FECC BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
00000268 F7FF BL ?C?CASTF?T ; T=0x0001 (1) ; ?C?CASTF?T
0000026A FECA BL ?C?CASTF?T ; T=0x0001 (2) ; ?C?CASTF?T
0000026C F7FF BL abs?T ; T=0x0001 (1)
0000026E FEC8 BL abs?T ; T=0x0001 (2)
00000270 281E CMP R0,#0x1E ; abs?T
00000272 DA0F BGE L_18 ; T=0x00000294
114: if(baseline2>baseline){
00000274 1C2C MOV R4,R5 ; baseline
00000276 1C38 MOV R0,R7 ; baseline2
00000278 1C21 MOV R1,R4 ; baseline
0000027A F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
0000027C FEC1 BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
0000027E D904 BLS L_19 ; T=0x0000028A
115: baseline=baseline+2;
00000280 4800 LDR R1,=0x40000000
00000282 1C28 MOV R0,R5 ; baseline
00000284 F7FF BL ?C?FPADD?T ; T=0x0001 (1) ; ?C?FPADD?T
00000286 FEBC BL ?C?FPADD?T ; T=0x0001 (2) ; ?C?FPADD?T
00000288 1C05 MOV R5,R0 ; baseline
116: }else{
0000028A E003 B L_18 ; T=0x00000294
0000028C L_19:
117: baseline=baseline-2;
0000028C 4800 LDR R1,=0x40000000
0000028E 1C28 MOV R0,R5 ; baseline
ARM COMPILER V2.42, DataProcess 17/01/09 22:24:15 PAGE 12
00000290 F7FF BL ?C?FPSUB?T ; T=0x0001 (1) ; ?C?FPSUB?T
00000292 FEB6 BL ?C?FPSUB?T ; T=0x0001 (2) ; ?C?FPSUB?T
00000294 1C05 MOV R5,R0 ; baseline
119: }
00000296 L_18:
120: baseline2=0;
00000296 2700 MOV R7,#0x0
121: count=300;
00000298 484B LDR R0,=0x12C
0000029A 9002 STR R0,[R13,#0x8] ; count
122: countadjust=count;
0000029C 9902 LDR R1,[R13,#0x8] ; count
0000029E 4800 LDR R0,=countadjust ; countadjust
000002A0 6001 STR R1,[R0,#0x0] ; countadjust
124: }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -