📄 main.lis
字号:
01B6 L36:
01B6 .dbline 158
01B6 6436 cpi R22,100
01B8 18F3 brlo L33
01BA L35:
01BA .dbline 177
01BA ; }
01BA ; else
01BA ; {
01BA ; addr=0xff;
01BA ;
01BA ; }
01BA ; }
01BA ; return(addr);
01BA 00910B00 lds R16,_addr
01BE .dbline -2
01BE L32:
01BE 00D0 rcall pop_gset4
01C0 .dbline 0 ; func end
01C0 0895 ret
01C2 .dbsym r b 12 c
01C2 .dbsym r a 10 c
01C2 .dbsym r i 22 c
01C2 .dbsym r j 20 c
01C2 .dbend
01C2 .dbfunc e lookup_led _lookup_led fV
01C2 ; a -> R22
01C2 ; b -> R20
01C2 ; j -> R10
.even
01C2 _lookup_led::
01C2 00D0 rcall push_gset3
01C4 A02E mov R10,R16
01C6 .dbline -1
01C6 .dbline 181
01C6 ; }
01C6 ;
01C6 ; void lookup_led(unsigned char j)
01C6 ; {
01C6 .dbline 183
01C6 ; unsigned char a,b;
01C6 ; WDR();
01C6 A895 wdr
01C8 .dbline 184
01C8 ; j=(j*4)+2;
01C8 84E0 ldi R24,4
01CA 8A9D mul R24,R10
01CC 802D mov R24,R0
01CE 8E5F subi R24,254 ; addi 2
01D0 A82E mov R10,R24
01D2 .dbline 185
01D2 ; a=EEPROM_read(j);
01D2 082F mov R16,R24
01D4 00D0 rcall _EEPROM_read
01D6 602F mov R22,R16
01D8 .dbline 186
01D8 ; j++;
01D8 A394 inc R10
01DA .dbline 187
01DA ; b=EEPROM_read(j);
01DA 0A2D mov R16,R10
01DC 00D0 rcall _EEPROM_read
01DE 402F mov R20,R16
01E0 .dbline 188
01E0 ; j++;
01E0 A394 inc R10
01E2 .dbline 189
01E2 ; d3=a;
01E2 60931700 sts _d3,R22
01E6 .dbline 190
01E6 ; d4=(b&0xf0)>>4;
01E6 842F mov R24,R20
01E8 807F andi R24,240
01EA 8295 swap R24
01EC 8F70 andi R24,#0x0F
01EE 80931600 sts _d4,R24
01F2 .dbline 191
01F2 ; d5=(b&0x0f);
01F2 842F mov R24,R20
01F4 8F70 andi R24,15
01F6 80931500 sts _d5,R24
01FA .dbline 192
01FA ; if(d3<10) dipdata[3]=diptable[d3];
01FA 6A30 cpi R22,10
01FC 50F4 brsh L41
01FE .dbline 192
01FE 80E0 ldi R24,<_diptable
0200 90E0 ldi R25,>_diptable
0202 E62F mov R30,R22
0204 FF27 clr R31
0206 E80F add R30,R24
0208 F91F adc R31,R25
020A E491 lpm R30,Z
020C E0930E00 sts _dipdata+3,R30
0210 08C0 rjmp L42
0212 L41:
0212 .dbline 194
0212 ; else
0212 ; {dipdata[3]=diptable[0];d3=0;}
0212 .dbline 194
0212 E0E0 ldi R30,<_diptable
0214 F0E0 ldi R31,>_diptable
0216 E491 lpm R30,Z
0218 E0930E00 sts _dipdata+3,R30
021C .dbline 194
021C 2224 clr R2
021E 20921700 sts _d3,R2
0222 .dbline 194
0222 L42:
0222 .dbline 195
0222 ; if(d4<10) dipdata[4]=diptable[d4];
0222 80911600 lds R24,_d4
0226 8A30 cpi R24,10
0228 58F4 brsh L45
022A .dbline 195
022A 80E0 ldi R24,<_diptable
022C 90E0 ldi R25,>_diptable
022E E0911600 lds R30,_d4
0232 FF27 clr R31
0234 E80F add R30,R24
0236 F91F adc R31,R25
0238 E491 lpm R30,Z
023A E0930F00 sts _dipdata+4,R30
023E 08C0 rjmp L46
0240 L45:
0240 .dbline 197
0240 ; else
0240 ; {dipdata[4]=diptable[0];d4=0;}
0240 .dbline 197
0240 E0E0 ldi R30,<_diptable
0242 F0E0 ldi R31,>_diptable
0244 E491 lpm R30,Z
0246 E0930F00 sts _dipdata+4,R30
024A .dbline 197
024A 2224 clr R2
024C 20921600 sts _d4,R2
0250 .dbline 197
0250 L46:
0250 .dbline 198
0250 ; if(d5<10) dipdata[5]=diptable[d5];
0250 80911500 lds R24,_d5
0254 8A30 cpi R24,10
0256 58F4 brsh L49
0258 .dbline 198
0258 80E0 ldi R24,<_diptable
025A 90E0 ldi R25,>_diptable
025C E0911500 lds R30,_d5
0260 FF27 clr R31
0262 E80F add R30,R24
0264 F91F adc R31,R25
0266 E491 lpm R30,Z
0268 E0931000 sts _dipdata+5,R30
026C 08C0 rjmp L50
026E L49:
026E .dbline 200
026E .dbline 200
026E E0E0 ldi R30,<_diptable
0270 F0E0 ldi R31,>_diptable
0272 E491 lpm R30,Z
0274 E0931000 sts _dipdata+5,R30
0278 .dbline 200
0278 2224 clr R2
027A 20921500 sts _d5,R2
027E .dbline 200
027E L50:
027E .dbline -2
027E L40:
027E 00D0 rcall pop_gset3
0280 .dbline 0 ; func end
0280 0895 ret
0282 .dbsym r a 22 c
0282 .dbsym r b 20 c
0282 .dbsym r j 10 c
0282 .dbend
0282 .dbfunc e set_led _set_led fV
0282 ; c -> <dead>
0282 ; b -> <dead>
0282 ; a -> <dead>
0282 ; j -> R20
0282 ; d -> R22
0282 ; e -> R10
0282 ; i -> R12
.even
0282 _set_led::
0282 00D0 rcall push_gset4
0284 .dbline -1
0284 .dbline 204
0284 ; else
0284 ; {dipdata[5]=diptable[0];d5=0;}
0284 ; }
0284 ; //设定模式
0284 ; void set_led(void)
0284 ; {
0284 .dbline 205
0284 ; unsigned char i,j,a,b,c,d=0,e;
0284 6627 clr R22
0286 .dbline 206
0286 ; sec=30;
0286 8EE1 ldi R24,30
0288 80930400 sts _sec,R24
028C .dbline 207
028C ; flagh &=~0x01;
028C 80910300 lds R24,_flagh
0290 8E7F andi R24,254
0292 80930300 sts _flagh,R24
0296 .dbline 208
0296 ; dipdata[0]=diptable[0]; //在上一行显示记忆体位置
0296 E0E0 ldi R30,<_diptable
0298 F0E0 ldi R31,>_diptable
029A E491 lpm R30,Z
029C E0930B00 sts _dipdata,R30
02A0 .dbline 209
02A0 ; dipdata[1]=diptable[0];
02A0 E0E0 ldi R30,<_diptable
02A2 F0E0 ldi R31,>_diptable
02A4 E491 lpm R30,Z
02A6 E0930C00 sts _dipdata+1,R30
02AA .dbline 210
02AA ; dipdata[2]=diptable[0];
02AA E0E0 ldi R30,<_diptable
02AC F0E0 ldi R31,>_diptable
02AE E491 lpm R30,Z
02B0 E0930D00 sts _dipdata+2,R30
02B4 .dbline 211
02B4 ; lookup_led(d); //下一行显示门牌号
02B4 062F mov R16,R22
02B6 85DF rcall _lookup_led
02B8 .dbline 213
02B8 ;
02B8 ; D1FC=1;
02B8 81E0 ldi R24,1
02BA 80931D00 sts _D1FC,R24
02BE 01C0 rjmp L57
02C0 L56:
02C0 .dbline 215
02C0 .dbline 216
02C0 A895 wdr
02C2 .dbline 217
02C2 L57:
02C2 .dbline 214
02C2 ; while(!(PIND&0x80))
02C2 4F9B sbis 0x9,7
02C4 FDCF rjmp L56
02C6 78C2 rjmp L60
02C8 L59:
02C8 .dbline 219
02C8 ; {
02C8 ; WDR();
02C8 ; }
02C8 ; while(!(flagh&0x01))
02C8 ; {
02C8 .dbline 220
02C8 ; WDR();
02C8 A895 wdr
02CA .dbline 221
02CA ; i=key_1();
02CA 00D0 rcall _key_1
02CC C02E mov R12,R16
02CE .dbline 222
02CE ; if(i==1) //设置闪烁位
02CE 0130 cpi R16,1
02D0 09F0 breq X0
02D2 4EC0 rjmp L62
02D4 X0:
02D4 .dbline 223
02D4 ; {
02D4 .dbline 224
02D4 ; WDR();
02D4 A895 wdr
02D6 .dbline 225
02D6 ; sec=30;
02D6 8EE1 ldi R24,30
02D8 80930400 sts _sec,R24
02DC .dbline 226
02DC ; if((D3FC!=0)&&(D4FC!=0)&&(D5FC!=0))
02DC 20901B00 lds R2,_D3FC
02E0 2220 tst R2
02E2 A9F0 breq L64
02E4 20901A00 lds R2,_D4FC
02E8 2220 tst R2
02EA 89F0 breq L64
02EC 20901900 lds R2,_D5FC
02F0 2220 tst R2
02F2 69F0 breq L64
02F4 .dbline 227
02F4 ; {
02F4 .dbline 228
02F4 ; D3FC=0;
02F4 2224 clr R2
02F6 20921B00 sts _D3FC,R2
02FA .dbline 229
02FA ; D4FC=0;
02FA 20921A00 sts _D4FC,R2
02FE .dbline 230
02FE ; D5FC=0;
02FE 20921900 sts _D5FC,R2
0302 .dbline 231
0302 ; flagh |=0x01;
0302 80910300 lds R24,_flagh
0306 8160 ori R24,1
0308 80930300 sts _flagh,R24
030C .dbline 232
030C ; goto exit_1;
030C 31C0 rjmp L66
030E L64:
030E .dbline 234
030E ; }
030E ; if(D1FC!=0)
030E 20901D00 lds R2,_D1FC
0312 2220 tst R2
0314 39F0 breq L67
0316 .dbline 235
0316 ; {
0316 .dbline 236
0316 ; D1FC=0;
0316 2224 clr R2
0318 20921D00 sts _D1FC,R2
031C .dbline 237
031C ; D3FC=1;
031C 81E0 ldi R24,1
031E 80931B00 sts _D3FC,R24
0322 .dbline 238
0322 ; goto exit_1;
0322 26C0 rjmp L66
0324 L67:
0324 .dbline 240
0324 ; }
0324 ; if(D3FC!=0)
0324 20901B00 lds R2,_D3FC
0328 2220 tst R2
032A 39F0 breq L69
032C .dbline 241
032C ; {
032C .dbline 242
032C ; D3FC=0;
032C 2224 clr R2
032E 20921B00 sts _D3FC,R2
0332 .dbline 243
0332 ; D4FC=1;
0332 81E0 ldi R24,1
0334 80931A00 sts _D4FC,R24
0338 .dbline 244
0338 ; goto exit_1;
0338 1BC0 rjmp L66
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -