📄 4key.lst
字号:
289 0154 11C0 rjmp .L40
290 .L20:
44:D:/ouyangyingqian/four/4key.c **** case keycode7: led=ledcode[7];Time=0;break;
292 .LM16:
293 0156 902F mov r25,r16
294 0158 0FC0 rjmp .L40
295 .L21:
45:D:/ouyangyingqian/four/4key.c **** case keycode8: led=ledcode[8];Time=0;break;
297 .LM17:
298 015a 912F mov r25,r17
299 015c 0DC0 rjmp .L40
300 .L22:
46:D:/ouyangyingqian/four/4key.c **** case keycode9: led=ledcode[9];Time=0;break;
302 .LM18:
303 015e 9C2F mov r25,r28
304 0160 0BC0 rjmp .L40
305 .L23:
47:D:/ouyangyingqian/four/4key.c **** case keycodeA: led=ledcode[10];Time=0;break;
307 .LM19:
308 0162 9B2F mov r25,r27
309 0164 09C0 rjmp .L40
310 .L24:
48:D:/ouyangyingqian/four/4key.c **** case keycodeB: led=ledcode[11];Time=0;break;
312 .LM20:
313 0166 9A2F mov r25,r26
314 0168 07C0 rjmp .L40
315 .L25:
49:D:/ouyangyingqian/four/4key.c **** case keycodeC: led=ledcode[12];Time=0;break;
317 .LM21:
318 016a 9F2F mov r25,r31
319 016c 05C0 rjmp .L40
320 .L26:
50:D:/ouyangyingqian/four/4key.c **** case keycodeD: led=ledcode[13];Time=0;break;
322 .LM22:
323 016e 9E2F mov r25,r30
324 0170 03C0 rjmp .L40
325 .L27:
51:D:/ouyangyingqian/four/4key.c **** case keycodeE: led=ledcode[14];Time=0;break;
327 .LM23:
328 0172 972F mov r25,r23
329 0174 01C0 rjmp .L40
330 .L28:
52:D:/ouyangyingqian/four/4key.c **** case keycodeF: led=ledcode[15];Time=0;break;
332 .LM24:
333 0176 962F mov r25,r22
334 .L40:
335 0178 40E0 ldi r20,lo8(0)
336 017a 01C0 rjmp .L4
337 .L29:
53:D:/ouyangyingqian/four/4key.c **** default : {
54:D:/ouyangyingqian/four/4key.c **** Time++;
339 .LM25:
340 017c 4F5F subi r20,lo8(-(1))
341 .L4:
55:D:/ouyangyingqian/four/4key.c **** break;
56:D:/ouyangyingqian/four/4key.c **** }
57:D:/ouyangyingqian/four/4key.c **** }
58:D:/ouyangyingqian/four/4key.c **** }
343 .LM26:
344 017e 842F mov r24,r20
345 0180 8150 subi r24,lo8(-(-1))
346 0182 8330 cpi r24,lo8(3)
347 0184 08F4 brsh .+2
348 0186 6CCF rjmp .L2
349 0188 4093 0000 sts Time.1,r20
350 018c 9093 0000 sts led.2,r25
351 0190 5093 0000 sts ScanCode.0,r21
59:D:/ouyangyingqian/four/4key.c **** while((Time!=0)&(Time<4)); //如果time=4(键盘扫描一遍)
60:D:/ouyangyingqian/four/4key.c ****
61:D:/ouyangyingqian/four/4key.c ****
62:D:/ouyangyingqian/four/4key.c **** if(Time==4) //由time=4条件而退出,即没有扫描到按键
353 .LM27:
354 0194 4430 cpi r20,lo8(4)
355 0196 21F4 brne .L37
63:D:/ouyangyingqian/four/4key.c **** {
64:D:/ouyangyingqian/four/4key.c **** return(ledlast);
357 .LM28:
358 0198 8091 0000 lds r24,ledlast.4
359 019c 9927 clr r25
360 019e 08C0 rjmp .L1
361 .L37:
65:D:/ouyangyingqian/four/4key.c **** }
66:D:/ouyangyingqian/four/4key.c **** else
67:D:/ouyangyingqian/four/4key.c **** {
68:D:/ouyangyingqian/four/4key.c **** //检测到有按键时,更新按键值
69:D:/ouyangyingqian/four/4key.c **** ledlast=ledcurrent;
363 .LM29:
364 01a0 8091 0000 lds r24,ledcurrent.3
365 01a4 8093 0000 sts ledlast.4,r24
70:D:/ouyangyingqian/four/4key.c **** ledcurrent=led;
367 .LM30:
368 01a8 9093 0000 sts ledcurrent.3,r25
71:D:/ouyangyingqian/four/4key.c **** return(ledcurrent);
370 .LM31:
371 01ac 892F mov r24,r25
372 01ae 9927 clr r25
373 .L1:
374 /* epilogue: frame size=0 */
375 01b0 CF91 pop r28
376 01b2 1F91 pop r17
377 01b4 0F91 pop r16
378 01b6 FF90 pop r15
379 01b8 EF90 pop r14
380 01ba DF90 pop r13
381 01bc CF90 pop r12
382 01be BF90 pop r11
383 01c0 AF90 pop r10
384 01c2 9F90 pop r9
385 01c4 0895 ret
386 /* epilogue end (size=11) */
387 /* function Keyboard size 226 (205) */
395 .global Initi_Device
397 Initi_Device:
72:D:/ouyangyingqian/four/4key.c **** }
73:D:/ouyangyingqian/four/4key.c **** }
74:D:/ouyangyingqian/four/4key.c ****
75:D:/ouyangyingqian/four/4key.c ****
76:D:/ouyangyingqian/four/4key.c **** void Initi_Device(void)
77:D:/ouyangyingqian/four/4key.c **** {
399 .LM32:
400 /* prologue: frame size=0 */
401 /* prologue end (size=0) */
78:D:/ouyangyingqian/four/4key.c **** LED_ADD_DDR=0xFF; //定义为输出
403 .LM33:
404 01c6 8FEF ldi r24,lo8(-1)
405 01c8 81BB out 49-0x20,r24
79:D:/ouyangyingqian/four/4key.c **** LED_ADD_PORT=0xFE; //控制最后一个八段数码管亮
407 .LM34:
408 01ca 9EEF ldi r25,lo8(-2)
409 01cc 92BB out 50-0x20,r25
80:D:/ouyangyingqian/four/4key.c **** LED_DATA_DDR=0xFF; //定义为输出
411 .LM35:
412 01ce 87BB out 55-0x20,r24
81:D:/ouyangyingqian/four/4key.c **** LED_DATA_PORT=0xBF; //输出数字
414 .LM36:
415 01d0 8FEB ldi r24,lo8(-65)
416 01d2 88BB out 56-0x20,r24
417 /* epilogue: frame size=0 */
418 01d4 0895 ret
419 /* epilogue end (size=1) */
420 /* function Initi_Device size 8 (7) */
423 .global __vector_9
425 __vector_9:
82:D:/ouyangyingqian/four/4key.c **** }
83:D:/ouyangyingqian/four/4key.c ****
84:D:/ouyangyingqian/four/4key.c **** SIGNAL(SIG_OVERFLOW0)
85:D:/ouyangyingqian/four/4key.c **** {
427 .LM37:
428 /* prologue: frame size=0 */
429 01d6 1F92 push __zero_reg__
430 01d8 0F92 push __tmp_reg__
431 01da 0FB6 in __tmp_reg__,__SREG__
432 01dc 0F92 push __tmp_reg__
433 01de 1124 clr __zero_reg__
434 01e0 2F93 push r18
435 01e2 3F93 push r19
436 01e4 4F93 push r20
437 01e6 5F93 push r21
438 01e8 6F93 push r22
439 01ea 7F93 push r23
440 01ec 8F93 push r24
441 01ee 9F93 push r25
442 01f0 AF93 push r26
443 01f2 BF93 push r27
444 01f4 EF93 push r30
445 01f6 FF93 push r31
446 /* prologue end (size=17) */
86:D:/ouyangyingqian/four/4key.c **** TCNT0=0XB2;
448 .LM38:
449 01f8 82EB ldi r24,lo8(-78)
450 01fa 82BF out 82-0x20,r24
87:D:/ouyangyingqian/four/4key.c **** LED_DATA_PORT=Keyboard();
452 .LM39:
453 01fc 0E94 0000 call Keyboard
454 0200 88BB out 56-0x20,r24
455 /* epilogue: frame size=0 */
456 0202 FF91 pop r31
457 0204 EF91 pop r30
458 0206 BF91 pop r27
459 0208 AF91 pop r26
460 020a 9F91 pop r25
461 020c 8F91 pop r24
462 020e 7F91 pop r23
463 0210 6F91 pop r22
464 0212 5F91 pop r21
465 0214 4F91 pop r20
466 0216 3F91 pop r19
467 0218 2F91 pop r18
468 021a 0F90 pop __tmp_reg__
469 021c 0FBE out __SREG__,__tmp_reg__
470 021e 0F90 pop __tmp_reg__
471 0220 1F90 pop __zero_reg__
472 0222 1895 reti
473 /* epilogue end (size=17) */
474 /* function __vector_9 size 39 (5) */
477 .global main
479 main:
88:D:/ouyangyingqian/four/4key.c **** }
89:D:/ouyangyingqian/four/4key.c ****
90:D:/ouyangyingqian/four/4key.c **** int main(void)
91:D:/ouyangyingqian/four/4key.c **** {
481 .LM40:
482 /* prologue: frame size=0 */
483 0224 C0E0 ldi r28,lo8(__stack - 0)
484 0226 D0E0 ldi r29,hi8(__stack - 0)
485 0228 DEBF out __SP_H__,r29
486 022a CDBF out __SP_L__,r28
487 /* prologue end (size=4) */
92:D:/ouyangyingqian/four/4key.c **** KEY_DDR=0X0F;
489 .LM41:
490 022c 8FE0 ldi r24,lo8(15)
491 022e 84BB out 52-0x20,r24
93:D:/ouyangyingqian/four/4key.c **** KEY_PORT=0XFF;
493 .LM42:
494 0230 8FEF ldi r24,lo8(-1)
495 0232 85BB out 53-0x20,r24
94:D:/ouyangyingqian/four/4key.c **** Initi_Device();
497 .LM43:
498 0234 0E94 0000 call Initi_Device
95:D:/ouyangyingqian/four/4key.c **** TCCR0=5;
500 .LM44:
501 0238 85E0 ldi r24,lo8(5)
502 023a 83BF out 83-0x20,r24
96:D:/ouyangyingqian/four/4key.c **** TCNT0=0XB2;
504 .LM45:
505 023c 82EB ldi r24,lo8(-78)
506 023e 82BF out 82-0x20,r24
97:D:/ouyangyingqian/four/4key.c **** TIMSK=(1<<TOIE0);
508 .LM46:
509 0240 81E0 ldi r24,lo8(1)
510 0242 89BF out 89-0x20,r24
98:D:/ouyangyingqian/four/4key.c **** sei();
512 .LM47:
513 /* #APP */
514 0244 7894 sei
515 /* #NOAPP */
516 .L44:
99:D:/ouyangyingqian/four/4key.c **** for(;;)
518 .LM48:
519 0246 FFCF rjmp .L44
520 /* epilogue: frame size=0 */
521 /* epilogue: noreturn */
522 /* epilogue end (size=0) */
523 /* function main size 19 (15) */
526 .text
528 Letext:
529 /* File "D:/ouyangyingqian/four/4key.c": code 292 = 0x0124 ( 232), prologues 31, epilogues 29 */
DEFINED SYMBOLS
*ABS*:00000000 4key.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:55 .data:00000000 ledcode
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:74 .data:00000010 ScanCode.0
.bss:00000000 Time.1
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:76 .bss:00000001 led.2
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:77 .bss:00000002 ledcurrent.3
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:78 .bss:00000003 ledlast.4
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:84 .text:00000000 Keyboard
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:397 .text:000001c6 Initi_Device
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:425 .text:000001d6 __vector_9
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:479 .text:00000224 main
C:\DOCUME~1\lab\LOCALS~1\Temp/ccsRaaaa.s:528 .text:00000248 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -