📄 12ul_demo.lss
字号:
WORD bi, loop;
for(loop=0; loop < (BLAMPS*BXDOTS)/2; loop++)
1d0: 00 e0 ldi r16, 0x00 ; 0
1d2: 10 e0 ldi r17, 0x00 ; 0
1d4: 4c e0 ldi r20, 0x0C ; 12
1d6: e4 2e mov r14, r20
1d8: f1 2c mov r15, r1
{
Set_Stb();
1da: 91 9a sbi 0x12, 1 ; 18
for(bi=0; bi < (BLAMPS*BXDOTS); bi++)
1dc: c0 e0 ldi r28, 0x00 ; 0
1de: d0 e0 ldi r29, 0x00 ; 0
{
if((bi <= ((BLAMPS*BXDOTS)/2+loop)) && (bi >= ((BLAMPS*BXDOTS)/2-loop)))
1e0: c8 01 movw r24, r16
1e2: 0c 96 adiw r24, 0x0c ; 12
1e4: 8c 17 cp r24, r28
1e6: 9d 07 cpc r25, r29
1e8: 28 f0 brcs .+10 ; 0x1f4
1ea: ce 15 cp r28, r14
1ec: df 05 cpc r29, r15
1ee: 10 f0 brcs .+4 ; 0x1f4
{
SendOneDotColorData(bMoveColor);
1f0: 8d 2d mov r24, r13
1f2: 06 c0 rjmp .+12 ; 0x200
}
else
{
if(bMoveColor == RED)
1f4: dd 20 and r13, r13
1f6: 11 f4 brne .+4 ; 0x1fc
{
SendOneDotColorData(YELLOW);
1f8: 84 e0 ldi r24, 0x04 ; 4
1fa: 02 c0 rjmp .+4 ; 0x200
}
else
{
SendOneDotColorData(bMoveColor-1);
1fc: 8d 2d mov r24, r13
1fe: 81 50 subi r24, 0x01 ; 1
200: 64 df rcall .-312 ; 0xca
202: 21 96 adiw r28, 0x01 ; 1
204: c8 31 cpi r28, 0x18 ; 24
206: d1 05 cpc r29, r1
208: 58 f3 brcs .-42 ; 0x1e0
}
}
}
Clr_Stb();
20a: 91 98 cbi 0x12, 1 ; 18
AvrXDelay(&delay, bMoveSpeed);
20c: b5 01 movw r22, r10
20e: 8d ef ldi r24, 0xFD ; 253
210: 90 e0 ldi r25, 0x00 ; 0
212: 4c d2 rcall .+1176 ; 0x6ac
214: 0f 5f subi r16, 0xFF ; 255
216: 1f 4f sbci r17, 0xFF ; 255
218: 08 94 sec
21a: e1 08 sbc r14, r1
21c: f1 08 sbc r15, r1
21e: 0c 30 cpi r16, 0x0C ; 12
220: 11 05 cpc r17, r1
222: d8 f2 brcs .-74 ; 0x1da
224: df 91 pop r29
226: cf 91 pop r28
228: 1f 91 pop r17
22a: 0f 91 pop r16
22c: ff 90 pop r15
22e: ef 90 pop r14
230: df 90 pop r13
232: bf 90 pop r11
234: af 90 pop r10
236: 08 95 ret
00000238 <Play_CloseOpenMoveUpt>:
238: 0f 93 push r16
23a: 1f 93 push r17
23c: cf 93 push r28
23e: 8c 01 movw r16, r24
240: 84 e0 ldi r24, 0x04 ; 4
242: 5b df rcall .-330 ; 0xfa
244: c0 e0 ldi r28, 0x00 ; 0
246: c0 fd sbrc r28, 0
248: 04 c0 rjmp .+8 ; 0x252
24a: b8 01 movw r22, r16
24c: 8c 2f mov r24, r28
24e: 78 df rcall .-272 ; 0x140
250: 03 c0 rjmp .+6 ; 0x258
252: b8 01 movw r22, r16
254: 8c 2f mov r24, r28
256: b1 df rcall .-158 ; 0x1ba
258: cf 5f subi r28, 0xFF ; 255
25a: c5 30 cpi r28, 0x05 ; 5
25c: a0 f3 brcs .-24 ; 0x246
25e: cf 91 pop r28
260: 1f 91 pop r17
262: 0f 91 pop r16
264: 08 95 ret
00000266 <SendOneDotAshColorData>:
}
}
/*================================================================
Function: Gradual about 16dots.
-----------------------------------------------------------------*/
void Play_Gradual(BYTE bGradSpeeds)
{
WORD wi, wj;
for(wi = 1; wi <= BASHVAL; wi++)
{
for(wj = 0; wj < bGradSpeeds; wj++)
DisplayAsh(wi, BASHVAL - wi, 0);
}
for(wi = 1; wi <= BASHVAL; wi++)
{
for(wj = 0; wj < bGradSpeeds; wj++)
DisplayAsh(BASHVAL - wi, 0, wi);
}
for(wi = 1; wi <= BASHVAL; wi++)
{
for(wj = 0; wj < bGradSpeeds; wj++)
DisplayAsh(0, wi, BASHVAL - wi);
}
}
//-----------------------------------------------------------------
void DisplayAsh(WORD wRedAsh, WORD wGreenAsh, WORD wBlueAsh)
{
WORD wi,wloop;
for(wi = 0; wi < BASHVAL; wi++)
{
Set_Stb();
for(wloop = 0; wloop < 8; wloop++)
{
SendOneDotAshColorData(wi, wRedAsh, wGreenAsh, wBlueAsh);
}
Clr_Stb();
}
}
/*==========================================================================
Function: play AshRGB.
----------------------------------------------------------------------------*/
void Play_24ColorRunAsh_L_to_R(WORD wStayTimes)
{
WORD wi, wj, wk, wStartDot;
for(wStartDot = 0; wStartDot < 24; wStartDot++)
{
for(wk = 0; wk < wStayTimes; wk++)
{
for(wj = 0; wj < BASH16; wj++)
{
Set_Stb();
for(wi = wStartDot; wi < (wStartDot + 24); wi++)
{
SendOneDotAshColorData(wj, bAshRgb[wi%24*3+0], bAshRgb[wi%24*3+1], bAshRgb[wi%24*3+2]);
}
Clr_Stb();
}
}
}
}
//------------------------------------------------------------------------------
void SendOneDotAshColorData(WORD wi, WORD wRedAsh, WORD wGreAsh, WORD wBluAsh)
{
266: fc 01 movw r30, r24
Set_Clk();Set_Sdi();Clr_Clk();
268: 93 9a sbi 0x12, 3 ; 18
26a: 94 9a sbi 0x12, 4 ; 18
26c: 93 98 cbi 0x12, 3 ; 18
Set_Clk();
26e: 93 9a sbi 0x12, 3 ; 18
if(wi < wGreAsh)Clr_Sdi();
270: e4 17 cp r30, r20
272: f5 07 cpc r31, r21
274: 10 f4 brcc .+4 ; 0x27a
276: 94 98 cbi 0x12, 4 ; 18
278: 01 c0 rjmp .+2 ; 0x27c
else Set_Sdi();
27a: 94 9a sbi 0x12, 4 ; 18
Clr_Clk();
27c: 93 98 cbi 0x12, 3 ; 18
Set_Clk();
27e: 93 9a sbi 0x12, 3 ; 18
if(wi < wRedAsh)Clr_Sdi();
280: e6 17 cp r30, r22
282: f7 07 cpc r31, r23
284: 10 f4 brcc .+4 ; 0x28a
286: 94 98 cbi 0x12, 4 ; 18
288: 01 c0 rjmp .+2 ; 0x28c
else Set_Sdi();
28a: 94 9a sbi 0x12, 4 ; 18
Clr_Clk();
28c: 93 98 cbi 0x12, 3 ; 18
Set_Clk();
28e: 93 9a sbi 0x12, 3 ; 18
if(wi < wBluAsh)Clr_Sdi();
290: e2 17 cp r30, r18
292: f3 07 cpc r31, r19
294: 10 f4 brcc .+4 ; 0x29a
296: 94 98 cbi 0x12, 4 ; 18
298: 01 c0 rjmp .+2 ; 0x29c
else Set_Sdi();
29a: 94 9a sbi 0x12, 4 ; 18
Clr_Clk();
29c: 93 98 cbi 0x12, 3 ; 18
29e: 08 95 ret
000002a0 <DisplayAsh>:
2a0: af 92 push r10
2a2: bf 92 push r11
2a4: cf 92 push r12
2a6: df 92 push r13
2a8: ef 92 push r14
2aa: ff 92 push r15
2ac: 0f 93 push r16
2ae: 1f 93 push r17
2b0: cf 93 push r28
2b2: df 93 push r29
2b4: 5c 01 movw r10, r24
2b6: 6b 01 movw r12, r22
2b8: 7a 01 movw r14, r20
2ba: 00 e0 ldi r16, 0x00 ; 0
2bc: 10 e0 ldi r17, 0x00 ; 0
2be: 91 9a sbi 0x12, 1 ; 18
2c0: c7 e0 ldi r28, 0x07 ; 7
2c2: d0 e0 ldi r29, 0x00 ; 0
2c4: 97 01 movw r18, r14
2c6: a6 01 movw r20, r12
2c8: b5 01 movw r22, r10
2ca: c8 01 movw r24, r16
2cc: cc df rcall .-104 ; 0x266
2ce: 21 97 sbiw r28, 0x01 ; 1
2d0: d7 ff sbrs r29, 7
2d2: f8 cf rjmp .-16 ; 0x2c4
2d4: 91 98 cbi 0x12, 1 ; 18
2d6: 0f 5f subi r16, 0xFF ; 255
2d8: 1f 4f sbci r17, 0xFF ; 255
2da: 0f 3f cpi r16, 0xFF ; 255
2dc: 11 05 cpc r17, r1
2de: 78 f3 brcs .-34 ; 0x2be
2e0: df 91 pop r29
2e2: cf 91 pop r28
2e4: 1f 91 pop r17
2e6: 0f 91 pop r16
2e8: ff 90 pop r15
2ea: ef 90 pop r14
2ec: df 90 pop r13
2ee: cf 90 pop r12
2f0: bf 90 pop r11
2f2: af 90 pop r10
2f4: 08 95 ret
000002f6 <Play_Gradual>:
2f6: ff 92 push r15
2f8: 0f 93 push r16
2fa: 1f 93 push r17
2fc: cf 93 push r28
2fe: df 93 push r29
300: f8 2e mov r15, r24
302: 01 e0 ldi r16, 0x01 ; 1
304: 10 e0 ldi r17, 0x00 ; 0
306: 8f 2d mov r24, r15
308: 99 27 eor r25, r25
30a: 00 97 sbiw r24, 0x00 ; 0
30c: 61 f0 breq .+24 ; 0x326
30e: ec 01 movw r28, r24
310: 40 e0 ldi r20, 0x00 ; 0
312: 50 e0 ldi r21, 0x00 ; 0
314: 8f ef ldi r24, 0xFF ; 255
316: 90 e0 ldi r25, 0x00 ; 0
318: bc 01 movw r22, r24
31a: 60 1b sub r22, r16
31c: 71 0b sbc r23, r17
31e: c8 01 movw r24, r16
320: bf df rcall .-130 ; 0x2a0
322: 21 97 sbiw r28, 0x01 ; 1
324: a9 f7 brne .-22 ; 0x310
326: 0f 5f subi r16, 0xFF ; 255
328: 1f 4f sbci r17, 0xFF ; 255
32a: 0f 3f cpi r16, 0xFF ; 255
32c: 11 05 cpc r17, r1
32e: 59 f3 breq .-42 ; 0x306
330: 50 f3 brcs .-44 ; 0x306
332: 01 e0 ldi r16, 0x01 ; 1
334: 10 e0 ldi r17, 0x00 ; 0
336: 8f 2d mov r24, r15
338: 99 27 eor r25, r25
33a: 00 97 sbiw r24, 0x00 ; 0
33c: 59 f0 breq .+22 ; 0x354
33e: ec 01 movw r28, r24
340: a8 01 movw r20, r16
342: 60 e0 ldi r22, 0x00 ; 0
344: 70 e0 ldi r23, 0x00 ; 0
346: 8f ef ldi r24, 0xFF ; 255
348: 90 e0 ldi r25, 0x00 ; 0
34a: 80 1b sub r24, r16
34c: 91 0b sbc r25, r17
34e: a8 df rcall .-176 ; 0x2a0
350: 21 97 sbiw r28, 0x01 ; 1
352: b1 f7 brne .-20 ; 0x340
354: 0f 5f subi r16, 0xFF ; 255
356: 1f 4f sbci r17, 0xFF ; 255
358: 0f 3f cpi r16, 0xFF ; 255
35a: 11 05 cpc r17, r1
35c: 61 f3 breq .-40 ; 0x336
35e: 58 f3 brcs .-42 ; 0x336
360: 01 e0 ldi r16, 0x01 ; 1
362: 10 e0 ldi r17, 0x00 ; 0
364: 8f 2d mov r24, r15
366: 99 27 eor r25, r25
368: 00 97 sbiw r24, 0x00 ; 0
36a: 61 f0 breq .+24 ; 0x384
36c: ec 01 movw r28, r24
36e: 8f ef ldi r24, 0xFF ; 255
370: 90 e0 ldi r25, 0x00 ; 0
372: ac 01 movw r20, r24
374: 40 1b sub r20, r16
376: 51 0b sbc r21, r17
378: b8 01 movw r22, r16
37a: 80 e0 ldi r24, 0x00 ; 0
37c: 90 e0 ldi r25, 0x00 ; 0
37e: 90 df rcall .-224 ; 0x2a0
380: 21 97 sbiw r28, 0x01 ; 1
382: a9 f7 brne .-22 ; 0x36e
384: 0f 5f subi r16, 0xFF ; 255
386: 1f 4f sbci r17, 0xFF ; 255
388: 0f 3f cpi r16, 0xFF ; 255
38a: 11 05 cpc r17, r1
38c: 59 f3 breq .-42 ; 0x364
38e: 50 f3 brcs .-44 ; 0x364
390: df 91 pop r29
392: cf 91 pop r28
394: 1f 91 pop r17
396: 0f 91 pop r16
398: ff 90 pop r15
39a: 08 95 ret
0000039c <Play_24ColorRunAsh_L_to_R>:
39c: 8f 92 push r8
39e: 9f 92 push r9
3a0: af 92 push r10
3a2: bf 92 push r11
3a4: cf 92 push r12
3a6: df 92 push r13
3a8: ef 92 push r14
3aa: ff 92 push r15
3ac: 0f 93 push r16
3ae: 1f 93 push r17
3b0: cf 93 push r28
3b2: df 93 push r29
3b4: 4c 01 movw r8, r24
3b6: 00 e0 ldi r16, 0x00 ; 0
3b8: 10 e0 ldi r17, 0x00 ; 0
3ba: cc 24 eor r12, r12
3bc: dd 24 eor r13, r13
3be: c8 14 cp r12, r8
3c0: d9 04 cpc r13, r9
3c2: 90 f5 brcc .+100 ; 0x428
3c4: ee 24 eor r14, r14
3c6: ff 24 eor r15, r15
3c8: 91 9a sbi 0x12, 1 ; 18
3ca: e8 01 movw r28, r16
3cc: 68 e1 ldi r22, 0x18 ; 24
3ce: a6 2e mov r10, r22
3d0: b1 2c mov r11, r1
3d2: a0 0e add r10, r16
3d4: b1 1e adc r11, r17
3d6: 0a 15 cp r16, r10
3d8: 1b 05 cpc r17, r11
3da: d0 f4 brcc .+52 ; 0x410
3dc: ce 01 movw r24, r28
3de: 68 e1 ldi r22, 0x18 ; 24
3e0: 70 e0 ldi r23, 0x00 ; 0
3e2: 75 d2 rcall .+1258 ; 0x8ce
3e4: fc 01 movw r30, r24
3e6: ee 0f add r30, r30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -