📄 main.lis
字号:
03AE 8F7E andi R24,239
03B0 8093E700 sts _lcd_buffer+15,R24
03B4 .dbline 244
03B4 ; send_data(14,lcd_buffer[7]);
03B4 222D mov R18,R2
03B6 0EE0 ldi R16,14
03B8 0E940000 xcall _send_data
03BC .dbline 245
03BC ; send_data(30,lcd_buffer[15]);
03BC 2091E700 lds R18,_lcd_buffer+15
03C0 0EE1 ldi R16,30
03C2 0E940000 xcall _send_data
03C6 .dbline 246
03C6 ; send_data(2,lcd_buffer[1]);
03C6 2091D900 lds R18,_lcd_buffer+1
03CA 02E0 ldi R16,2
03CC 0E940000 xcall _send_data
03D0 .dbline 247
03D0 ; send_data(18,lcd_buffer[9]);
03D0 2091E100 lds R18,_lcd_buffer+9
03D4 02E1 ldi R16,18
03D6 0E940000 xcall _send_data
03DA .dbline 248
03DA ; key=key_scan();
03DA 0E940000 xcall _key_scan
03DE FE01 movw R30,R28
03E0 E253 subi R30,50 ; addi 206
03E2 FF4F sbci R31,255
03E4 0083 std z+0,R16
03E6 .dbline 249
03E6 ; if(key==3)
03E6 0330 cpi R16,3
03E8 49F4 brne L77
03EA .dbline 250
03EA ; keyc_flag=~keyc_flag;
03EA FE01 movw R30,R28
03EC EE52 subi R30,46 ; addi 210
03EE FF4F sbci R31,255
03F0 0080 ldd R0,z+0
03F2 0094 com R0
03F4 FE01 movw R30,R28
03F6 EE52 subi R30,46 ; addi 210
03F8 FF4F sbci R31,255
03FA 0082 std z+0,R0
03FC L77:
03FC .dbline 251
03FC ; if(key==7)
03FC FE01 movw R30,R28
03FE E253 subi R30,50 ; addi 206
0400 FF4F sbci R31,255
0402 8081 ldd R24,z+0
0404 8730 cpi R24,7
0406 89F4 brne L79
0408 .dbline 252
0408 ; {
0408 .dbline 253
0408 ; if(keyc_flag==0)
0408 FE01 movw R30,R28
040A EE52 subi R30,46 ; addi 210
040C FF4F sbci R31,255
040E 0080 ldd R0,z+0
0410 0020 tst R0
0412 31F4 brne L81
0414 .dbline 254
0414 ; host_id++;
0414 8091D700 lds R24,_host_id
0418 8F5F subi R24,255 ; addi 1
041A 8093D700 sts _host_id,R24
041E 05C0 xjmp L82
0420 L81:
0420 .dbline 256
0420 ; else
0420 ; guest_id++;
0420 8091D600 lds R24,_guest_id
0424 8F5F subi R24,255 ; addi 1
0426 8093D600 sts _guest_id,R24
042A L82:
042A .dbline 257
042A ; }
042A L79:
042A .dbline 258
042A ; if(key==4)
042A FE01 movw R30,R28
042C E253 subi R30,50 ; addi 206
042E FF4F sbci R31,255
0430 8081 ldd R24,z+0
0432 8430 cpi R24,4
0434 89F4 brne L83
0436 .dbline 259
0436 ; {
0436 .dbline 260
0436 ; if(keyc_flag==0)
0436 FE01 movw R30,R28
0438 EE52 subi R30,46 ; addi 210
043A FF4F sbci R31,255
043C 0080 ldd R0,z+0
043E 0020 tst R0
0440 31F4 brne L85
0442 .dbline 261
0442 ; host_id--;
0442 8091D700 lds R24,_host_id
0446 8150 subi R24,1
0448 8093D700 sts _host_id,R24
044C 05C0 xjmp L86
044E L85:
044E .dbline 263
044E ; else
044E ; guest_id--;
044E 8091D600 lds R24,_guest_id
0452 8150 subi R24,1
0454 8093D600 sts _guest_id,R24
0458 L86:
0458 .dbline 264
0458 ; }
0458 L83:
0458 .dbline 265
0458 ; if(host_id>80||host_id<1)
0458 80E5 ldi R24,80
045A 2090D700 lds R2,_host_id
045E 8215 cp R24,R2
0460 18F0 brlo L89
0462 822D mov R24,R2
0464 8130 cpi R24,1
0466 18F4 brsh L87
0468 L89:
0468 .dbline 266
0468 ; host_id=1;
0468 81E0 ldi R24,1
046A 8093D700 sts _host_id,R24
046E L87:
046E .dbline 267
046E ; if(guest_id>80||guest_id<1)
046E 80E5 ldi R24,80
0470 2090D600 lds R2,_guest_id
0474 8215 cp R24,R2
0476 18F0 brlo L92
0478 822D mov R24,R2
047A 8130 cpi R24,1
047C 18F4 brsh L90
047E L92:
047E .dbline 268
047E ; guest_id=1;
047E 81E0 ldi R24,1
0480 8093D600 sts _guest_id,R24
0484 L90:
0484 .dbline 269
0484 ; if(key==5)
0484 FE01 movw R30,R28
0486 E253 subi R30,50 ; addi 206
0488 FF4F sbci R31,255
048A 8081 ldd R24,z+0
048C 8530 cpi R24,5
048E 09F0 breq X5
0490 4EC0 xjmp L93
0492 X5:
0492 .dbline 270
0492 ; {
0492 .dbline 271
0492 ; lcd_buffer[0]=table[i];
0492 80E0 ldi R24,<_table
0494 90E0 ldi R25,>_table
0496 DE01 movw R26,R28
0498 A653 subi R26,54 ; addi 202
049A BF4F sbci R27,255
049C EC91 ld R30,x
049E FF27 clr R31
04A0 E80F add R30,R24
04A2 F91F adc R31,R25
04A4 2080 ldd R2,z+0
04A6 2092D800 sts _lcd_buffer,R2
04AA .dbline 272
04AA ; lcd_buffer[6]=table[k];
04AA DE01 movw R26,R28
04AC A553 subi R26,53 ; addi 203
04AE BF4F sbci R27,255
04B0 EC91 ld R30,x
04B2 FF27 clr R31
04B4 E80F add R30,R24
04B6 F91F adc R31,R25
04B8 2080 ldd R2,z+0
04BA 2092DE00 sts _lcd_buffer+6,R2
04BE .dbline 274
04BE ;
04BE ; PORTB&=~BIT(PB5);
04BE C598 cbi 0x18,5
04C0 .dbline 275
04C0 ; PORTC&=~BIT(PC1);
04C0 A998 cbi 0x15,1
04C2 25C0 xjmp L97
04C4 L96:
04C4 .dbline 277
04C4 ; while(!((PIND|0x97)==0x97))
04C4 ; {
04C4 .dbline 278
04C4 ; if(t<50)
04C4 8091D500 lds R24,_t
04C8 8233 cpi R24,50
04CA 80F4 brsh L99
04CC .dbline 279
04CC ; {
04CC .dbline 280
04CC ; send_data(0x10,table[0]|0x10);
04CC 20910000 lds R18,_table
04D0 2061 ori R18,16
04D2 00E1 ldi R16,16
04D4 0E940000 xcall _send_data
04D8 .dbline 281
04D8 ; send_data(0,lcd_buffer[0]);
04D8 2091D800 lds R18,_lcd_buffer
04DC 0027 clr R16
04DE 0E940000 xcall _send_data
04E2 .dbline 282
04E2 ; send_data(12,lcd_buffer[6]);
04E2 2091DE00 lds R18,_lcd_buffer+6
04E6 0CE0 ldi R16,12
04E8 0E940000 xcall _send_data
04EC .dbline 283
04EC ; }
04EC L99:
04EC .dbline 284
04EC ; if(t>50)
04EC 82E3 ldi R24,50
04EE 2090D500 lds R2,_t
04F2 8215 cp R24,R2
04F4 60F4 brsh L102
04F6 .dbline 285
04F6 ; {
04F6 .dbline 286
04F6 ; send_data(0x10,0);
04F6 2227 clr R18
04F8 00E1 ldi R16,16
04FA 0E940000 xcall _send_data
04FE .dbline 287
04FE ; send_data(0,0);
04FE 2227 clr R18
0500 0027 clr R16
0502 0E940000 xcall _send_data
0506 .dbline 288
0506 ; send_data(12,0);
0506 2227 clr R18
0508 0CE0 ldi R16,12
050A 0E940000 xcall _send_data
050E .dbline 289
050E ; }
050E L102:
050E .dbline 290
050E L97:
050E .dbline 276
050E 80B3 in R24,0x10
0510 8769 ori R24,151
0512 8739 cpi R24,151
0514 B9F6 brne L96
0516 .dbline 291
0516 ; }
0516 ; EEPROMwrite(0x02,guest_id);
0516 2091D600 lds R18,_guest_id
051A 02E0 ldi R16,2
051C 10E0 ldi R17,0
051E 0E940000 xcall _EEPROMwrite
0522 .dbline 292
0522 ; EEPROMwrite(0x03,host_id);
0522 2091D700 lds R18,_host_id
0526 03E0 ldi R16,3
0528 10E0 ldi R17,0
052A 0E940000 xcall _EEPROMwrite
052E .dbline 293
052E ; }
052E L93:
052E .dbline 294
052E L63:
052E .dbline 226
052E FE01 movw R30,R28
0530 E253 subi R30,50 ; addi 206
0532 FF4F sbci R31,255
0534 8081 ldd R24,z+0
0536 8530 cpi R24,5
0538 09F0 breq X6
053A ECCE xjmp L62
053C X6:
053C .dbline 295
053C ; }
053C ; }
053C L60:
053C .dbline 296
053C ; i=guest_id/10;
053C 1AE0 ldi R17,10
053E 0091D600 lds R16,_guest_id
0542 0E940000 xcall div8u
0546 FE01 movw R30,R28
0548 E653 subi R30,54 ; addi 202
054A FF4F sbci R31,255
054C 0083 std z+0,R16
054E .dbline 297
054E ; j=guest_id-10*i;
054E 8AE0 ldi R24,10
0550 002E mov R0,R16
0552 809D mul R24,R0
0554 2090D600 lds R2,_guest_id
0558 2018 sub R2,R0
055A FE01 movw R30,R28
055C E453 subi R30,52 ; addi 204
055E FF4F sbci R31,255
0560 2082 std z+0,R2
0562 .dbline 298
0562 ; lcd_buffer[0]=table[i];
0562 80E0 ldi R24,<_table
0564 90E0 ldi R25,>_table
0566 DE01 movw R26,R28
0568 A653 subi R26,54 ; addi 202
056A BF4F sbci R27,255
056C EC91 ld R30,x
056E FF27 clr R31
0570 E80F add R30,R24
0572 F91F adc R31,R25
0574 2080 ldd R2,z+0
0576 2092D800 sts _lcd_buffer,R2
057A .dbline 299
057A ; lcd_buffer[6]=table[j];
057A DE01 movw R26,R28
057C A453 subi R26,52 ; addi 204
057E BF4F sbci R27,255
0580 EC91 ld R30,x
0582 FF27 clr R31
0584 E80F add R30,R24
0586 F91F adc R31,R25
0588 2080 ldd R2,z+0
058A 2092DE00 sts _lcd_buffer+6,R2
058E .dbline 300
058E ; send_data(0x10,table[0]|0x10);
058E 20910000 lds R18,_table
0592 2061 ori R18,16
0594 00E1 ldi R16,16
0596 0E940000 xcall _send_data
059A .dbline 301
059A ; send_data(0,lcd_buffer[0]);
059A 2091D800 lds R18,_lcd_buffer
059E 0027 clr R16
05A0 0E940000 xcall _send_data
05A4 .dbline 302
05A4 ; send_data(12,lcd_buffer[6]);
05A4 2091DE00 lds R18,_lcd_buffer+6
05A8 0CE0 ldi R16,12
05AA 0E940000 xcall _send_data
05AE .dbline 304
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -