📄 sigproc.lis
字号:
00E6 X3:
00E6 .dbline 60
00E6 ; In_BPF_FILT_C1_REG = (In_BPF_FILT_C1_REG & 0xE0) | gain_table[++gain_level];
00E6 5104 mov A,[_gain_level]
00E8 0101 add A,1
00EA 5300 mov [__r0],A
00EC 5304 mov [_gain_level],A
00EE 5D80 mov A,REG[-128]
00F0 5300 mov [__r2],A
00F2 2600E0 and [__r2],-32
00F5 5F0000 mov [__r1],[__r0]
00F8 550000 mov [__r0],0
00FB 060000 add [__r1],<_gain_table
00FE 0E0000 adc [__r0],>_gain_table
0101 5100 mov A,[__r0]
0103 10 push X
0104 5800 mov X,[__r1]
0106 28 romx
0107 20 pop X
0108 5300 mov [__r0],A
010A 5100 mov A,[__r2]
010C 2A00 or A,[__r0]
010E 6080 mov REG[-128],A
0110 L17:
0110 .dbline 63
0110 550906 mov [L5],6
0113 8039 xjmp L20
0115 L19:
0115 .dbline 63
0115 .dbline 63
0115 5F0009 mov [__r1],[L5]
0118 550000 mov [__r0],0
011B 6500 asl [__r1]
011D 6B00 rlc [__r0]
011F 060006 add [__r1],<_hpf_buffer
0122 0E0006 adc [__r0],>_hpf_buffer
0125 5F0009 mov [__r3],[L5]
0128 550000 mov [__r2],0
012B 160001 sub [__r3],1
012E 1E0000 sbb [__r2],0
0131 6500 asl [__r3]
0133 6B00 rlc [__r2]
0135 060006 add [__r3],<_hpf_buffer
0138 0E0006 adc [__r2],>_hpf_buffer
013B 3E00 mvi A,[__r3]
013D 5300 mov [__r2],A
013F 3E00 mvi A,[__r3]
0141 5300 mov [__r3],A
0143 5100 mov A,[__r2]
0145 3F00 mvi [__r1],A
0147 5100 mov A,[__r3]
0149 3F00 mvi [__r1],A
014B .dbline 63
014B 7A09 dec [L5]
014D .dbline 63
014D L20:
014D .dbline 63
014D ;
014D ;
014D ; loop = HPF_BUFFER_LEN-1; while(loop) {hpf_buffer[loop] = hpf_buffer[loop-1]; loop--;}
014D 3C0900 cmp [L5],0
0150 BFC4 jnz L19
0152 .dbline 64
0152 ; hpf_buffer[0] = lpf2;
0152 5F0708 mov [_hpf_buffer+1],[L4+1]
0155 5F0607 mov [_hpf_buffer],[L4]
0158 .dbline 66
0158 ;
0158 ; hpf_data = hpf_buffer[6] - hpf_buffer[0];
0158 5113 mov A,[_hpf_buffer+12+1]
015A 1207 sub A,[_hpf_buffer+1]
015C 5301 mov [L6+1],A
015E 5112 mov A,[_hpf_buffer+12]
0160 1A06 sbb A,[_hpf_buffer]
0162 5300 mov [L6],A
0164 .dbline 68
0164 ;
0164 ; temp = hpf_buffer[1] - hpf_buffer[5];
0164 5109 mov A,[_hpf_buffer+2+1]
0166 1211 sub A,[_hpf_buffer+10+1]
0168 5303 mov [L7+1],A
016A 5108 mov A,[_hpf_buffer+2]
016C 1A10 sbb A,[_hpf_buffer+10]
016E 5302 mov [L7],A
0170 .dbline 69
0170 ; hpf_data += temp;
0170 5103 mov A,[L7+1]
0172 0401 add [L6+1],A
0174 5102 mov A,[L7]
0176 0C00 adc [L6],A
0178 .dbline 70
0178 ; temp <<= 3;
0178 6503 asl [L7+1]
017A 6B02 rlc [L7]
017C 6503 asl [L7+1]
017E 6B02 rlc [L7]
0180 6503 asl [L7+1]
0182 6B02 rlc [L7]
0184 .dbline 71
0184 ; hpf_data += temp;
0184 5103 mov A,[L7+1]
0186 0401 add [L6+1],A
0188 5102 mov A,[L7]
018A 0C00 adc [L6],A
018C .dbline 73
018C ;
018C ; temp = hpf_buffer[4] - hpf_buffer[2];
018C 510F mov A,[_hpf_buffer+8+1]
018E 120B sub A,[_hpf_buffer+4+1]
0190 5303 mov [L7+1],A
0192 510E mov A,[_hpf_buffer+8]
0194 1A0A sbb A,[_hpf_buffer+4]
0196 5302 mov [L7],A
0198 .dbline 74
0198 ; hpf_data -= temp;
0198 5103 mov A,[L7+1]
019A 1401 sub [L6+1],A
019C 5102 mov A,[L7]
019E 1C00 sbb [L6],A
01A0 .dbline 75
01A0 ; temp <<= 1;
01A0 6503 asl [L7+1]
01A2 6B02 rlc [L7]
01A4 .dbline 76
01A4 ; hpf_data -= temp;
01A4 5103 mov A,[L7+1]
01A6 1401 sub [L6+1],A
01A8 5102 mov A,[L7]
01AA 1C00 sbb [L6],A
01AC .dbline 77
01AC ; temp <<= 3;
01AC 6503 asl [L7+1]
01AE 6B02 rlc [L7]
01B0 6503 asl [L7+1]
01B2 6B02 rlc [L7]
01B4 6503 asl [L7+1]
01B6 6B02 rlc [L7]
01B8 .dbline 78
01B8 ; hpf_data += temp;
01B8 5103 mov A,[L7+1]
01BA 0401 add [L6+1],A
01BC 5102 mov A,[L7]
01BE 0C00 adc [L6],A
01C0 .dbline 79
01C0 ; temp <<= 1;
01C0 6503 asl [L7+1]
01C2 6B02 rlc [L7]
01C4 .dbline 80
01C4 ; hpf_data += temp;
01C4 5103 mov A,[L7+1]
01C6 0401 add [L6+1],A
01C8 5102 mov A,[L7]
01CA 0C00 adc [L6],A
01CC .dbline 82
01CC ;
01CC ; if (RANGE_POINTS == ran_cnt++)
01CC 5F000A mov [__r1],[L8]
01CF 550000 mov [__r0],0
01D2 5100 mov A,[__r1]
01D4 0101 add A,1
01D6 5300 mov [__r3],A
01D8 5000 mov A,0
01DA 0900 adc A,0
01DC 5F0A00 mov [L8],[__r3]
01DF 3C0000 cmp [__r0],0
01E2 B0D4 jnz L27
01E4 3C00C8 cmp [__r1],-56
01E7 B0CF jnz L27
01E9 X4:
01E9 .dbline 83
01E9 ; {
01E9 .dbline 84
01E9 ; temp = th + TH_DELTA;
01E9 510C mov A,[L9+1]
01EB 01C8 add A,-56
01ED 5303 mov [L7+1],A
01EF 510B mov A,[L9]
01F1 0900 adc A,0
01F3 5302 mov [L7],A
01F5 .dbline 86
01F5 ;
01F5 ; th += (adc_max >> (TH_FILTER_SHIFT+1)) - (th >> TH_FILTER_SHIFT);
01F5 5F000E mov [__r1],[L10+1]
01F8 5F000D mov [__r0],[L10]
01FB 6800 asr [__r0]
01FD 6E00 rrc [__r1]
01FF 6800 asr [__r0]
0201 6E00 rrc [__r1]
0203 5F000C mov [__r3],[L9+1]
0206 5F000B mov [__r2],[L9]
0209 6800 asr [__r2]
020B 6E00 rrc [__r3]
020D 5100 mov A,[__r3]
020F 1400 sub [__r1],A
0211 5100 mov A,[__r2]
0213 1C00 sbb [__r0],A
0215 5100 mov A,[__r1]
0217 040C add [L9+1],A
0219 5100 mov A,[__r0]
021B 0C0B adc [L9],A
021D .dbline 87
021D ; th = MIN(th, temp);
021D 510B mov A,[L9]
021F 3180 xor A,-128
0221 5300 mov [__rY],A
0223 5102 mov A,[L7]
0225 3180 xor A,-128
0227 5300 mov [__rZ],A
0229 550000 mov [__rX],0
022C 510C mov A,[L9+1]
022E 1203 sub A,[L7+1]
0230 2C00 or [__rX],A
0232 5100 mov A,[__rY]
0234 1A00 sbb A,[__rZ]
0236 2C00 or [__rX],A
0238 D00F jnc L30
023A 5100 mov A,[__rX]
023C A00B jz L30
023E X5:
023E 510C mov A,[L9+1]
0240 5401 mov [X+1],A
0242 510B mov A,[L9]
0244 5400 mov [X+0],A
0246 8009 xjmp L31
0248 L30:
0248 5103 mov A,[L7+1]
024A 5401 mov [X+1],A
024C 5102 mov A,[L7]
024E 5400 mov [X+0],A
0250 L31:
0250 5201 mov A,[X+1]
0252 530C mov [L9+1],A
0254 5200 mov A,[X+0]
0256 530B mov [L9],A
0258 .dbline 89
0258 ;
0258 ; if (th < TH_MIN) th = TH_MIN;
0258 510B mov A,[L9]
025A 3180 xor A,-128
025C 5300 mov [__rY],A
025E 5001 mov A,1
0260 3180 xor A,-128
0262 5300 mov [__rZ],A
0264 550000 mov [__rX],0
0267 510C mov A,[L9+1]
0269 112C sub A,44
026B 2C00 or [__rX],A
026D 5100 mov A,[__rY]
026F 1A00 sbb A,[__rZ]
0271 2C00 or [__rX],A
0273 D00B jnc L32
0275 5100 mov A,[__rX]
0277 A007 jz L32
0279 X6:
0279 .dbline 89
0279 550C2C mov [L9+1],44
027C 550B01 mov [L9],1
027F L32:
027F .dbline 90
027F ; if (th > TH_MAX) th = TH_MAX;
027F 510B mov A,[L9]
0281 3180 xor A,-128
0283 5300 mov [__rY],A
0285 5005 mov A,5
0287 3180 xor A,-128
0289 5300 mov [__rZ],A
028B 550000 mov [__rX],0
028E 510C mov A,[L9+1]
0290 11DC sub A,-36
0292 2C00 or [__rX],A
0294 5100 mov A,[__rY]
0296 1A00 sbb A,[__rZ]
0298 2C00 or [__rX],A
029A C00B jc L34
029C 5100 mov A,[__rX]
029E A007 jz L34
02A0 X7:
02A0 .dbline 90
02A0 550CDC mov [L9+1],-36
02A3 550B05 mov [L9],5
02A6 L34:
02A6 .dbline 92
02A6 ;
02A6 ; adc_max_prev = adc_max;
02A6 5F010E mov [_adc_max_prev+1],[L10+1]
02A9 5F000D mov [_adc_max_prev],[L10]
02AC .dbline 93
02AC ; adc_max = ran_cnt = 0;
02AC 550A00 mov [L8],0
02AF 550E00 mov [L10+1],0
02B2 550D00 mov [L10],0
02B5 .dbline 94
02B5 ; }
02B5 8028 xjmp L28
02B7 L27:
02B7 .dbline 96
02B7 ; else
02B7 ; if (hpf_data > adc_max) adc_max = hpf_data;
02B7 5100 mov A,[L6]
02B9 3180 xor A,-128
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -