📄 sigproc.lis
字号:
02BB 5300 mov [__rY],A
02BD 510D mov A,[L10]
02BF 3180 xor A,-128
02C1 5300 mov [__rZ],A
02C3 550000 mov [__rX],0
02C6 5101 mov A,[L6+1]
02C8 120E sub A,[L10+1]
02CA 2C00 or [__rX],A
02CC 5100 mov A,[__rY]
02CE 1A00 sbb A,[__rZ]
02D0 2C00 or [__rX],A
02D2 C00B jc L36
02D4 5100 mov A,[__rX]
02D6 A007 jz L36
02D8 X8:
02D8 .dbline 96
02D8 5F0E01 mov [L10+1],[L6+1]
02DB 5F0D00 mov [L10],[L6]
02DE L36:
02DE L28:
02DE .dbline 98
02DE ;
02DE ; int_cnt++;
02DE 7612 inc [L12+1]
02E0 0E1100 adc [L12],0
02E3 .dbline 100
02E3 ;
02E3 ; if (hpf_data < th)
02E3 5100 mov A,[L6]
02E5 3180 xor A,-128
02E7 5300 mov [__rY],A
02E9 510B mov A,[L9]
02EB 3180 xor A,-128
02ED 5300 mov [__rZ],A
02EF 550000 mov [__rX],0
02F2 5101 mov A,[L6+1]
02F4 120C sub A,[L9+1]
02F6 2C00 or [__rX],A
02F8 5100 mov A,[__rY]
02FA 1A00 sbb A,[__rZ]
02FC 2C00 or [__rX],A
02FE D070 jnc L38
0300 5100 mov A,[__rX]
0302 A06C jz L38
0304 X9:
0304 .dbline 101
0304 ; {
0304 .dbline 102
0304 ; if (peak_max > 0)
0304 510F mov A,[L11]
0306 3180 xor A,-128
0308 5300 mov [__rY],A
030A 5000 mov A,0
030C 3180 xor A,-128
030E 5300 mov [__rZ],A
0310 550000 mov [__rX],0
0313 5110 mov A,[L11+1]
0315 1100 sub A,0
0317 2C00 or [__rX],A
0319 5100 mov A,[__rY]
031B 1A00 sbb A,[__rZ]
031D 2C00 or [__rX],A
031F C07C jc L39
0321 5100 mov A,[__rX]
0323 A078 jz L39
0325 X10:
0325 .dbline 103
0325 ; {
0325 .dbline 104
0325 ; if (peak_ind > peak_ind_old) peak_delta = peak_ind - peak_ind_old;
0325 5113 mov A,[L13]
0327 3A04 cmp A,[L14]
0329 B007 jnz X12
032B 5114 mov A,[L13+1]
032D 3A05 cmp A,[L14+1]
032F A011 jz L42
0331 X12:
0331 C00F jc L42
0333 X11:
0333 .dbline 104
0333 5114 mov A,[L13+1]
0335 1205 sub A,[L14+1]
0337 5303 mov [_peak_delta+1],A
0339 5113 mov A,[L13]
033B 1A04 sbb A,[L14]
033D 5302 mov [_peak_delta],A
033F 8021 xjmp L43
0341 L42:
0341 .dbline 106
0341 ; else
0341 ; {
0341 .dbline 107
0341 ; peak_delta = PULSE_INTERVAL_MAX - peak_ind_old;
0341 50FF mov A,-1
0343 1205 sub A,[L14+1]
0345 5303 mov [_peak_delta+1],A
0347 50FF mov A,-1
0349 1A04 sbb A,[L14]
034B 5302 mov [_peak_delta],A
034D .dbline 108
034D ; peak_delta += peak_delta + 1;
034D 5103 mov A,[_peak_delta+1]
034F 0101 add A,1
0351 5300 mov [__r1],A
0353 5102 mov A,[_peak_delta]
0355 0900 adc A,0
0357 5300 mov [__r0],A
0359 5100 mov A,[__r1]
035B 0403 add [_peak_delta+1],A
035D 5100 mov A,[__r0]
035F 0C02 adc [_peak_delta],A
0361 .dbline 109
0361 ; }
0361 L43:
0361 .dbline 110
0361 ; peak_ind_old = peak_ind;
0361 5F0514 mov [L14+1],[L13+1]
0364 5F0413 mov [L14],[L13]
0367 .dbline 111
0367 ; peak_max = 0;
0367 551000 mov [L11+1],0
036A 550F00 mov [L11],0
036D .dbline 112
036D ; }
036D .dbline 113
036D ; }
036D 802E xjmp L39
036F L38:
036F .dbline 115
036F ; else
036F ; if (hpf_data > peak_max)
036F 5100 mov A,[L6]
0371 3180 xor A,-128
0373 5300 mov [__rY],A
0375 510F mov A,[L11]
0377 3180 xor A,-128
0379 5300 mov [__rZ],A
037B 550000 mov [__rX],0
037E 5101 mov A,[L6+1]
0380 1210 sub A,[L11+1]
0382 2C00 or [__rX],A
0384 5100 mov A,[__rY]
0386 1A00 sbb A,[__rZ]
0388 2C00 or [__rX],A
038A C011 jc L44
038C 5100 mov A,[__rX]
038E A00D jz L44
0390 X13:
0390 .dbline 116
0390 ; {
0390 .dbline 117
0390 ; peak_max = hpf_data;
0390 5F1001 mov [L11+1],[L6+1]
0393 5F0F00 mov [L11],[L6]
0396 .dbline 118
0396 ; peak_ind = int_cnt;
0396 5F1412 mov [L13+1],[L12+1]
0399 5F1311 mov [L13],[L12]
039C .dbline 119
039C ; }
039C L44:
039C L39:
039C .dbline -2
039C .dbline 120
039C ; }
039C L2:
039C 38FE add SP,-2
039E 20 pop X
039F 18 pop A
03A0 5300 mov [__rZ],A
03A2 18 pop A
03A3 5300 mov [__rY],A
03A5 18 pop A
03A6 5300 mov [__rX],A
03A8 18 pop A
03A9 5300 mov [__r3],A
03AB 18 pop A
03AC 5300 mov [__r2],A
03AE 18 pop A
03AF 5300 mov [__r1],A
03B1 18 pop A
03B2 5300 mov [__r0],A
03B4 18 pop A
03B5 .dbline 0 ; func end
03B5 7E reti
03B6 .dbend
03B6 .dbfunc e GetADCRange _GetADCRange fI
03B6 ; temp -> X+0
03B6 _GetADCRange::
03B6 .dbline -1
03B6 10 push X
03B7 4F mov X,SP
03B8 3802 add SP,2
03BA .dbline 124
03BA ;
03BA ;
03BA ; INT GetADCRange(void)
03BA ; {
03BA .dbline 127
03BA ; INT temp;
03BA ;
03BA ; M8C_DisableGInt;
03BA 70FE and F, FEh
03BC
03BC .dbline 128
03BC ; temp = adc_max_prev;
03BC 5101 mov A,[_adc_max_prev+1]
03BE 5401 mov [X+1],A
03C0 5100 mov A,[_adc_max_prev]
03C2 5400 mov [X+0],A
03C4 .dbline 129
03C4 ; M8C_EnableGInt;
03C4 7101 or F, 01h
03C6
03C6 .dbline 131
03C6 ;
03C6 ; return temp;
03C6 5201 mov A,[X+1]
03C8 5300 mov [__r1],A
03CA 5200 mov A,[X+0]
03CC 5300 mov [__r0],A
03CE .dbline -2
03CE L46:
03CE 38FE add SP,-2
03D0 20 pop X
03D1 .dbline 0 ; func end
03D1 7F ret
03D2 .dbsym l temp 0 I
03D2 .dbend
03D2 .dbfunc e GetPulseDelta _GetPulseDelta fi
03D2 ; temp -> X+0
03D2 _GetPulseDelta::
03D2 .dbline -1
03D2 10 push X
03D3 4F mov X,SP
03D4 3802 add SP,2
03D6 .dbline 135
03D6 ; }
03D6 ;
03D6 ; PULSE_INTERVAL_TYPE GetPulseDelta(void)
03D6 ; {
03D6 .dbline 138
03D6 ; PULSE_INTERVAL_TYPE temp;
03D6 ;
03D6 ; M8C_DisableGInt;
03D6 70FE and F, FEh
03D8
03D8 .dbline 139
03D8 ; temp = peak_delta;
03D8 5103 mov A,[_peak_delta+1]
03DA 5401 mov [X+1],A
03DC 5102 mov A,[_peak_delta]
03DE 5400 mov [X+0],A
03E0 .dbline 140
03E0 ; peak_delta = 0;
03E0 550300 mov [_peak_delta+1],0
03E3 550200 mov [_peak_delta],0
03E6 .dbline 141
03E6 ; M8C_EnableGInt;
03E6 7101 or F, 01h
03E8
03E8 .dbline 143
03E8 ;
03E8 ; return temp;
03E8 5201 mov A,[X+1]
03EA 5300 mov [__r1],A
03EC 5200 mov A,[X+0]
03EE 5300 mov [__r0],A
03F0 .dbline -2
03F0 L47:
03F0 38FE add SP,-2
03F2 20 pop X
03F3 .dbline 0 ; func end
03F3 7F ret
03F4 .dbsym l temp 0 i
03F4 .dbend
03F4 .dbfunc e GetGainLevel _GetGainLevel fc
03F4 _GetGainLevel::
03F4 .dbline -1
03F4 .dbline 147
03F4 ; }
03F4 ;
03F4 ; BYTE GetGainLevel(void)
03F4 ; {
03F4 .dbline 148
03F4 ; return gain_level;
03F4 5104 mov A,[_gain_level]
03F6 .dbline -2
03F6 L48:
03F6 .dbline 0 ; func end
03F6 7F ret
03F7 .dbend
.area bss(ram, con, rel)
0006 .dbfile ./sigproc.c
0006 _hpf_buffer:
0006 .blkb 14
0014 .dbsym s hpf_buffer _hpf_buffer A[14:7]I
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -