📄 edu.lst
字号:
0287 3081 CPI R24,1
0288 F418 BCC 0x028C
(0268) guest_id=1;
0289 E081 LDI R24,1
028A 93800140 STS _guest_id,R24
(0269) if(key==5)
028C 01FE MOVW R30,R28
028D 53E2 SUBI R30,0x32
028E 4FFF SBCI R31,0xFF
028F 8180 LDD R24,Z+0
0290 3085 CPI R24,5
0291 F009 BEQ 0x0293
0292 C04E RJMP 0x02E1
(0270) {
(0271) lcd_buffer[0]=table[i];
0293 E680 LDI R24,0x60
0294 E090 LDI R25,0
0295 01DE MOVW R26,R28
0296 53A6 SUBI R26,0x36
0297 4FBF SBCI R27,0xFF
0298 91EC LD R30,0(X)
0299 27FF CLR R31
029A 0FE8 ADD R30,R24
029B 1FF9 ADC R31,R25
029C 8020 LDD R2,Z+0
029D 92200142 STS _lcd_buffer,R2
(0272) lcd_buffer[6]=table[k];
029F 01DE MOVW R26,R28
02A0 53A5 SUBI R26,0x35
02A1 4FBF SBCI R27,0xFF
02A2 91EC LD R30,0(X)
02A3 27FF CLR R31
02A4 0FE8 ADD R30,R24
02A5 1FF9 ADC R31,R25
02A6 8020 LDD R2,Z+0
02A7 92200148 STS 0x148,R2
(0273)
(0274) PORTB&=~BIT(PB5);
02A9 98C5 CBI 0x18,5
(0275) PORTC&=~BIT(PC1);
02AA 98A9 CBI 0x15,1
02AB C025 RJMP 0x02D1
(0276) while(!((PIND|0x97)==0x97))
(0277) {
(0278) if(t<50)
02AC 9180013F LDS R24,_t
02AE 3382 CPI R24,0x32
02AF F480 BCC 0x02C0
(0279) {
(0280) send_data(0x10,table[0]|0x10);
02B0 91200060 LDS R18,0x60
02B2 6120 ORI R18,0x10
02B3 E100 LDI R16,0x10
02B4 940E0A59 CALL _send_data
(0281) send_data(0,lcd_buffer[0]);
02B6 91200142 LDS R18,_lcd_buffer
02B8 2700 CLR R16
02B9 940E0A59 CALL _send_data
(0282) send_data(12,lcd_buffer[6]);
02BB 91200148 LDS R18,0x148
02BD E00C LDI R16,0xC
02BE 940E0A59 CALL _send_data
(0283) }
(0284) if(t>50)
02C0 E382 LDI R24,0x32
02C1 9020013F LDS R2,_t
02C3 1582 CP R24,R2
02C4 F460 BCC 0x02D1
(0285) {
(0286) send_data(0x10,0);
02C5 2722 CLR R18
02C6 E100 LDI R16,0x10
02C7 940E0A59 CALL _send_data
(0287) send_data(0,0);
02C9 2722 CLR R18
02CA 2700 CLR R16
02CB 940E0A59 CALL _send_data
(0288) send_data(12,0);
02CD 2722 CLR R18
02CE E00C LDI R16,0xC
02CF 940E0A59 CALL _send_data
02D1 B380 IN R24,0x10
02D2 6987 ORI R24,0x97
02D3 3987 CPI R24,0x97
02D4 F6B9 BNE 0x02AC
(0289) }
(0290) }
(0291) EEPROMwrite(0x02,guest_id);
02D5 91200140 LDS R18,_guest_id
02D7 E002 LDI R16,2
02D8 E010 LDI R17,0
02D9 940E0BCB CALL _EEPROMwrite
(0292) EEPROMwrite(0x03,host_id);
02DB 91200141 LDS R18,_host_id
02DD E003 LDI R16,3
02DE E010 LDI R17,0
02DF 940E0BCB CALL _EEPROMwrite
02E1 01FE MOVW R30,R28
02E2 53E2 SUBI R30,0x32
02E3 4FFF SBCI R31,0xFF
02E4 8180 LDD R24,Z+0
02E5 3085 CPI R24,5
02E6 F009 BEQ 0x02E8
02E7 CEEC RJMP 0x01D4
(0293) }
(0294) }
(0295) }
(0296) i=guest_id/10;
02E8 E01A LDI R17,0xA
02E9 91000140 LDS R16,_guest_id
02EB 940E0B82 CALL div8u
02ED 01FE MOVW R30,R28
02EE 53E6 SUBI R30,0x36
02EF 4FFF SBCI R31,0xFF
02F0 8300 STD Z+0,R16
(0297) j=guest_id-10*i;
02F1 E08A LDI R24,0xA
02F2 2E00 MOV R0,R16
02F3 9D80 MUL R24,R0
02F4 90200140 LDS R2,_guest_id
02F6 1820 SUB R2,R0
02F7 01FE MOVW R30,R28
02F8 53E4 SUBI R30,0x34
02F9 4FFF SBCI R31,0xFF
02FA 8220 STD Z+0,R2
(0298) lcd_buffer[0]=table[i];
02FB E680 LDI R24,0x60
02FC E090 LDI R25,0
02FD 01DE MOVW R26,R28
02FE 53A6 SUBI R26,0x36
02FF 4FBF SBCI R27,0xFF
0300 91EC LD R30,0(X)
0301 27FF CLR R31
0302 0FE8 ADD R30,R24
0303 1FF9 ADC R31,R25
0304 8020 LDD R2,Z+0
0305 92200142 STS _lcd_buffer,R2
(0299) lcd_buffer[6]=table[j];
0307 01DE MOVW R26,R28
0308 53A4 SUBI R26,0x34
0309 4FBF SBCI R27,0xFF
030A 91EC LD R30,0(X)
030B 27FF CLR R31
030C 0FE8 ADD R30,R24
030D 1FF9 ADC R31,R25
030E 8020 LDD R2,Z+0
030F 92200148 STS 0x148,R2
(0300) send_data(0x10,table[0]|0x10);
0311 91200060 LDS R18,0x60
0313 6120 ORI R18,0x10
0314 E100 LDI R16,0x10
0315 940E0A59 CALL _send_data
(0301) send_data(0,lcd_buffer[0]);
0317 91200142 LDS R18,_lcd_buffer
0319 2700 CLR R16
031A 940E0A59 CALL _send_data
(0302) send_data(12,lcd_buffer[6]);
031C 91200148 LDS R18,0x148
031E E00C LDI R16,0xC
031F 940E0A59 CALL _send_data
(0303)
(0304) work_state();
0321 9AAC SBI 0x15,4
(0305) rece_state();
0322 98AA CBI 0x15,2
(0306)
(0307) for(i=0;i<100;i++)
0323 2400 CLR R0
0324 01FE MOVW R30,R28
0325 53E6 SUBI R30,0x36
0326 4FFF SBCI R31,0xFF
0327 8200 STD Z+0,R0
0328 C028 RJMP 0x0351
(0308) {
(0309) ques[i]=0;
0329 ED8B LDI R24,0xDB
032A E090 LDI R25,0
032B 01DE MOVW R26,R28
032C 53A6 SUBI R26,0x36
032D 4FBF SBCI R27,0xFF
032E 91EC LD R30,0(X)
032F 27FF CLR R31
0330 0FE8 ADD R30,R24
0331 1FF9 ADC R31,R25
0332 2422 CLR R2
0333 8220 STD Z+0,R2
(0310) n_ques[i]=0;
0334 01CE MOVW R24,R28
0335 598C SUBI R24,0x9C
0336 4F9F SBCI R25,0xFF
0337 01DE MOVW R26,R28
0338 53A6 SUBI R26,0x36
0339 4FBF SBCI R27,0xFF
033A 91EC LD R30,0(X)
033B 27FF CLR R31
033C 0FE8 ADD R30,R24
033D 1FF9 ADC R31,R25
033E 8220 STD Z+0,R2
(0311) ans[i]=0;
033F 01CE MOVW R24,R28
0340 01DE MOVW R26,R28
0341 53A6 SUBI R26,0x36
0342 4FBF SBCI R27,0xFF
0343 91EC LD R30,0(X)
0344 27FF CLR R31
0345 0FE8 ADD R30,R24
0346 1FF9 ADC R31,R25
0347 8220 STD Z+0,R2
0348 01FE MOVW R30,R28
0349 53E6 SUBI R30,0x36
034A 4FFF SBCI R31,0xFF
034B 8000 LDD R0,Z+0
034C 9403 INC R0
034D 01FE MOVW R30,R28
034E 53E6 SUBI R30,0x36
034F 4FFF SBCI R31,0xFF
0350 8200 STD Z+0,R0
0351 01FE MOVW R30,R28
0352 53E6 SUBI R30,0x36
0353 4FFF SBCI R31,0xFF
0354 8180 LDD R24,Z+0
0355 3684 CPI R24,0x64
0356 F408 BCC 0x0358
0357 CFD1 RJMP 0x0329
(0312) }
(0313) d=0xF0;
0358 EF80 LDI R24,0xF0
0359 01FE MOVW R30,R28
035A 52EF SUBI R30,0x2F
035B 4FFF SBCI R31,0xFF
035C 8380 STD Z+0,R24
035D C6A9 RJMP 0x0A07
(0314)
(0315) while(1)
(0316) {
(0317) n_num=0;
035E 24EE CLR R14
(0318) if(t==1)
035F 9180013F LDS R24,_t
0361 3081 CPI R24,1
0362 F009 BEQ 0x0364
0363 C0F1 RJMP 0x0455
(0319) {
(0320) i=receive();
0364 DDD6 RCALL _receive
0365 01FE MOVW R30,R28
0366 53E6 SUBI R30,0x36
0367 4FFF SBCI R31,0xFF
0368 8300 STD Z+0,R16
(0321) if(i)
0369 2E00 MOV R0,R16
036A 2300 TST R16
036B F141 BEQ 0x0394
(0322) for(j=0;j<11;j++)
036C 2400 CLR R0
036D 01FE MOVW R30,R28
036E 53E4 SUBI R30,0x34
036F 4FFF SBCI R31,0xFF
0370 8200 STD Z+0,R0
0371 C01C RJMP 0x038E
(0323) d^=data[j];
0372 E68D LDI R24,0x6D
0373 E090 LDI R25,0
0374 01DE MOVW R26,R28
0375 53A4 SUBI R26,0x34
0376 4FBF SBCI R27,0xFF
0377 91EC LD R30,0(X)
0378 27FF CLR R31
0379 0FE8 ADD R30,R24
037A 1FF9 ADC R31,R25
037B 8020 LDD R2,Z+0
037C 01FE MOVW R30,R28
037D 52EF SUBI R30,0x2F
037E 4FFF SBCI R31,0xFF
037F 8000 LDD R0,Z+0
0380 2402 EOR R0,R2
0381 01FE MOVW R30,R28
0382 52EF SUBI R30,0x2F
0383 4FFF SBCI R31,0xFF
0384 8200 STD Z+0,R0
0385 01FE MOVW R30,R28
0386 53E4 SUBI R30,0x34
0387 4FFF SBCI R31,0xFF
0388 8000 LDD R0,Z+0
0389 9403 INC R0
038A 01FE MOVW R30,R28
038B 53E4 SUBI R30,0x34
038C 4FFF SBCI R31,0xFF
038D 8200 STD Z+0,R0
038E 01FE MOVW R30,R28
038F 53E4 SUBI R30,0x34
0390 4FFF SBCI R31,0xFF
0391 8180 LDD R24,Z+0
0392 308B CPI R24,0xB
0393 F2F0 BCS 0x0372
(0324)
(0325) if(d==data[11])
0394 90200078 LDS R2,0x78
0396 01FE MOVW R30,R28
0397 52EF SUBI R30,0x2F
0398 4FFF SBCI R31,0xFF
0399 8000 LDD R0,Z+0
039A 1402 CP R0,R2
039B F009 BEQ 0x039D
039C C0B8 RJMP 0x0455
(0326) {
(0327) if(data[4]==guest_id||data[4]>80||data[4]==0)
039D 90200140 LDS R2,_guest_id
039F 90300071 LDS R3,0x71
03A1 1432 CP R3,R2
03A2 F031 BEQ 0x03A9
03A3 E580 LDI R24,0x50
03A4 1583 CP R24,R3
03A5 F018 BCS 0x03A9
03A6 2033 TST R3
03A7 F009 BEQ 0x03A9
03A8 C0AC RJMP 0x0455
(0328) {
(0329)
(0330) if(data[6]==temp)//
03A9 90200073 LDS R2,0x73
03AB 01FE MOVW R30,R28
03AC 52E7 SUBI R30,0x27
03AD 4FFF SBCI R31,0xFF
03AE 8000 LDD R0,Z+0
03AF 1420 CP R2,R0
03B0 F409 BNE 0x03B2
(0331) goto B;
03B1 C528 RJMP 0x08DA
(0332)
(0333) else
(0334) {
(0335) temp=data[6];
03B2 90200073 LDS R2,0x73
03B4 01FE MOVW R30,R28
03B5 52E7 SUBI R30,0x27
03B6 4FFF SBCI R31,0xFF
03B7 8220 STD Z+0,R2
(0336) //key_flag=0;
(0337) switch(data[7])
03B8 90200074 LDS R2,0x74
03BA 2433 CLR R3
03BB 01FE MOVW R30,R28
03BC 53E8 SUBI R30,0x38
03BD 4FFF SBCI R31,0xFF
03BE 8231 STD Z+1,R3
03BF 8220 STD Z+0,R2
03C0 01C1 MOVW R24,R2
03C1 3282 CPI R24,0x22
03C2 E0E0 LDI R30,0
03C3 079E CPC R25,R30
03C4 F079 BEQ 0x03D4
03C5 3282 CPI R24,0x22
03C6 E0E0 LDI R30,0
03C7 079E CPC R25,R30
03C8 F40C BGE 0x03CA
03C9 C08B RJMP 0x0455
03CA 01FE MOVW R30,R28
03CB 53E8 SUBI R30,0x38
03CC 4FFF SBCI R31,0xFF
03CD 8180 LDD R24,Z+0
03CE 8191 LDD R25,Z+1
03CF 3D8A CPI R24,0xDA
03D0 E0E0 LDI R30,0
03D1 079E CPC R25,R30
03D2 F101 BEQ 0x03F3
03D3 C081 RJMP 0x0455
(0338) {
(0339) case 0x22: lcd_buffer[1]=0x90;
03D4 E980 LDI R24,0x90
03D5 93800143 STS _lcd_buffer+1,R24
(0340) lcd_buffer[11]=0x10;
03D7 E180 LDI R24,0x10
03D8 9380014D STS 0x14D,R24
(0341) lcd_buffer[15]=0x10;
03DA 93800151 STS 0x151,R24
(0342)
(0343) send_data(0x16,lcd_buffer[11]);
03DC 2F28 MOV R18,R24
03DD E106 LDI R16,0x16
03DE 940E0A59 CALL _send_data
(0344) send_data(0x02,lcd_buffer[1]);
03E0 91200143 LDS R18,_lcd_buffer+1
03E2 E002 LDI R16,2
03E3 940E0A59 CALL _send_data
(0345) send_data(0x1e,lcd_buffer[15]);
03E5 91200151 LDS R18,0x151
03E7 E10E LDI R16,0x1E
03E8 940E0A59 CALL _send_data
(0346)
(0347) ques_num=data[8];
03EA 90200075 LDS R2,0x75
03EC 9220006C STS _ques_num,R2
(0348) ques_id=ques_num;
03EE 01FE MOVW R30,R28
03EF 53E3 SUBI R30,0x33
03F0 4FFF SBCI R31,0xFF
03F1 8220 STD Z+0,R2
(0349) break;
03F2 C062 RJMP 0x0455
(0350) case 0xDA: score=data[8];
03F3 90A00075 LDS R10,0x75
(0351) key_flag=0;
03F5 2400 CLR R0
03F6 01FE MOVW R30,R28
03F7 52ED SUBI R30,0x2D
03F8 4FFF SBCI R31,0xFF
03F9 8200 STD Z+0,R0
(0352) i=score/100;
03FA E614 LDI R17,0x64
03FB 2D0A MOV R16,R10
03FC 940E0B82 CALL div8u
03FE 01FE MOVW R30,R28
03FF 53E6 SUBI R30,0x36
0400 4FFF SBCI R31,0xFF
0401 8300 STD Z+0,R16
(0353) j=(score-i*100)/10;
0402 E684 LDI R24,0x64
0403 2E00 MOV R0,R16
0404 9D80 MUL R24,R0
0405 2D0A MOV R16,R10
0406 1900 SUB R16,R0
0407 E01A LDI R17,0xA
0408 940E0B82 CALL div8u
040A 01FE MOVW R30,R28
040B 53E4 SUBI R30,0x34
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -