📄 xiangmu2.lst
字号:
00BC E0E0 LDI R30,0
00BD 075E CPC R21,R30
00BE F409 BNE 0x00C0
00BF C06E RJMP 0x012E
00C0 344D CPI R20,0x4D
00C1 E0E0 LDI R30,0
00C2 075E CPC R21,R30
00C3 F40C BGE 0x00C5
00C4 C0B9 RJMP 0x017E
00C5 3548 CPI R20,0x58
00C6 E0E0 LDI R30,0
00C7 075E CPC R21,R30
00C8 F409 BNE 0x00CA
00C9 C074 RJMP 0x013E
00CA C0B3 RJMP 0x017E
(0152) {
(0153) case 55:goto start1;break;
(0154) case 66:goto start2;break;
(0155) case 77:goto start3;break;
(0156) case 88:goto start4;break;
(0157) }
(0158) while(1)
(0159) {
(0160) uchar i;
(0161) uchar h;
(0162) uint j=0x0001;
00CB E081 LDI R24,1
00CC E090 LDI R25,0
00CD 8399 STD Y+1,R25
00CE 8388 STD Y+0,R24
(0163) uint k=0xffff;
00CF EF8F LDI R24,0xFF
00D0 EF9F LDI R25,0xFF
00D1 2EC8 MOV R12,R24
00D2 2ED9 MOV R13,R25
(0164) uint m=0x4000;
00D3 E040 LDI R20,0
00D4 E450 LDI R21,0x40
(0165) uint n=0xffff;
00D5 2EA8 MOV R10,R24
00D6 2EB9 MOV R11,R25
(0166)
(0167)
(0168)
(0169)
(0170) start1:
(0171) for(i=0;i<16;i++)
00D7 24EE CLR R14
00D8 C012 RJMP 0x00EB
(0172) {
(0173) senddata(j);
00D9 8108 LDD R16,Y+0
00DA 8119 LDD R17,Y+1
00DB DF9E RCALL _senddata
(0174) delayms(20); //左到右逐渐亮
00DC E104 LDI R16,0x14
00DD E010 LDI R17,0
00DE DF78 RCALL _delayms
(0175) j=j<<1;
00DF 8008 LDD R0,Y+0
00E0 8019 LDD R1,Y+1
00E1 0C00 LSL R0
00E2 1C11 ROL R1
00E3 8219 STD Y+1,R1
00E4 8208 STD Y+0,R0
(0176) j=j+1;
00E5 2D80 MOV R24,R0
00E6 2D91 MOV R25,R1
00E7 9601 ADIW R24,1
00E8 8399 STD Y+1,R25
00E9 8388 STD Y+0,R24
00EA 94E3 INC R14
00EB 2D8E MOV R24,R14
00EC 3180 CPI R24,0x10
00ED F358 BCS 0x00D9
(0177) }
(0178)
(0179)
(0180) start2:
(0181) for(i=0;i<15;i++) //左到右逐渐灭
00EE 24EE CLR R14
00EF C03A RJMP 0x012A
(0182) {
(0183) if((i>5)&&(i<10))
00F0 E085 LDI R24,5
00F1 158E CP R24,R14
00F2 F4B8 BCC 0x010A
00F3 2D8E MOV R24,R14
00F4 308A CPI R24,0xA
00F5 F4A0 BCC 0x010A
(0184) {
(0185) for(h=0;h<20;h++)
00F6 2766 CLR R22
00F7 C00D RJMP 0x0105
(0186) {
(0187) senddata(k);
00F8 2D0C MOV R16,R12
00F9 2D1D MOV R17,R13
00FA DF7F RCALL _senddata
(0188) delayus(800);
00FB E200 LDI R16,0x20
00FC E013 LDI R17,3
00FD DF6D RCALL _delayus
(0189) senddata(0x00);
00FE 2700 CLR R16
00FF 2711 CLR R17
0100 DF79 RCALL _senddata
(0190) delayus(200);
0101 EC08 LDI R16,0xC8
0102 E010 LDI R17,0
0103 DF67 RCALL _delayus
0104 9563 INC R22
0105 3164 CPI R22,0x14
0106 F388 BCS 0x00F8
(0191) }
(0192) k=k<<1;
0107 0CCC LSL R12
0108 1CDD ROL R13
(0193) }
0109 C01F RJMP 0x0129
(0194) else if(i>10)
010A E08A LDI R24,0xA
010B 158E CP R24,R14
010C F4A0 BCC 0x0121
(0195) {
(0196) for(h=0;h<20;h++)
010D 2766 CLR R22
010E C00D RJMP 0x011C
(0197) {
(0198) senddata(k);
010F 2D0C MOV R16,R12
0110 2D1D MOV R17,R13
0111 DF68 RCALL _senddata
(0199) delayus(600);
0112 E508 LDI R16,0x58
0113 E012 LDI R17,2
0114 DF56 RCALL _delayus
(0200) senddata(0x00);
0115 2700 CLR R16
0116 2711 CLR R17
0117 DF62 RCALL _senddata
(0201) delayus(400);
0118 E900 LDI R16,0x90
0119 E011 LDI R17,1
011A DF50 RCALL _delayus
011B 9563 INC R22
011C 3164 CPI R22,0x14
011D F388 BCS 0x010F
(0202) }
(0203) k=k<<1;
011E 0CCC LSL R12
011F 1CDD ROL R13
(0204)
(0205) }
0120 C008 RJMP 0x0129
(0206) else
(0207) {
(0208) senddata(k);
0121 2D0C MOV R16,R12
0122 2D1D MOV R17,R13
0123 DF56 RCALL _senddata
(0209) delayms(20);
0124 E104 LDI R16,0x14
0125 E010 LDI R17,0
0126 DF30 RCALL _delayms
(0210) k=k<<1;
0127 0CCC LSL R12
0128 1CDD ROL R13
0129 94E3 INC R14
012A 2D8E MOV R24,R14
012B 308F CPI R24,0xF
012C F408 BCC 0x012E
012D CFC2 RJMP 0x00F0
(0211) }
(0212) }
(0213)
(0214)
(0215) start3:
(0216) for(i=0;i<16;i++) //右到左逐渐亮
012E 24EE CLR R14
012F C00B RJMP 0x013B
(0217) {
(0218) senddata(m);
0130 2F04 MOV R16,R20
0131 2F15 MOV R17,R21
0132 DF47 RCALL _senddata
(0219) delayms(20);
0133 E104 LDI R16,0x14
0134 E010 LDI R17,0
0135 DF21 RCALL _delayms
(0220) m=m>>1;
0136 9556 LSR R21
0137 9547 ROR R20
(0221) m=m+0x4000;
0138 5040 SUBI R20,0
0139 4C50 SBCI R21,0xC0
013A 94E3 INC R14
013B 2D8E MOV R24,R14
013C 3180 CPI R24,0x10
013D F390 BCS 0x0130
(0222) }
(0223)
(0224)
(0225) start4:
(0226)
(0227) for(i=0;i<16;i++) //右到左逐渐灭
013E 24EE CLR R14
013F C03A RJMP 0x017A
(0228) {
(0229) if((i>5)&&(i<10))
0140 E085 LDI R24,5
0141 158E CP R24,R14
0142 F4B8 BCC 0x015A
0143 2D8E MOV R24,R14
0144 308A CPI R24,0xA
0145 F4A0 BCC 0x015A
(0230) {
(0231) for(h=0;h<20;h++)
0146 2766 CLR R22
0147 C00D RJMP 0x0155
(0232) {
(0233) senddata(n);
0148 2D0A MOV R16,R10
0149 2D1B MOV R17,R11
014A DF2F RCALL _senddata
(0234) delayus(800);
014B E200 LDI R16,0x20
014C E013 LDI R17,3
014D DF1D RCALL _delayus
(0235) senddata(0x00);
014E 2700 CLR R16
014F 2711 CLR R17
0150 DF29 RCALL _senddata
(0236) delayus(200);
0151 EC08 LDI R16,0xC8
0152 E010 LDI R17,0
0153 DF17 RCALL _delayus
0154 9563 INC R22
0155 3164 CPI R22,0x14
0156 F388 BCS 0x0148
(0237) }
(0238) n=n>>1;
0157 94B6 LSR R11
0158 94A7 ROR R10
(0239) }
0159 C01F RJMP 0x0179
(0240) else if(i>10)
015A E08A LDI R24,0xA
015B 158E CP R24,R14
015C F4A0 BCC 0x0171
(0241) {
(0242) for(h=0;h<20;h++)
015D 2766 CLR R22
015E C00D RJMP 0x016C
(0243) {
(0244) senddata(n);
015F 2D0A MOV R16,R10
0160 2D1B MOV R17,R11
0161 DF18 RCALL _senddata
(0245) delayus(600);
0162 E508 LDI R16,0x58
0163 E012 LDI R17,2
0164 DF06 RCALL _delayus
(0246) senddata(0x00);
0165 2700 CLR R16
0166 2711 CLR R17
0167 DF12 RCALL _senddata
(0247) delayus(400);
0168 E900 LDI R16,0x90
0169 E011 LDI R17,1
016A DF00 RCALL _delayus
016B 9563 INC R22
016C 3164 CPI R22,0x14
016D F388 BCS 0x015F
(0248) }
(0249) n=n>>1;
016E 94B6 LSR R11
016F 94A7 ROR R10
(0250)
(0251) }
0170 C008 RJMP 0x0179
(0252) else
(0253) {
(0254) senddata(n);
0171 2D0A MOV R16,R10
0172 2D1B MOV R17,R11
0173 DF06 RCALL _senddata
(0255) delayms(20);
0174 E104 LDI R16,0x14
0175 E010 LDI R17,0
0176 DEE0 RCALL _delayms
(0256) n=n>>1;
FILE: <library>
0177 94B6 LSR R11
0178 94A7 ROR R10
0179 94E3 INC R14
017A 2D8E MOV R24,R14
017B 3180 CPI R24,0x10
017C F408 BCC 0x017E
017D CFC2 RJMP 0x0140
017E CF4C RJMP 0x00CB
017F 9622 ADIW R28,2
0180 9508 RET
pop_gset2:
0181 E0E2 LDI R30,2
0182 C00C RJMP pop
push_gset5:
0183 92FA ST R15,-Y
0184 92EA ST R14,-Y
push_gset4:
0185 92DA ST R13,-Y
0186 92CA ST R12,-Y
push_gset3:
0187 92BA ST R11,-Y
0188 92AA ST R10,-Y
push_gset2:
0189 937A ST R23,-Y
018A 936A ST R22,-Y
push_gset1:
018B 935A ST R21,-Y
018C 934A ST R20,-Y
018D 9508 RET
pop_gset1:
018E E0E1 LDI R30,1
pop:
018F 9149 LD R20,Y+
0190 9159 LD R21,Y+
0191 FDE0 SBRC R30,0
0192 9508 RET
0193 9169 LD R22,Y+
0194 9179 LD R23,Y+
0195 FDE1 SBRC R30,1
0196 9508 RET
0197 90A9 LD R10,Y+
0198 90B9 LD R11,Y+
0199 FDE2 SBRC R30,2
019A 9508 RET
019B 90C9 LD R12,Y+
019C 90D9 LD R13,Y+
019D FDE3 SBRC R30,3
019E 9508 RET
019F 90E9 LD R14,Y+
01A0 90F9 LD R15,Y+
01A1 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -