⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m.lst

📁 AVR单片机控制下的实时按键显示 实验条件 ⑴ SL-AVRAD编程开发实验板 (2) AVR系列单片机ATMega16(L) (3) AVR单片机的C语言编译器WinAVR (4) AVR单片
💻 LST
📖 第 1 页 / 共 2 页
字号:
 299               	.LM22:
 300 0114 8CE0      		ldi r24,lo8(12)
 301 0116 0EC0      		rjmp .L38
 302               	.L23:
  47:D:/liwei/two/m.c **** 	case 0xDE:tempnum=13;times=0;break;
 304               	.LM23:
 305 0118 8DE0      		ldi r24,lo8(13)
 306 011a 0CC0      		rjmp .L38
 307               	.L24:
  48:D:/liwei/two/m.c **** 	case 0xBE:tempnum=14;times=0;break;
 309               	.LM24:
 310 011c 8EE0      		ldi r24,lo8(14)
 311 011e 0AC0      		rjmp .L38
 312               	.L25:
  49:D:/liwei/two/m.c **** 	case 0x7E:tempnum=15;times=0;break;
 314               	.LM25:
 315 0120 8FE0      		ldi r24,lo8(15)
 316 0122 08C0      		rjmp .L38
 317               	.L26:
  50:D:/liwei/two/m.c ****     default:{
  51:D:/liwei/two/m.c **** 	          times++;
 319               	.LM26:
 320 0124 8091 0000 		lds r24,times.5
 321 0128 8F5F      		subi r24,lo8(-(1))
 322 012a 8093 0000 		sts times.5,r24
  52:D:/liwei/two/m.c **** 			  if(times==4)
 324               	.LM27:
 325 012e 8430      		cpi r24,lo8(4)
 326 0130 29F4      		brne .L9
  53:D:/liwei/two/m.c **** 			   {
  54:D:/liwei/two/m.c **** 			   tempnum=16;
 328               	.LM28:
 329 0132 80E1      		ldi r24,lo8(16)
 330               	.L38:
 331 0134 8093 0000 		sts tempnum.2,r24
 332               	.L39:
  55:D:/liwei/two/m.c **** 			   times=0;
 334               	.LM29:
 335 0138 1092 0000 		sts times.5,__zero_reg__
 336               	.L9:
  56:D:/liwei/two/m.c **** 			   }
  57:D:/liwei/two/m.c **** 			 }break;
  58:D:/liwei/two/m.c ****     }
  59:D:/liwei/two/m.c **** lastnum=currentnum;
 338               	.LM30:
 339 013c 8091 0000 		lds r24,currentnum.4
 340 0140 8093 0000 		sts lastnum.3,r24
  60:D:/liwei/two/m.c **** currentnum=tempnum;
 342               	.LM31:
 343 0144 9091 0000 		lds r25,tempnum.2
 344 0148 9093 0000 		sts currentnum.4,r25
  61:D:/liwei/two/m.c **** if(currentnum==lastnum)return(16);
 346               	.LM32:
 347 014c 9817      		cp r25,r24
 348 014e 19F4      		brne .L35
 349 0150 80E1      		ldi r24,lo8(16)
 350 0152 90E0      		ldi r25,hi8(16)
 351 0154 0895      		ret
 352               	.L35:
  62:D:/liwei/two/m.c **** else return(currentnum);
 354               	.LM33:
 355 0156 892F      		mov r24,r25
 356 0158 9927      		clr r25
  63:D:/liwei/two/m.c ****    
  64:D:/liwei/two/m.c **** } 
 358               	.LM34:
 359 015a 0895      		ret
 360               	/* epilogue: frame size=0 */
 361 015c 0895      		ret
 362               	/* epilogue end (size=1) */
 363               	/* function keyboard size 175 (174) */
 371               	.global	Initi_Device
 373               	Initi_Device:
  65:D:/liwei/two/m.c **** 
  66:D:/liwei/two/m.c **** 
  67:D:/liwei/two/m.c **** 
  68:D:/liwei/two/m.c **** uint8_t ledcode[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x58,0x5E,0x79,0x7
  69:D:/liwei/two/m.c **** //uint8_t ledaddr[6]={0xDF,0xEF,0xF7,0xFB,0xFD,0xFE}; //for PD port  pd5=0,
  70:D:/liwei/two/m.c **** 
  71:D:/liwei/two/m.c **** 
  72:D:/liwei/two/m.c **** void Initi_Device(void)
  73:D:/liwei/two/m.c **** {
 375               	.LM35:
 376               	/* prologue: frame size=0 */
 377               	/* prologue end (size=0) */
  74:D:/liwei/two/m.c **** 	LED_ADD_DDR=0xFF;
 379               	.LM36:
 380 015e 9FEF      		ldi r25,lo8(-1)
 381 0160 91BB      		out 49-0x20,r25
  75:D:/liwei/two/m.c **** 	LED_ADD_PORT=0xFE;
 383               	.LM37:
 384 0162 8EEF      		ldi r24,lo8(-2)
 385 0164 82BB      		out 50-0x20,r24
  76:D:/liwei/two/m.c **** 
  77:D:/liwei/two/m.c **** 	LED_DATA_DDR=0xFF;
 387               	.LM38:
 388 0166 97BB      		out 55-0x20,r25
  78:D:/liwei/two/m.c **** 	LED_DATA_PORT=0xFF;
 390               	.LM39:
 391 0168 98BB      		out 56-0x20,r25
 392               	/* epilogue: frame size=0 */
 393 016a 0895      		ret
 394               	/* epilogue end (size=1) */
 395               	/* function Initi_Device size 7 (6) */
 397               		.lcomm code_num.0,1
 399               	.global	__vector_8
 401               	__vector_8:
  79:D:/liwei/two/m.c **** }
  80:D:/liwei/two/m.c **** 
  81:D:/liwei/two/m.c **** SIGNAL(SIG_OVERFLOW1)
  82:D:/liwei/two/m.c **** {
 403               	.LM40:
 404               	/* prologue: frame size=0 */
 405 016c 1F92      		push __zero_reg__
 406 016e 0F92      		push __tmp_reg__
 407 0170 0FB6      		in __tmp_reg__,__SREG__
 408 0172 0F92      		push __tmp_reg__
 409 0174 1124      		clr __zero_reg__
 410 0176 2F93      		push r18
 411 0178 3F93      		push r19
 412 017a 4F93      		push r20
 413 017c 5F93      		push r21
 414 017e 6F93      		push r22
 415 0180 7F93      		push r23
 416 0182 8F93      		push r24
 417 0184 9F93      		push r25
 418 0186 AF93      		push r26
 419 0188 BF93      		push r27
 420 018a EF93      		push r30
 421 018c FF93      		push r31
 422               	/* prologue end (size=17) */
  83:D:/liwei/two/m.c **** 	static uint8_t code_num=0;
  84:D:/liwei/two/m.c **** 	
  85:D:/liwei/two/m.c **** 	code_num=keyboard();
 424               	.LM41:
 425 018e 0E94 0000 		call keyboard
 426 0192 8093 0000 		sts code_num.0,r24
  86:D:/liwei/two/m.c **** 	
  87:D:/liwei/two/m.c **** 	if (code_num!=16)
 428               	.LM42:
 429 0196 8031      		cpi r24,lo8(16)
 430 0198 31F0      		breq .L42
  88:D:/liwei/two/m.c **** 		LED_DATA_PORT=ledcode[code_num];
 432               	.LM43:
 433 019a E82F      		mov r30,r24
 434 019c FF27      		clr r31
 435 019e E050      		subi r30,lo8(-(ledcode))
 436 01a0 F040      		sbci r31,hi8(-(ledcode))
 437 01a2 8081      		ld r24,Z
 438 01a4 88BB      		out 56-0x20,r24
 439               	.L42:
  89:D:/liwei/two/m.c **** 
  90:D:/liwei/two/m.c **** 	TCNT1L=0xB2;
 441               	.LM44:
 442 01a6 82EB      		ldi r24,lo8(-78)
 443 01a8 8CBD      		out 76-0x20,r24
  91:D:/liwei/two/m.c **** 	TCNT1H=0xFF;
 445               	.LM45:
 446 01aa 8FEF      		ldi r24,lo8(-1)
 447 01ac 8DBD      		out 77-0x20,r24
 448               	/* epilogue: frame size=0 */
 449 01ae FF91      		pop r31
 450 01b0 EF91      		pop r30
 451 01b2 BF91      		pop r27
 452 01b4 AF91      		pop r26
 453 01b6 9F91      		pop r25
 454 01b8 8F91      		pop r24
 455 01ba 7F91      		pop r23
 456 01bc 6F91      		pop r22
 457 01be 5F91      		pop r21
 458 01c0 4F91      		pop r20
 459 01c2 3F91      		pop r19
 460 01c4 2F91      		pop r18
 461 01c6 0F90      		pop __tmp_reg__
 462 01c8 0FBE      		out __SREG__,__tmp_reg__
 463 01ca 0F90      		pop __tmp_reg__
 464 01cc 1F90      		pop __zero_reg__
 465 01ce 1895      		reti
 466               	/* epilogue end (size=17) */
 467               	/* function __vector_8 size 50 (16) */
 471               	.global	main
 473               	main:
  92:D:/liwei/two/m.c **** }
  93:D:/liwei/two/m.c **** 
  94:D:/liwei/two/m.c **** int main(void)
  95:D:/liwei/two/m.c **** {
 475               	.LM46:
 476               	/* prologue: frame size=0 */
 477 01d0 C0E0      		ldi r28,lo8(__stack - 0)
 478 01d2 D0E0      		ldi r29,hi8(__stack - 0)
 479 01d4 DEBF      		out __SP_H__,r29
 480 01d6 CDBF      		out __SP_L__,r28
 481               	/* prologue end (size=4) */
  96:D:/liwei/two/m.c **** 	Initi_Device();
 483               	.LM47:
 484 01d8 0E94 0000 		call Initi_Device
  97:D:/liwei/two/m.c **** 	DDRC=0x0F;
 486               	.LM48:
 487 01dc 8FE0      		ldi r24,lo8(15)
 488 01de 84BB      		out 52-0x20,r24
  98:D:/liwei/two/m.c **** 	PORTC=0xFF;
 490               	.LM49:
 491 01e0 9FEF      		ldi r25,lo8(-1)
 492 01e2 95BB      		out 53-0x20,r25
  99:D:/liwei/two/m.c **** 	TCNT1L=0xB2;
 494               	.LM50:
 495 01e4 82EB      		ldi r24,lo8(-78)
 496 01e6 8CBD      		out 76-0x20,r24
 100:D:/liwei/two/m.c **** 	TCNT1H=0xFF;
 498               	.LM51:
 499 01e8 9DBD      		out 77-0x20,r25
 101:D:/liwei/two/m.c **** 	TCCR1A=0;
 501               	.LM52:
 502 01ea 1FBC      		out 79-0x20,__zero_reg__
 102:D:/liwei/two/m.c **** 	TCCR1B=5;
 504               	.LM53:
 505 01ec 85E0      		ldi r24,lo8(5)
 506 01ee 8EBD      		out 78-0x20,r24
 103:D:/liwei/two/m.c **** 	TIMSK=(1<<TOIE1);
 508               	.LM54:
 509 01f0 84E0      		ldi r24,lo8(4)
 510 01f2 89BF      		out 89-0x20,r24
 104:D:/liwei/two/m.c **** 	LED_ADD_PORT=0xDF;
 512               	.LM55:
 513 01f4 8FED      		ldi r24,lo8(-33)
 514 01f6 82BB      		out 50-0x20,r24
 105:D:/liwei/two/m.c **** 	LED_DATA_PORT=0x3F;
 516               	.LM56:
 517 01f8 8FE3      		ldi r24,lo8(63)
 518 01fa 88BB      		out 56-0x20,r24
 106:D:/liwei/two/m.c **** 	sei();
 520               	.LM57:
 521               	/* #APP */
 522 01fc 7894      		sei
 523               	/* #NOAPP */
 524               	.L44:
 107:D:/liwei/two/m.c **** 	for(;;)
 526               	.LM58:
 527 01fe FFCF      		rjmp .L44
 528               	/* epilogue: frame size=0 */
 529               	/* epilogue: noreturn */
 530               	/* epilogue end (size=0) */
 531               	/* function main size 25 (21) */
 534               		.text
 536               	Letext:
 537               	/* File "D:/liwei/two/m.c": code  257 = 0x0101 ( 217), prologues  21, epilogues  19 */
DEFINED SYMBOLS
                            *ABS*:00000000 m.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/ccyKaaaa.s:55     .data:00000000 ledcode
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:74     .data:00000010 scancode.1
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:78     .data:00000011 tempnum.2
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:82     .data:00000012 lastnum.3
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:86     .data:00000013 currentnum.4
                             .bss:00000000 times.5
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:93     .text:00000000 keyboard
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:373    .text:0000015e Initi_Device
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:88     .bss:00000001 code_num.0
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:401    .text:0000016c __vector_8
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:473    .text:000001d0 main
C:\DOCUME~1\lab\LOCALS~1\Temp/ccyKaaaa.s:536    .text:00000200 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -