📄 main.lis
字号:
05AE ;
05AE ; work_state();
05AE AC9A sbi 0x15,4
05B0 .dbline 305
05B0 ; rece_state();
05B0 AA98 cbi 0x15,2
05B2 .dbline 307
05B2 ;
05B2 ; for(i=0;i<100;i++)
05B2 0024 clr R0
05B4 FE01 movw R30,R28
05B6 E653 subi R30,54 ; addi 202
05B8 FF4F sbci R31,255
05BA 0082 std z+0,R0
05BC 28C0 xjmp L109
05BE L106:
05BE .dbline 308
05BE .dbline 309
05BE 80E0 ldi R24,<_ques
05C0 90E0 ldi R25,>_ques
05C2 DE01 movw R26,R28
05C4 A653 subi R26,54 ; addi 202
05C6 BF4F sbci R27,255
05C8 EC91 ld R30,x
05CA FF27 clr R31
05CC E80F add R30,R24
05CE F91F adc R31,R25
05D0 2224 clr R2
05D2 2082 std z+0,R2
05D4 .dbline 310
05D4 CE01 movw R24,R28
05D6 8C59 subi R24,156 ; offset = 100
05D8 9F4F sbci R25,255
05DA DE01 movw R26,R28
05DC A653 subi R26,54 ; addi 202
05DE BF4F sbci R27,255
05E0 EC91 ld R30,x
05E2 FF27 clr R31
05E4 E80F add R30,R24
05E6 F91F adc R31,R25
05E8 2082 std z+0,R2
05EA .dbline 311
05EA CE01 movw R24,R28
05EC DE01 movw R26,R28
05EE A653 subi R26,54 ; addi 202
05F0 BF4F sbci R27,255
05F2 EC91 ld R30,x
05F4 FF27 clr R31
05F6 E80F add R30,R24
05F8 F91F adc R31,R25
05FA 2082 std z+0,R2
05FC .dbline 312
05FC L107:
05FC .dbline 307
05FC FE01 movw R30,R28
05FE E653 subi R30,54 ; addi 202
0600 FF4F sbci R31,255
0602 0080 ldd R0,z+0
0604 0394 inc R0
0606 FE01 movw R30,R28
0608 E653 subi R30,54 ; addi 202
060A FF4F sbci R31,255
060C 0082 std z+0,R0
060E L109:
060E .dbline 307
060E FE01 movw R30,R28
0610 E653 subi R30,54 ; addi 202
0612 FF4F sbci R31,255
0614 8081 ldd R24,z+0
0616 8436 cpi R24,100
0618 08F4 brsh X7
061A D1CF xjmp L106
061C X7:
061C .dbline 313
061C ; {
061C ; ques[i]=0;
061C ; n_ques[i]=0;
061C ; ans[i]=0;
061C ; }
061C ; d=0xF0;
061C 80EF ldi R24,240
061E FE01 movw R30,R28
0620 EF52 subi R30,47 ; addi 209
0622 FF4F sbci R31,255
0624 8083 std z+0,R24
0626 A9C6 xjmp L111
0628 L110:
0628 .dbline 316
0628 ;
0628 ; while(1)
0628 ; {
0628 .dbline 317
0628 ; n_num=0;
0628 EE24 clr R14
062A .dbline 318
062A ; if(t==1)
062A 8091D500 lds R24,_t
062E 8130 cpi R24,1
0630 09F0 breq X8
0632 F1C0 xjmp L113
0634 X8:
0634 .dbline 319
0634 ; {
0634 .dbline 320
0634 ; i=receive();
0634 D6DD xcall _receive
0636 FE01 movw R30,R28
0638 E653 subi R30,54 ; addi 202
063A FF4F sbci R31,255
063C 0083 std z+0,R16
063E .dbline 321
063E ; if(i)
063E 002E mov R0,R16
0640 0023 tst R16
0642 41F1 breq L115
0644 .dbline 322
0644 ; for(j=0;j<11;j++)
0644 0024 clr R0
0646 FE01 movw R30,R28
0648 E453 subi R30,52 ; addi 204
064A FF4F sbci R31,255
064C 0082 std z+0,R0
064E 1CC0 xjmp L120
0650 L117:
0650 .dbline 323
0650 80E0 ldi R24,<_data
0652 90E0 ldi R25,>_data
0654 DE01 movw R26,R28
0656 A453 subi R26,52 ; addi 204
0658 BF4F sbci R27,255
065A EC91 ld R30,x
065C FF27 clr R31
065E E80F add R30,R24
0660 F91F adc R31,R25
0662 2080 ldd R2,z+0
0664 FE01 movw R30,R28
0666 EF52 subi R30,47 ; addi 209
0668 FF4F sbci R31,255
066A 0080 ldd R0,z+0
066C 0224 eor R0,R2
066E FE01 movw R30,R28
0670 EF52 subi R30,47 ; addi 209
0672 FF4F sbci R31,255
0674 0082 std z+0,R0
0676 L118:
0676 .dbline 322
0676 FE01 movw R30,R28
0678 E453 subi R30,52 ; addi 204
067A FF4F sbci R31,255
067C 0080 ldd R0,z+0
067E 0394 inc R0
0680 FE01 movw R30,R28
0682 E453 subi R30,52 ; addi 204
0684 FF4F sbci R31,255
0686 0082 std z+0,R0
0688 L120:
0688 .dbline 322
0688 FE01 movw R30,R28
068A E453 subi R30,52 ; addi 204
068C FF4F sbci R31,255
068E 8081 ldd R24,z+0
0690 8B30 cpi R24,11
0692 F0F2 brlo L117
0694 L115:
0694 .dbline 325
0694 ; d^=data[j];
0694 ;
0694 ; if(d==data[11])
0694 20900E00 lds R2,_data+11
0698 FE01 movw R30,R28
069A EF52 subi R30,47 ; addi 209
069C FF4F sbci R31,255
069E 0080 ldd R0,z+0
06A0 0214 cp R0,R2
06A2 09F0 breq X9
06A4 B8C0 xjmp L121
06A6 X9:
06A6 .dbline 326
06A6 ; {
06A6 .dbline 327
06A6 ; if(data[4]==guest_id||data[4]>80||data[4]==0)
06A6 2090D600 lds R2,_guest_id
06AA 30900700 lds R3,_data+4
06AE 3214 cp R3,R2
06B0 31F0 breq L130
06B2 80E5 ldi R24,80
06B4 8315 cp R24,R3
06B6 18F0 brlo L130
06B8 3320 tst R3
06BA 09F0 breq X10
06BC ACC0 xjmp L124
06BE X10:
06BE L130:
06BE .dbline 328
06BE ; {
06BE .dbline 330
06BE ;
06BE ; if(data[6]==temp)//
06BE 20900900 lds R2,_data+6
06C2 FE01 movw R30,R28
06C4 E752 subi R30,39 ; addi 217
06C6 FF4F sbci R31,255
06C8 0080 ldd R0,z+0
06CA 2014 cp R2,R0
06CC 09F4 brne L131
06CE .dbline 331
06CE ; goto B;
06CE 28C5 xjmp L134
06D0 L131:
06D0 .dbline 334
06D0 ;
06D0 ; else
06D0 ; {
06D0 .dbline 335
06D0 ; temp=data[6];
06D0 20900900 lds R2,_data+6
06D4 FE01 movw R30,R28
06D6 E752 subi R30,39 ; addi 217
06D8 FF4F sbci R31,255
06DA 2082 std z+0,R2
06DC .dbline 337
06DC ; //key_flag=0;
06DC ; switch(data[7])
06DC 20900A00 lds R2,_data+7
06E0 3324 clr R3
06E2 FE01 movw R30,R28
06E4 E853 subi R30,56 ; addi 200
06E6 FF4F sbci R31,255
06E8 3182 std z+1,R3
06EA 2082 std z+0,R2
06EC C101 movw R24,R2
06EE 8232 cpi R24,34
06F0 E0E0 ldi R30,0
06F2 9E07 cpc R25,R30
06F4 79F0 breq L140
06F6 8232 cpi R24,34
06F8 E0E0 ldi R30,0
06FA 9E07 cpc R25,R30
06FC 0CF4 brge X11
06FE 8BC0 xjmp L136
0700 X11:
0700 L158:
0700 FE01 movw R30,R28
0702 E853 subi R30,56 ; addi 200
0704 FF4F sbci R31,255
0706 8081 ldd R24,z+0
0708 9181 ldd R25,z+1
070A 8A3D cpi R24,218
070C E0E0 ldi R30,0
070E 9E07 cpc R25,R30
0710 01F1 breq L148
0712 81C0 xjmp L136
0714 X0:
0714 .dbline 338
0714 ; {
0714 L140:
0714 .dbline 339
0714 ; case 0x22: lcd_buffer[1]=0x90;
0714 80E9 ldi R24,144
0716 8093D900 sts _lcd_buffer+1,R24
071A .dbline 340
071A ; lcd_buffer[11]=0x10;
071A 80E1 ldi R24,16
071C 8093E300 sts _lcd_buffer+11,R24
0720 .dbline 341
0720 ; lcd_buffer[15]=0x10;
0720 8093E700 sts _lcd_buffer+15,R24
0724 .dbline 343
0724 ;
0724 ; send_data(0x16,lcd_buffer[11]);
0724 282F mov R18,R24
0726 06E1 ldi R16,22
0728 0E940000 xcall _send_data
072C .dbline 344
072C ; send_data(0x02,lcd_buffer[1]);
072C 2091D900 lds R18,_lcd_buffer+1
0730 02E0 ldi R16,2
0732 0E940000 xcall _send_data
0736 .dbline 345
0736 ; send_data(0x1e,lcd_buffer[15]);
0736 2091E700 lds R18,_lcd_buffer+15
073A 0EE1 ldi R16,30
073C 0E940000 xcall _send_data
0740 .dbline 347
0740 ;
0740 ; ques_num=data[8];
0740 20900B00 lds R2,_data+8
0744 20920200 sts _ques_num,R2
0748 .dbline 348
0748 ; ques_id=ques_num;
0748 FE01 movw R30,R28
074A E353 subi R30,51 ; addi 205
074C FF4F sbci R31,255
074E 2082 std z+0,R2
0750 .dbline 349
0750 ; break;
0750 62C0 xjmp L137
0752 L148:
0752 .dbline 350
0752 ; case 0xDA: score=data[8];
0752 A0900B00 lds R10,_data+8
0756 .dbline 351
0756 ; key_flag=0;
0756 0024 clr R0
0758 FE01 movw R30,R28
075A ED52 subi R30,45 ; addi 211
075C FF4F sbci R31,255
075E 0082 std z+0,R0
0760 .dbline 352
0760 ; i=score/100;
0760 14E6 ldi R17,100
0762 0A2D mov R16,R10
0764 0E940000 xcall div8u
0768 FE01 movw R30,R28
076A E653 subi R30,54 ; addi 202
076C FF4F sbci R31,255
076E 0083 std z+0,R16
0770 .dbline 353
0770 ; j=(score-i*100)/10;
0770 84E6 ldi R24,100
0772 002E mov R0,R16
0774 809D mul R24,R0
0776 0A2D mov R16,R10
0778 0019 sub R16,R0
077A 1AE0 ldi R17,10
077C 0E940000 xcall div8u
0780 FE01 movw R30,R28
0782 E453 subi R30,52 ; addi 204
0784 FF4F sbci R31,255
0786 0083 std z+0,R16
0788 .dbline 354
0788 ; k=score-i*100-j*10;
0788 84E6 ldi R24,100
078A FE01 movw R30,R28
078C E653 subi R30,54 ; addi 202
078E FF4F sbci R31,255
0790 0080 ldd R0,z+0
0792 809D mul R24,R0
0794 2A2C mov R2,R10
0796 2018 sub R2,R0
0798 8AE0 ldi R24,10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -