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

📄 dataprocess.lst

📁 aduc7026裸机程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   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 + -