📄 yc_mainfile.lss
字号:
214: 00 97 sbiw r24, 0x00 ; 0
216: d1 f0 breq .+52 ; 0x24c
218: ec 01 movw r28, r24
21a: 10 92 96 01 sts 0x0196, r1
21e: 10 92 95 01 sts 0x0195, r1
222: 10 93 98 01 sts 0x0198, r17
226: 00 93 97 01 sts 0x0197, r16
22a: 80 91 61 00 lds r24, 0x0061
22e: 90 91 62 00 lds r25, 0x0062
232: 80 1b sub r24, r16
234: 91 0b sbc r25, r17
236: 90 93 8d 01 sts 0x018D, r25
23a: 80 93 8c 01 sts 0x018C, r24
23e: ac 01 movw r20, r24
240: b8 01 movw r22, r16
242: 80 e0 ldi r24, 0x00 ; 0
244: 90 e0 ldi r25, 0x00 ; 0
246: 50 df rcall .-352 ; 0xe8
248: 21 97 sbiw r28, 0x01 ; 1
24a: 39 f7 brne .-50 ; 0x21a
24c: 0f 5f subi r16, 0xFF ; 255
24e: 1f 4f sbci r17, 0xFF ; 255
250: 80 91 61 00 lds r24, 0x0061
254: 90 91 62 00 lds r25, 0x0062
258: 08 17 cp r16, r24
25a: 19 07 cpc r17, r25
25c: 90 f2 brcs .-92 ; 0x202
25e: df 91 pop r29
260: cf 91 pop r28
262: 1f 91 pop r17
264: 0f 91 pop r16
266: ff 90 pop r15
268: 08 95 ret
0000026a <SaveWorkState>:
}
}
/*=====================================================================
【功 能】: 遥控按键处理
【名 称】: KeyYc()
【日 期】: 2006年8月30日
=====================================================================*/
void KeyYc(BYTE bKeyVal)
{
//wCurRedAshVal=wCurRedAsh;wCurGreAshVal=wCurGreAsh; wCurBluAshVal=wCurBluAsh;
if(bKeyVal == ONOFF_KEYA)
{WorkFlag.bColseWork = !WorkFlag.bColseWork; WorkFlag.bAshExit = 1;}
else
{
if(WorkFlag.bColseWork == 0)
{
switch(bKeyVal)
{
case PLAYASH_KEYB: bCurPlayIdx = 0x55;break;
case SAVE_KEYC:
if(WorkFlag.bPlayAshOld == 1)
{
WorkFlag.bAshExit = 1; WorkFlag.bSaveKeyC = 1;WorkFlag.bPlayAshOld = 0;
wCurRedAshVal=wCurRedAsh;wCurGreAshVal=wCurGreAsh; wCurBluAshVal=wCurBluAsh;
}break;
case LOAD_KEYD:
{
bCurPlayIdx++;
if(bCurPlayIdx == 5)bCurPlayIdx = 0;
}break;
default: break;
}
}
WorkFlag.bKeyUpt = 1;
}
SaveWorkState();
}
/*=====================================================================
【功 能】: 保存工作状态
【名 称】: SaveWorkState()
【日 期】: 2006年8月30日
=====================================================================*/
void SaveWorkState(void)
{
26a: cf 92 push r12
26c: df 92 push r13
26e: ef 92 push r14
270: ff 92 push r15
272: 0f 93 push r16
274: 1f 93 push r17
276: cf 93 push r28
eeprom_busy_wait();
278: e1 99 sbic 0x1c, 1 ; 28
27a: fe cf rjmp .-4 ; 0x278
eeprom_write_byte (&bLastPlayIdx, bCurPlayIdx);
27c: 60 91 60 00 lds r22, 0x0060
280: 80 e0 ldi r24, 0x00 ; 0
282: 90 e0 ldi r25, 0x00 ; 0
284: 40 d1 rcall .+640 ; 0x506
if(WorkFlag.bSaveKeyC == 1)
286: 80 91 91 01 lds r24, 0x0191
28a: 81 30 cpi r24, 0x01 ; 1
28c: 09 f0 breq .+2 ; 0x290
28e: 65 c0 rjmp .+202 ; 0x35a
{
BYTE bi;
WORD wAshval_Red, wAshval_Gre,wAshval_Blu;
WorkFlag.bSaveKeyC = 0;
290: 10 92 91 01 sts 0x0191, r1
bCurPlayIdx = 0;
294: 10 92 60 00 sts 0x0060, r1
eeprom_busy_wait();
298: e1 99 sbic 0x1c, 1 ; 28
29a: fe cf rjmp .-4 ; 0x298
eeprom_write_byte (&bLastPlayIdx, bCurPlayIdx);
29c: 60 91 60 00 lds r22, 0x0060
2a0: 80 e0 ldi r24, 0x00 ; 0
2a2: 90 e0 ldi r25, 0x00 ; 0
2a4: 30 d1 rcall .+608 ; 0x506
for(bi=4; bi>0; bi--)
2a6: c4 e0 ldi r28, 0x04 ; 4
{
eeprom_busy_wait();
2a8: e1 99 sbic 0x1c, 1 ; 28
2aa: fe cf rjmp .-4 ; 0x2a8
wAshval_Red = eeprom_read_word(&bColorAsh[bi-1][0]);
2ac: 86 e0 ldi r24, 0x06 ; 6
2ae: c8 9f mul r28, r24
2b0: c0 01 movw r24, r0
2b2: 11 24 eor r1, r1
2b4: 85 50 subi r24, 0x05 ; 5
2b6: 90 40 sbci r25, 0x00 ; 0
2b8: 19 d1 rcall .+562 ; 0x4ec
2ba: 8c 01 movw r16, r24
eeprom_busy_wait();
2bc: e1 99 sbic 0x1c, 1 ; 28
2be: fe cf rjmp .-4 ; 0x2bc
wAshval_Gre = eeprom_read_word(&bColorAsh[bi-1][1]);
2c0: 86 e0 ldi r24, 0x06 ; 6
2c2: c8 9f mul r28, r24
2c4: c0 01 movw r24, r0
2c6: 11 24 eor r1, r1
2c8: 83 50 subi r24, 0x03 ; 3
2ca: 90 40 sbci r25, 0x00 ; 0
2cc: 0f d1 rcall .+542 ; 0x4ec
2ce: 7c 01 movw r14, r24
eeprom_busy_wait();
2d0: e1 99 sbic 0x1c, 1 ; 28
2d2: fe cf rjmp .-4 ; 0x2d0
wAshval_Blu = eeprom_read_word(&bColorAsh[bi-1][2]);
2d4: 86 e0 ldi r24, 0x06 ; 6
2d6: c8 9f mul r28, r24
2d8: c0 01 movw r24, r0
2da: 11 24 eor r1, r1
2dc: 81 50 subi r24, 0x01 ; 1
2de: 90 40 sbci r25, 0x00 ; 0
2e0: 05 d1 rcall .+522 ; 0x4ec
2e2: 6c 01 movw r12, r24
eeprom_busy_wait();
2e4: e1 99 sbic 0x1c, 1 ; 28
2e6: fe cf rjmp .-4 ; 0x2e4
eeprom_write_word (&bColorAsh[bi][0], wAshval_Red);
2e8: 86 e0 ldi r24, 0x06 ; 6
2ea: c8 9f mul r28, r24
2ec: c0 01 movw r24, r0
2ee: 11 24 eor r1, r1
2f0: b8 01 movw r22, r16
2f2: 8f 5f subi r24, 0xFF ; 255
2f4: 9f 4f sbci r25, 0xFF ; 255
2f6: 12 d1 rcall .+548 ; 0x51c
eeprom_busy_wait();
2f8: e1 99 sbic 0x1c, 1 ; 28
2fa: fe cf rjmp .-4 ; 0x2f8
eeprom_write_word (&bColorAsh[bi][1], wAshval_Gre);
2fc: 86 e0 ldi r24, 0x06 ; 6
2fe: c8 9f mul r28, r24
300: c0 01 movw r24, r0
302: 11 24 eor r1, r1
304: b7 01 movw r22, r14
306: 8d 5f subi r24, 0xFD ; 253
308: 9f 4f sbci r25, 0xFF ; 255
30a: 08 d1 rcall .+528 ; 0x51c
eeprom_busy_wait();
30c: e1 99 sbic 0x1c, 1 ; 28
30e: fe cf rjmp .-4 ; 0x30c
eeprom_write_word (&bColorAsh[bi][2], wAshval_Blu);
310: 86 e0 ldi r24, 0x06 ; 6
312: c8 9f mul r28, r24
314: c0 01 movw r24, r0
316: 11 24 eor r1, r1
318: b6 01 movw r22, r12
31a: 8b 5f subi r24, 0xFB ; 251
31c: 9f 4f sbci r25, 0xFF ; 255
31e: fe d0 rcall .+508 ; 0x51c
320: c1 50 subi r28, 0x01 ; 1
322: 11 f6 brne .-124 ; 0x2a8
}
eeprom_busy_wait();
324: e1 99 sbic 0x1c, 1 ; 28
326: fe cf rjmp .-4 ; 0x324
eeprom_write_word (&bColorAsh[0][0], wCurRedAshVal);
328: 60 91 8a 01 lds r22, 0x018A
32c: 70 91 8b 01 lds r23, 0x018B
330: 81 e0 ldi r24, 0x01 ; 1
332: 90 e0 ldi r25, 0x00 ; 0
334: f3 d0 rcall .+486 ; 0x51c
eeprom_busy_wait();
336: e1 99 sbic 0x1c, 1 ; 28
338: fe cf rjmp .-4 ; 0x336
eeprom_write_word (&bColorAsh[0][1], wCurGreAshVal);
33a: 60 91 93 01 lds r22, 0x0193
33e: 70 91 94 01 lds r23, 0x0194
342: 83 e0 ldi r24, 0x03 ; 3
344: 90 e0 ldi r25, 0x00 ; 0
346: ea d0 rcall .+468 ; 0x51c
eeprom_busy_wait();
348: e1 99 sbic 0x1c, 1 ; 28
34a: fe cf rjmp .-4 ; 0x348
eeprom_write_word (&bColorAsh[0][2], wCurBluAshVal);
34c: 60 91 88 01 lds r22, 0x0188
350: 70 91 89 01 lds r23, 0x0189
354: 85 e0 ldi r24, 0x05 ; 5
356: 90 e0 ldi r25, 0x00 ; 0
358: e1 d0 rcall .+450 ; 0x51c
35a: cf 91 pop r28
35c: 1f 91 pop r17
35e: 0f 91 pop r16
360: ff 90 pop r15
362: ef 90 pop r14
364: df 90 pop r13
366: cf 90 pop r12
368: 08 95 ret
0000036a <KeyYc>:
36a: 20 91 8e 01 lds r18, 0x018E
36e: 81 30 cpi r24, 0x01 ; 1
370: 49 f4 brne .+18 ; 0x384
372: 90 e0 ldi r25, 0x00 ; 0
374: 22 23 and r18, r18
376: 09 f4 brne .+2 ; 0x37a
378: 98 2f mov r25, r24
37a: 90 93 8e 01 sts 0x018E, r25
37e: 80 93 90 01 sts 0x0190, r24
382: 43 c0 rjmp .+134 ; 0x40a
384: 22 23 and r18, r18
386: 09 f0 breq .+2 ; 0x38a
388: 3d c0 rjmp .+122 ; 0x404
38a: 99 27 eor r25, r25
38c: 84 30 cpi r24, 0x04 ; 4
38e: 91 05 cpc r25, r1
390: 69 f0 breq .+26 ; 0x3ac
392: 85 30 cpi r24, 0x05 ; 5
394: 91 05 cpc r25, r1
396: 1c f4 brge .+6 ; 0x39e
398: 02 97 sbiw r24, 0x02 ; 2
39a: 21 f0 breq .+8 ; 0x3a4
39c: 33 c0 rjmp .+102 ; 0x404
39e: 08 97 sbiw r24, 0x08 ; 8
3a0: 41 f1 breq .+80 ; 0x3f2
3a2: 30 c0 rjmp .+96 ; 0x404
3a4: 85 e5 ldi r24, 0x55 ; 85
3a6: 80 93 60 00 sts 0x0060, r24
3aa: 2c c0 rjmp .+88 ; 0x404
3ac: 80 91 92 01 lds r24, 0x0192
3b0: 81 30 cpi r24, 0x01 ; 1
3b2: 41 f5 brne .+80 ; 0x404
3b4: 80 93 90 01 sts 0x0190, r24
3b8: 80 93 91 01 sts 0x0191, r24
3bc: 20 93 92 01 sts 0x0192, r18
3c0: 80 91 95 01 lds r24, 0x0195
3c4: 90 91 96 01 lds r25, 0x0196
3c8: 90 93 8b 01 sts 0x018B, r25
3cc: 80 93 8a 01 sts 0x018A, r24
3d0: 80 91 97 01 lds r24, 0x0197
3d4: 90 91 98 01 lds r25, 0x0198
3d8: 90 93 94 01 sts 0x0194, r25
3dc: 80 93 93 01 sts 0x0193, r24
3e0: 80 91 8c 01 lds r24, 0x018C
3e4: 90 91 8d 01 lds r25, 0x018D
3e8: 90 93 89 01 sts 0x0189, r25
3ec: 80 93 88 01 sts 0x0188, r24
3f0: 09 c0 rjmp .+18 ; 0x404
3f2: 80 91 60 00 lds r24, 0x0060
3f6: 8f 5f subi r24, 0xFF ; 255
3f8: 80 93 60 00 sts 0x0060, r24
3fc: 85 30 cpi r24, 0x05 ; 5
3fe: 11 f4 brne .+4 ; 0x404
400: 20 93 60 00 sts 0x0060, r18
404: 81 e0 ldi r24, 0x01 ; 1
406: 80 93 8f 01 sts 0x018F, r24
40a: 2f df rcall .-418 ; 0x26a
40c: 08 95 ret
0000040e <LoadWorkState>:
}
}
/*=====================================================================
【功 能】: 调入工作状态
【名 称】: LoadWorkState()
【日 期】: 2006年8月30日
=====================================================================*/
void LoadWorkState(void)
{
if(WorkFlag.bKeyUpt == 1)
40e: 80 91 8f 01 lds r24, 0x018F
412: 81 30 cpi r24, 0x01 ; 1
414: b1 f5 brne .+108 ; 0x482
{
eeprom_busy_wait();
416: e1 99 sbic 0x1c, 1 ; 28
418: fe cf rjmp .-4 ; 0x416
bCurPlayIdx = eeprom_read_byte(&bLastPlayIdx);
41a: 80 e0 ldi r24, 0x00 ; 0
41c: 90 e0 ldi r25, 0x00 ; 0
41e: 5e d0 rcall .+188 ; 0x4dc
420: 80 93 60 00 sts 0x0060, r24
eeprom_busy_wait();
424: e1 99 sbic 0x1c, 1 ; 28
426: fe cf rjmp .-4 ; 0x424
wCurRedAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][0]);
428: 90 91 60 00 lds r25, 0x0060
42c: 86 e0 ldi r24, 0x06 ; 6
42e: 98 9f mul r25, r24
430: c0 01 movw r24, r0
432: 11 24 eor r1, r1
434: 8f 5f subi r24, 0xFF ; 255
436: 9f 4f sbci r25, 0xFF ; 255
438: 59 d0 rcall .+178 ; 0x4ec
43a: 90 93 8b 01 sts 0x018B, r25
43e: 80 93 8a 01 sts 0x018A, r24
eeprom_busy_wait();
442: e1 99 sbic 0x1c, 1 ; 28
444: fe cf rjmp .-4 ; 0x442
wCurGreAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][1]);
446: 90 91 60 00 lds r25, 0x0060
44a: 86 e0 ldi r24, 0x06 ; 6
44c: 98 9f mul r25, r24
44e: c0 01 movw r24, r0
450: 11 24 eor r1, r1
452: 8d 5f subi r24, 0xFD ; 253
454: 9f 4f sbci r25, 0xFF ; 255
456: 4a d0 rcall .+148 ; 0x4ec
458: 90 93 94 01 sts 0x0194, r25
45c: 80 93 93 01 sts 0x0193, r24
eeprom_busy_wait();
460: e1 99 sbic 0x1c, 1 ; 28
462: fe cf rjmp .-4 ; 0x460
wCurBluAshVal = eeprom_read_word(&bColorAsh[bCurPlayIdx][2]);
464: 90 91 60 00 lds r25, 0x0060
468: 86 e0 ldi r24, 0x06 ; 6
46a: 98 9f mul r25, r24
46c: c0 01 movw r24, r0
46e: 11 24 eor r1, r1
470: 8b 5f subi r24, 0xFB ; 251
472: 9f 4f sbci r25, 0xFF ; 255
474: 3b d0 rcall .+118 ; 0x4ec
476: 90 93 89 01 sts 0x0189, r25
47a: 80 93 88 01 sts 0x0188, r24
WorkFlag.bKeyUpt = 0;
47e: 10 92 8f 01 sts 0x018F, r1
}
if(WorkFlag.bColseWork == 1)
482: 80 91 8e 01 lds r24, 0x018E
486: 81 30 cpi r24, 0x01 ; 1
488: 21 f4 brne .+8 ; 0x492
{
OFF_Red(); OFF_Gre(); OFF_Blu();
48a: 95 9a sbi 0x12, 5 ; 18
48c: 96 9a sbi 0x12, 6 ; 18
48e: 97 9a sbi 0x12, 7 ; 18
490: 08 95 ret
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -