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

📄 lcd_0108.lst

📁 ATmega64单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
 158:LCD\LCD_0108.c **** 	else WriteCommandToRightArea(temp);//定位左区列	   
 329               	ilogue: frame size=0 */
 330               	/* epilogue: noreturn */
 331 009a 892F      	/* epilogue end (size=0) */
 332 009c 0E94 0000 	/* function LocateLcdColumn size 11 (11) */
 337               	.Lscope8:
 340               	.global	LocateLcdPage
 342               	LocateLcdPage:
 344               	.LM35:
 345               	.LFBB9:
 346               	/* prologue: frame size=0 */
 347               		push r17
 159:LCD\LCD_0108.c **** }
 160:LCD\LCD_0108.c **** 
 161:LCD\LCD_0108.c **** //定位页
 162:LCD\LCD_0108.c **** void LocateLcdPage(uchar Page)
 163:LCD\LCD_0108.c **** {
 348               	ze=1) */
 350               	.LM36:
 351               		mov r17,r24
 352 00a2 1F93      		subi r17,lo8(-(-72))
 164:LCD\LCD_0108.c **** 	uchar temp;
 165:LCD\LCD_0108.c **** 	temp=DefaultPage;					//10111000B;
 166:LCD\LCD_0108.c **** 	temp+=Page;
 354               	
 355               		mov r24,r17
 356 00a4 182F      		call WriteCommandToRightArea
 167:LCD\LCD_0108.c **** 	WriteCommandToRightArea(temp);
 358               	38:
 359               		mov r24,r17
 360 00a8 812F      		call WriteCommandToLeftArea
 361 00aa 0E94 0000 	/* epilogue: frame size=0 */
 168:LCD\LCD_0108.c **** 	WriteCommandToLeftArea(temp);
 362               	 r17
 363               		ret
 364 00ae 812F      	/* epilogue end (size=2) */
 365 00b0 0E94 0000 	/* function LocateLcdPage size 11 (8) */
 370               	.Lscope9:
 374               	.global	LocateLcdPageColumn
 376               	LocateLcdPageColumn:
 378               	.LM39:
 379               	.LFBB10:
 380               	/* prologue: frame size=0 */
 381               		push r17
 169:LCD\LCD_0108.c **** }
 170:LCD\LCD_0108.c **** 
 171:LCD\LCD_0108.c **** //定位页列
 172:LCD\LCD_0108.c **** void LocateLcdPageColumn(uchar Page,uchar Column)
 173:LCD\LCD_0108.c **** {
 382               	e=1) */
 383               		mov r17,r22
 385               	.LM40:
 386 00b8 1F93      		call LocateLcdPage
 388 00ba 162F      	.LM41:
 174:LCD\LCD_0108.c **** 	LocateLcdPage(Page);
 389               	4,r17
 390               		call LocateLcdColumn
 391 00bc 0E94 0000 	/* epilogue: frame size=0 */
 175:LCD\LCD_0108.c **** 	LocateLcdColumn(Column);
 392               	p r17
 393               		ret
 394 00c0 812F      	/* epilogue end (size=2) */
 395 00c2 0E94 0000 	/* function LocateLcdPageColumn size 9 (6) */
 397 00c6 1F91      	.Lscope10:
 399               	.global	UpdateDis
 401               	UpdateDis:
 403               	.LM42:
 404               	.LFBB11:
 405               	/* prologue: frame size=0 */
 406               		push r10
 407               		push r11
 408               		push r12
 409               		push r13
 410               		push r14
 411 00ca AF92      		push r15
 412 00cc BF92      		push r16
 413 00ce CF92      		push r17
 414 00d0 DF92      		push r28
 415 00d2 EF92      		push r29
 416 00d4 FF92      	/* prologue end (size=10) */
 417 00d6 0F93      		ldi r24,lo8(Dis_Buf+64)
 418 00d8 1F93      		mov r14,r24
 419 00da CF93      		ldi r24,hi8(Dis_Buf+64)
 420 00dc DF93      		mov r15,r24
 421               		clr r11
 422 00de 80E0      		ldi r16,lo8(0)
 423 00e0 E82E      		ldi r17,hi8(0)
 424 00e2 80E0      	.L35:
 426 00e6 BB24      	.LM43:
 427 00e8 00E0      		movw r12,r14
 428 00ea 10E0      		movw r28,r14
 429               		subi r28,lo8(-(-64))
 430               		sbci r29,hi8(-(-64))
 431               		mov r10,r16
 433 00ee E701      	.LM44:
 434 00f0 C054      		mov r22,r11
 435 00f2 D040      		mov r24,r16
 436 00f4 A02E      		call LocateLcdPageColumn
 437               		clr r11
 438               	.L36:
 440 00f8 802F      	.LM45:
 441 00fa 0E94 0000 		ld r24,Y+
 442 00fe BB24      		call WriteDataToRightArea
 443               		inc r11
 444               		ldi r24,lo8(64)
 445               		cp r11,r24
 446 0100 8991      		brne .L36
 448 0106 B394      	.LM46:
 449 0108 80E4      		ldi r22,lo8(64)
 450 010a B816      		mov r24,r10
 451 010c 01F4      		call LocateLcdPageColumn
 452               	.L38:
 454 010e 60E4      	.LM47:
 455 0110 8A2D      		movw r30,r12
 456 0112 0E94 0000 		ld r24,Z+
 457               		movw r12,r30
 458               		call WriteDataToLeftArea
 459               		inc r11
 460 0116 F601      		ldi r31,lo8(-128)
 461 0118 8191      		cp r11,r31
 462 011a 6F01      		brne .L38
 463 011c 0E94 0000 		subi r16,lo8(-(1))
 464 0120 B394      		sbci r17,hi8(-(1))
 465 0122 F0E8      		ldi r24,lo8(128)
 466 0124 BF16      		ldi r25,hi8(128)
 467 0126 01F4      		add r14,r24
 468 0128 0F5F      		adc r15,r25
 470 012c 80E8      	.LM48:
 471 012e 90E0      		cpi r16,8
 472 0130 E80E      		cpc r17,__zero_reg__
 473 0132 F91E      		brne .L35
 475               	.LM49:
 476 0134 0830      		ldi r22,lo8(0)
 477 0136 1105      		ldi r24,lo8(0)
 478 0138 01F4      		call LocateLcdPageColumn
 480               	.LM50:
 481 013a 60E0      		ldi r24,lo8(1)
 482 013c 80E0      		call ShowLcd
 483 013e 0E94 0000 	/* epilogue: frame size=0 */
 484               		pop r29
 485               		pop r28
 486 0142 81E0      		pop r17
 487 0144 0E94 0000 		pop r16
 488               		pop r15
 489 0148 DF91      		pop r14
 490 014a CF91      		pop r13
 491 014c 1F91      		pop r12
 492 014e 0F91      		pop r11
 493 0150 FF90      		pop r10
 494 0152 EF90      		ret
 495 0154 DF90      	/* epilogue end (size=11) */
 496 0156 CF90      	/* function UpdateDis size 74 (53) */
 503               	.Lscope11:
 506               	.global	LCDDelay
 508               	LCDDelay:
 510               	.LM51:
 511               	.LFBB12:
 512               	/* prologue: frame size=0 */
 513               	/* prologue end (size=0) */
 176:LCD\LCD_0108.c **** }
 177:LCD\LCD_0108.c **** 
 178:LCD\LCD_0108.c **** 
 179:LCD\LCD_0108.c **** 
 180:LCD\LCD_0108.c **** ////////////////以上为底层函数///////////////////////////////////////////////////////////////
 181:LCD\LCD_0108.c **** 
 182:LCD\LCD_0108.c **** /*************************************************/
 183:LCD\LCD_0108.c **** /*    填充一个像素数据  x,y为坐标 val为0或1      */
 184:LCD\LCD_0108.c **** /*************************************************/
 185:LCD\LCD_0108.c **** /*void OnePixel(uchar x,uchar y,uchar val)
 186:LCD\LCD_0108.c **** {
 187:LCD\LCD_0108.c **** 	uchar *p = &Dis_Buf[ ((y>>3)<<7) + x ];//找到对应字节
 188:LCD\LCD_0108.c **** 	if(val)*p |= (1<<(y%8));		//修改对应位
 189:LCD\LCD_0108.c **** 	else *p &= ~(1<<(y%8));
 190:LCD\LCD_0108.c **** }
 191:LCD\LCD_0108.c **** 
 192:LCD\LCD_0108.c **** unsigned char ReadPixel(uchar x,uchar y)
 193:LCD\LCD_0108.c **** {
 194:LCD\LCD_0108.c **** 	uchar *p = &Dis_Buf[ ((y>>3)<<7) + x ];//找到对应字节
 195:LCD\LCD_0108.c **** 	if(*p & (1<<(y%8)))return 1;
 196:LCD\LCD_0108.c **** 	else return 0;
 197:LCD\LCD_0108.c **** }*/
 198:LCD\LCD_0108.c **** 
 199:LCD\LCD_0108.c **** void LCDDelay(uint n)
 200:LCD\LCD_0108.c **** {
 514               	pi r24,lo8(-1)
 515               		cpc r25,r18
 516               		brne .L50
 517               	/* epilogue: frame size=0 */
 518               		ret
 519 015e 00C0      	/* epilogue end (size=1) */
 520               	/* function LCDDelay size 9 (8) */
 201:LCD\LCD_0108.c **** 	while(n--)asm("nop;");
 521               	8(-1)
 522               		cpi r24,lo8(-1)
 523               		cpc r25,r18
 524 0160 0000      		brne .L50
 525               	/* epilogue: frame size=0 */
 526               		ret
 527 0162 0197      	/* epilogue end (size=1) */
 528 0164 2FEF      	/* function LCDDelay size 9 (8) */
 530 0168 9207      	.Lscope12:
 532               	.global	InitialLcd
 534               	InitialLcd:
 536               	.LM53:
 537               	.LFBB13:
 538               	/* prologue: frame size=0 */
 539               	/* prologue end (size=0) */
 541               	.LM54:
 542               		in r24,85-0x20
 543               		ori r24,lo8(-128)
 544               		out 85-0x20,r24
 546               	.LM55:
 547               		lds r24,100
 548               		ori r24,lo8(16)
 549 016e 85B7      		sts 100,r24
 551 0172 85BF      	.LM56:
 552               		sbi 49-0x20,6
 554 0174 8091 6400 	.LM57:
 555 0178 8061      		sbi 49-0x20,5
 557               	.LM58:
 558               		cbi 50-0x20,6
 560               	.LM59:
 561               		cbi 50-0x20,5
 563               	.LM60:
 564               		lds r24,101
 565 0182 9698      		andi r24,lo8(-17)
 566               		sts 101,r24
 567               		ldi r24,lo8(255)
 568 0184 9598      		ldi r25,hi8(255)
 569               		rjmp .L54
 570               	.L55:
 571 0186 8091 6500 	.LBB8:
 572 018a 8F7E      	.LBB9:
 574 0190 8FEF      	.LM61:
 575 0192 90E0      	/* #APP */
 576 0194 00C0      		nop;
 577               	/* #NOAPP */
 578               	.L54:
 579               		sbiw r24,1
 580               		ldi r18,hi8(-1)
 581               		cpi r24,lo8(-1)
 582               		cpc r25,r18
 583 0196 0000      		brne .L55
 584               	.LBE9:
 585               	.LBE8:
 587 019a 2FEF      	.LM62:
 588 019c 8F3F      		lds r24,101
 589 019e 9207      		ori r24,lo8(16)
 590 01a0 01F4      		sts 101,r24
 591               		ldi r24,lo8(255)
 592               		ldi r25,hi8(255)
 593               		rjmp .L57
 594               	.L58:
 595 01a2 8091 6500 	.LBB10:
 596 01a6 8061      	.LBB11:
 598 01ac 8FEF      	.LM63:
 599 01ae 90E0      	/* #APP */
 600 01b0 00C0      		nop;
 601               	/* #NOAPP */
 602               	.L57:
 603               		sbiw r24,1
 604               		ldi r18,hi8(-1)
 605               		cpi r24,lo8(-1)
 606               		cpc r25,r18
 607 01b2 0000      		brne .L58
 608               	.LBE11:
 609               	.LBE10:
 611 01b6 2FEF      	.LM64:
 612 01b8 8F3F      		ldi r24,lo8(0)
 613 01ba 9207      		call ShowLcd
 614 01bc 01F4      		ldi r30,lo8(Dis_Buf)
 615               		ldi r31,hi8(Dis_Buf)
 616               	.L60:
 617               	.LBB12:
 618               	.LBB13:
 620 01c0 0E94 0000 	.LM65:
 621 01c4 E0E0      		st Z+,__zero_reg__
 622 01c6 F0E0      		ldi r24,hi8(Dis_Buf+1024)
 623               		cpi r30,lo8(Dis_Buf+1024)
 624               		cpc r31,r24
 625               		brne .L60
 626               	.LBE13:
 627               	.LBE12:
 629 01ca 80E0      	.LM66:
 630 01cc E030      		call UpdateDis
 632 01d0 01F4      	.LM67:
 633               		ldi r22,lo8(0)
 634               		ldi r24,lo8(0)
 635               		call LocateLcdPageColumn
 637 01d2 0E94 0000 	.LM68:
 638               		ldi r24,lo8(1)
 639               		call ShowLcd
 640 01d6 60E0      	/* epilogue: frame size=0 */
 641 01d8 80E0      		ret
 642 01da 0E94 0000 	/* epilogue end (size=1) */
 643               	/* function InitialLcd size 62 (61) */
 651               	.Lscope13:
 652               	.global	AREA
 653               		.data
 656               	AREA:
 657               		.byte	1
 658               	.global	error_flag
 659               	.global	error_flag
 660               		.section .bss
 663               	error_flag:
 664 0000 01        		.skip 1,0
 665               		.comm Dis_Buf,1024,1
 669               		.text
 671 0000 00        	.Letext0:
 672               	/* File "LCD\\LCD_0108.c": code  248 = 0x00f8 ( 203), prologues  17, epilogues  28 */
 673               	...
DEFINED SYMBOLS
                            *ABS*:00000000 LCD_0108.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:5      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:6      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:90     .text:00000000 BusyOrNot
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:670    .bss:00000000 error_flag
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:127    .text:00000016 WriteCommandToRightArea
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:158    .text:0000002a WriteDataToRightArea
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:189    .text:0000003e WriteCommandToLeftArea
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:220    .text:00000052 WriteDataToLeftArea
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:251    .text:00000066 ClearDisBuf
                            *COM*:00000400 Dis_Buf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:277    .text:00000076 ShowLcd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:310    .text:0000008c LocateLcdColumn
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:347    .text:000000a2 LocateLcdPage
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:381    .text:000000b8 LocateLcdPageColumn
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:406    .text:000000ca UpdateDis
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:513    .text:0000015e LCDDelay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:541    .text:0000016e InitialLcd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cccJBBgm.s:663    .data:00000000 AREA

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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