📄 main.lis
字号:
01BD 5100 mov A,[__r0]
01BF 08 push A
01C0 10 push X
01C1 5003 mov A,3
01C3 08 push A
01C4 50E7 mov A,-25
01C6 08 push A
01C7 52FC mov A,[X-4]
01C9 0102 add A,2
01CB 5300 mov [__r1],A
01CD 52FB mov A,[X-5]
01CF 0900 adc A,0
01D1 3E00 mvi A,[__r1]
01D3 5300 mov [__r0],A
01D5 3E00 mvi A,[__r1]
01D7 5300 mov [__r1],A
01D9 5100 mov A,[__r0]
01DB 08 push A
01DC 5100 mov A,[__r1]
01DE 08 push A
01DF 9E1F xcall _strfrm
01E1 5100 mov A,[__r0]
01E3 08 push A
01E4 5100 mov A,[__r1]
01E6 08 push A
01E7 7C0000 xcall _LcdStr
01EA 38F8 add SP,-8
01EC 800C xjmp L25
01EE L24:
01EE .dbline 99
01EE ; if (params->min) LcdStr(strfrm(params->min, MAX_VALUE, buffer)); else LcdCStr(INFO_BLANK_NUMBER);
01EE 50DD mov A,>L23
01F0 08 push A
01F1 50DD mov A,<L23
01F3 08 push A
01F4 7C0000 xcall _LcdCStr
01F7 38FE add SP,-2
01F9 L25:
01F9 .dbline 101
01F9 ;
01F9 ; LcdGoto(POS_DATA_COL, POS_MAX_ROW);
01F9 5002 mov A,2
01FB 08 push A
01FC 5023 mov A,35
01FE 08 push A
01FF 7C0000 xcall _LcdGoto
0202 38FE add SP,-2
0204 .dbline 102
0204 52FC mov A,[X-4]
0206 0104 add A,4
0208 5300 mov [__r1],A
020A 52FB mov A,[X-5]
020C 0900 adc A,0
020E 3E00 mvi A,[__r1]
0210 5300 mov [__r0],A
0212 3E00 mvi A,[__r1]
0214 3C0000 cmp [__r0],0
0217 B005 jnz X6
0219 3900 cmp A,0
021B A032 jz L26
021D X6:
021D .dbline 102
021D 5100 mov A,[__r0]
021F 08 push A
0220 10 push X
0221 5003 mov A,3
0223 08 push A
0224 50E7 mov A,-25
0226 08 push A
0227 52FC mov A,[X-4]
0229 0104 add A,4
022B 5300 mov [__r1],A
022D 52FB mov A,[X-5]
022F 0900 adc A,0
0231 3E00 mvi A,[__r1]
0233 5300 mov [__r0],A
0235 3E00 mvi A,[__r1]
0237 5300 mov [__r1],A
0239 5100 mov A,[__r0]
023B 08 push A
023C 5100 mov A,[__r1]
023E 08 push A
023F 9DBF xcall _strfrm
0241 5100 mov A,[__r0]
0243 08 push A
0244 5100 mov A,[__r1]
0246 08 push A
0247 7C0000 xcall _LcdStr
024A 38F8 add SP,-8
024C 800C xjmp L27
024E L26:
024E .dbline 102
024E ; if (params->max) LcdStr(strfrm(params->max, MAX_VALUE, buffer)); else LcdCStr(INFO_BLANK_NUMBER);
024E 50DD mov A,>L23
0250 08 push A
0251 50DD mov A,<L23
0253 08 push A
0254 7C0000 xcall _LcdCStr
0257 38FE add SP,-2
0259 L27:
0259 .dbline 104
0259 ;
0259 ; LcdGoto(POS_DATA_COL, POS_MODE_ROW);
0259 5003 mov A,3
025B 08 push A
025C 5023 mov A,35
025E 08 push A
025F 7C0000 xcall _LcdGoto
0262 38FE add SP,-2
0264 .dbline 105
0264 ; CHECKBIT(params->flags, FLAG_MODE_BIT)?(LcdCStr(INFO_MODE_INSTANT)):(LcdCStr(INFO_MODE_AVERAGE));
0264 52FC mov A,[X-4]
0266 0108 add A,8
0268 5300 mov [__r1],A
026A 52FB mov A,[X-5]
026C 0900 adc A,0
026E 3E00 mvi A,[__r1]
0270 5300 mov [__r0],A
0272 470004 tst [__r0],4
0275 A00E jz L30
0277 50D8 mov A,>L28
0279 08 push A
027A 50D8 mov A,<L28
027C 08 push A
027D 7C0000 xcall _LcdCStr
0280 38FE add SP,-2
0282 800C xjmp L31
0284 L30:
0284 50D3 mov A,>L29
0286 08 push A
0287 50D3 mov A,<L29
0289 08 push A
028A 7C0000 xcall _LcdCStr
028D 38FE add SP,-2
028F L31:
028F .dbline 107
028F ;
028F ; LcdGoto(POS_DATA_COL, POS_GAIN_ROW);
028F 5004 mov A,4
0291 08 push A
0292 5023 mov A,35
0294 08 push A
0295 7C0000 xcall _LcdGoto
0298 .dbline 108
0298 ; LcdStr(strfrm(params->gain, MAX_VALUE, buffer));
0298 5100 mov A,[__r0]
029A 08 push A
029B 10 push X
029C 5003 mov A,3
029E 08 push A
029F 50E7 mov A,-25
02A1 08 push A
02A2 52FC mov A,[X-4]
02A4 0106 add A,6
02A6 5300 mov [__r1],A
02A8 52FB mov A,[X-5]
02AA 0900 adc A,0
02AC 3E00 mvi A,[__r1]
02AE 5300 mov [__r1],A
02B0 5000 mov A,0
02B2 08 push A
02B3 5100 mov A,[__r1]
02B5 08 push A
02B6 9D48 xcall _strfrm
02B8 38F8 add SP,-8
02BA 5100 mov A,[__r0]
02BC 08 push A
02BD 5100 mov A,[__r1]
02BF 08 push A
02C0 7C0000 xcall _LcdStr
02C3 .dbline 110
02C3 ;
02C3 ; LcdGoto(POS_DATA_COL, POS_STATUS_ROW);
02C3 5005 mov A,5
02C5 08 push A
02C6 5023 mov A,35
02C8 08 push A
02C9 7C0000 xcall _LcdGoto
02CC 38FC add SP,-4
02CE .dbline 111
02CE ; CHECKBIT(params->flags, FLAG_ERROR_BIT)?(LcdCStr(INFO_STATUS_ERROR)):(LcdCStr(INFO_STATUS_WORK));
02CE 52FC mov A,[X-4]
02D0 0108 add A,8
02D2 5300 mov [__r1],A
02D4 52FB mov A,[X-5]
02D6 0900 adc A,0
02D8 3E00 mvi A,[__r1]
02DA 5300 mov [__r0],A
02DC 470001 tst [__r0],1
02DF A00E jz L34
02E1 50CD mov A,>L32
02E3 08 push A
02E4 50CD mov A,<L32
02E6 08 push A
02E7 7C0000 xcall _LcdCStr
02EA 38FE add SP,-2
02EC 800C xjmp L35
02EE L34:
02EE 50C7 mov A,>L33
02F0 08 push A
02F1 50C7 mov A,<L33
02F3 08 push A
02F4 7C0000 xcall _LcdCStr
02F7 38FE add SP,-2
02F9 L35:
02F9 .dbline 113
02F9 ;
02F9 ; LcdVBargraph(POS_BARGRAPH, POS_BARGRAPH_START, POS_BARGRAPH_STOP, params->swing);
02F9 52FC mov A,[X-4]
02FB 0107 add A,7
02FD 5300 mov [__r1],A
02FF 52FB mov A,[X-5]
0301 0900 adc A,0
0303 3E00 mvi A,[__r1]
0305 08 push A
0306 5005 mov A,5
0308 08 push A
0309 5000 mov A,0
030B 08 push A
030C 504B mov A,75
030E 08 push A
030F 7C0000 xcall _LcdVBargraph
0312 38FC add SP,-4
0314 .dbline -2
0314 .dbline 114
0314 ; }
0314 L12:
0314 38FB add SP,-5
0316 20 pop X
0317 .dbline 0 ; func end
0317 7F ret
0318 .dbsym l buffer 0 A[5:5]c
0318 .dbsym l params -5 pX
0318 .dbend
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 L37:
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile ./main.c
.area text(rom, con, rel)
0318 .dbfile ./main.c
0318 .dbfunc e ReadButtons _ReadButtons fc
0318 .dbsym s last_read L37 c
0318 ; result -> X+1
0318 ; temp -> X+0
0318 _ReadButtons::
0318 .dbline -1
0318 10 push X
0319 4F mov X,SP
031A 3802 add SP,2
031C .dbline 117
031C ;
031C ; BYTE ReadButtons(void)
031C ; {
031C .dbline 119
031C ; static BYTE last_read = 0;
031C ; BYTE temp, result = 0;
031C 560100 mov [X+1],0
031F .dbline 121
031F ;
031F ; BUTTONS_PORT |= BIT(BUTTON_MODE_BIT) | BIT(BUTTON_RESET_BIT);
031F 430828 or REG[8],40
0322 .dbline 122
0322 ; temp = BUTTONS_PORT & (BIT(BUTTON_MODE_BIT) | BIT(BUTTON_RESET_BIT));
0322 5D08 mov A,REG[8]
0324 2128 and A,40
0326 5400 mov [X+0],A
0328 .dbline 124
0328 ;
0328 ; result = (temp ^ last_read) & (~temp);
0328 5200 mov A,[X+0]
032A 3200 xor A,[L37]
032C 5300 mov [__r0],A
032E 5200 mov A,[X+0]
0330 73 cpl A
0331 5300 mov [__r2],A
0333 5100 mov A,[__r0]
0335 2200 and A,[__r2]
0337 5401 mov [X+1],A
0339 .dbline 125
0339 ; last_read = temp;
0339 5200 mov A,[X+0]
033B 5300 mov [L37],A
033D .dbline 127
033D ;
033D ; return result;
033D 5201 mov A,[X+1]
033F .dbline -2
033F L36:
033F 38FE add SP,-2
0341 20 pop X
0342 .dbline 0 ; func end
0342 7F ret
0343 .dbsym l result 1 c
0343 .dbsym l temp 0 c
0343 .dbend
0343 .dbfunc e main _main fV
0343 _main::
0343 .dbline -1
0343 10 push X
0344 4F mov X,SP
0345 3802 add SP,2
0347 .dbline 133
0347 ; }
0347 ;
0347 ;
0347 ;
0347 ; void main()
0347 ; {
0347 .dbline 134
0347 ; In_PGA_Start(In_PGA_HIGHPOWER);
0347 10 push X
0348 5003 mov A,3
034A 7C0000 xcall _In_PGA_Start
034D .dbline 135
034D ; In_PGA_SetGain(In_PGA_G1_00);
034D 50F8 mov A,-8
034F 7C0000 xcall _In_PGA_SetGain
0352 .dbline 137
0352 ;
0352 ; Carrier_Timer_Start();
0352 7C0000 xcall _Carrier_Timer_Start
0355 .dbline 138
0355 ; Mixer_Start(Mixer_HIGHPOWER);
0355 5003 mov A,3
0357 7C0000 xcall _Mixer_Start
035A .dbline 140
035A ;
035A ; In_BPF_Start(In_BPF_HIGHPOWER);
035A 5003 mov A,3
035C 7C0000 xcall _In_BPF_Start
035F 20 pop X
0360 .dbline 147
0360 ;
0360 ; #if DEBUG
0360 ; Exchange_Start();
0360 ; #endif
0360 ;
0360 ; //AMD_CR1 |= 0x01; -- global output bus driven
0360 ; AMD_CR1 |= 0x04; // -- comparator bus driven
0360 7110 or F,0x10 ; iopage = 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -