📄 main.lis
字号:
00E4 ; else if((key&0x20)!=0)
00E4 20900100 lds R2,_key
00E8 25FE sbrs R2,5
00EA 17C0 rjmp L28
00EC .dbline 63
00EC ; {
00EC .dbline 64
00EC ; if((temp&0x01)==0)right=2;
00EC 20900000 lds R2,_temp
00F0 20FC sbrc R2,0
00F2 04C0 rjmp L30
00F4 .dbline 64
00F4 82E0 ldi R24,2
00F6 80930200 sts _right,R24
00FA 0FC0 rjmp L31
00FC L30:
00FC .dbline 65
00FC ; else if((temp&0x02)==0)right=4;
00FC 20900000 lds R2,_temp
0100 21FC sbrc R2,1
0102 04C0 rjmp L32
0104 .dbline 65
0104 84E0 ldi R24,4
0106 80930200 sts _right,R24
010A 07C0 rjmp L33
010C L32:
010C .dbline 66
010C ; else if((temp&0x04)==0)right=6;
010C 20900000 lds R2,_temp
0110 22FC sbrc R2,2
0112 03C0 rjmp L34
0114 .dbline 66
0114 86E0 ldi R24,6
0116 80930200 sts _right,R24
011A L34:
011A L33:
011A L31:
011A .dbline 67
011A ; }
011A L28:
011A L21:
011A .dbline 69
011A L4:
011A .dbline 45
011A 78CF rjmp L3
011C X0:
011C .dbline -2
011C L1:
011C .dbline 0 ; func end
011C 0895 ret
011E .dbend
011E .dbfunc e delay _delay fV
011E ; x -> R20
011E ; ticks -> R16,R17
.even
011E _delay::
011E 00D0 rcall push_gset1
0120 .dbline -1
0120 .dbline 75
0120 ; /////////////////////////////////////
0120 ; }
0120 ;
0120 ;
0120 ; }
0120 ; //////////////////////////////
0120 ; void delay(uint ticks)
0120 ; {
0120 .dbline 77
0120 07C0 rjmp L40
0122 L37:
0122 .dbline 77
0122 44E6 ldi R20,100
0124 01C0 rjmp L44
0126 L41:
0126 .dbline 77
0126 L42:
0126 .dbline 77
0126 4A95 dec R20
0128 L44:
0128 .dbline 77
0128 4423 tst R20
012A E9F7 brne L41
012C L38:
012C .dbline 77
012C 0150 subi R16,1
012E 1040 sbci R17,0
0130 L40:
0130 .dbline 77
0130 ; uchar x;
0130 ; for(;ticks!=0;ticks--)for(x=100;x!=0;x--);
0130 0030 cpi R16,0
0132 0107 cpc R16,R17
0134 B1F7 brne L37
0136 X1:
0136 .dbline -2
0136 L36:
0136 00D0 rcall pop_gset1
0138 .dbline 0 ; func end
0138 0895 ret
013A .dbsym r x 20 c
013A .dbsym r ticks 16 i
013A .dbend
013A .dbfunc e display _display fV
013A ; i -> R20
.even
013A _display::
013A 00D0 rcall push_gset1
013C .dbline -1
013C .dbline 81
013C ; }
013C ;
013C ; void display()
013C ; {
013C .dbline 83
013C ; uchar i;
013C ; PORTA=~leddata;
013C 20900000 lds R2,_leddata
0140 2094 com R2
0142 2BBA out 0x1b,R2
0144 .dbline 84
0144 ; PORTC&=~LED;
0144 AD98 cbi 0x15,5
0146 .dbline 85
0146 ; delay(1);
0146 01E0 ldi R16,1
0148 10E0 ldi R17,0
014A E9DF rcall _delay
014C .dbline 86
014C ; PORTC|=LED;
014C AD9A sbi 0x15,5
014E .dbline 88
014E ; ///////////
014E ; PORTA=Tab[left];
014E 80E0 ldi R24,<_Tab
0150 90E0 ldi R25,>_Tab
0152 E0910100 lds R30,_left
0156 FF27 clr R31
0158 E80F add R30,R24
015A F91F adc R31,R25
015C E491 lpm R30,Z
015E EBBB out 0x1b,R30
0160 .dbline 89
0160 ; PORTC&=~SEG0;
0160 AF98 cbi 0x15,7
0162 .dbline 90
0162 ; delay(1);
0162 01E0 ldi R16,1
0164 10E0 ldi R17,0
0166 DBDF rcall _delay
0168 .dbline 91
0168 ; PORTC|=SEG0;
0168 AF9A sbi 0x15,7
016A .dbline 93
016A ; /////////////////
016A ; PORTA=Tab[right];
016A 80E0 ldi R24,<_Tab
016C 90E0 ldi R25,>_Tab
016E E0910200 lds R30,_right
0172 FF27 clr R31
0174 E80F add R30,R24
0176 F91F adc R31,R25
0178 E491 lpm R30,Z
017A EBBB out 0x1b,R30
017C .dbline 94
017C ; PORTC&=~SEG1;
017C AE98 cbi 0x15,6
017E .dbline 95
017E ; delay(1);
017E 01E0 ldi R16,1
0180 10E0 ldi R17,0
0182 CDDF rcall _delay
0184 .dbline 96
0184 ; PORTC|=SEG1;
0184 AE9A sbi 0x15,6
0186 .dbline 98
0186 ; //////////////////
0186 ; for(i=0;i!=8;i++)
0186 4427 clr R20
0188 32C0 rjmp L49
018A L46:
018A .dbline 99
018A .dbline 101
018A C09A sbi 0x18,0
018C .dbline 102
018C 80E0 ldi R24,<_pic1
018E 90E0 ldi R25,>_pic1
0190 E42F mov R30,R20
0192 FF27 clr R31
0194 E80F add R30,R24
0196 F91F adc R31,R25
0198 E491 lpm R30,Z
019A EFB9 out 0xf,R30
019C .dbline 103
019C 0000 nop
019E .dbline 103
019E 0000 nop
01A0 .dbline 103
01A0 0000 nop
01A2 .dbline 103
01A2 0000 nop
01A4 .dbline 103
01A4 0000 nop
01A6 .dbline 103
01A6 0000 nop
01A8 .dbline 103
01A8 0000 nop
01AA .dbline 103
01AA 0000 nop
01AC .dbline 103
01AC 0000 nop
01AE .dbline 103
01AE 0000 nop
01B0 .dbline 103
01B0 0000 nop
01B2 .dbline 103
01B2 0000 nop
01B4 .dbline 103
01B4 0000 nop
01B6 .dbline 103
01B6 0000 nop
01B8 .dbline 103
01B8 0000 nop
01BA .dbline 103
01BA 0000 nop
01BC .dbline 103
01BC 0000 nop
01BE .dbline 103
01BE 0000 nop
01C0 .dbline 104
01C0 88B3 in R24,0x18
01C2 817F andi R24,241
01C4 88BB out 0x18,R24
01C6 .dbline 105
01C6 20900700 lds R2,_index
01CA 3324 clr R3
01CC E42F mov R30,R20
01CE FF27 clr R31
01D0 E20D add R30,R2
01D2 F31D adc R31,R3
01D4 80E0 ldi R24,<_line
01D6 90E0 ldi R25,>_line
01D8 E80F add R30,R24
01DA F91F adc R31,R25
01DC E491 lpm R30,Z
01DE 28B2 in R2,0x18
01E0 2E2A or R2,R30
01E2 28BA out 0x18,R2
01E4 .dbline 106
01E4 C098 cbi 0x18,0
01E6 .dbline 107
01E6 01E0 ldi R16,1
01E8 10E0 ldi R17,0
01EA 99DF rcall _delay
01EC .dbline 108
01EC L47:
01EC .dbline 98
01EC 4395 inc R20
01EE L49:
01EE .dbline 98
01EE 4830 cpi R20,8
01F0 09F0 breq X2
01F2 CBCF rjmp L46
01F4 X2:
01F4 .dbline -2
01F4 L45:
01F4 00D0 rcall pop_gset1
01F6 .dbline 0 ; func end
01F6 0895 ret
01F8 .dbsym r i 20 c
01F8 .dbend
01F8 .dbfunc e writedata _writedata fV
01F8 ; lcddata -> R20
.even
01F8 _writedata::
01F8 00D0 rcall push_gset1
01FA 402F mov R20,R16
01FC .dbline -1
01FC .dbline 114
01FC ; {
01FC ;
01FC ; PORTB|=0x01;
01FC ; SPDR=pic1[i];
01FC ; SomeNop
01FC ; PORTB&=0xf1;
01FC ; PORTB|=line[i+index];
01FC ; PORTB&=~0x01;
01FC ; delay(1);
01FC ; }
01FC ; }
01FC ;
01FC ; /////////////////LCD///////////////////////
01FC ; ///////////////////////////////
01FC ; void writedata(uchar lcddata)
01FC ; {
01FC .dbline 116
01FC ; // E=1;
01FC ; PORTC|=E;
01FC AC9A sbi 0x15,4
01FE .dbline 118
01FE ; // RS=1;
01FE ; PORTC|=RS;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -