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

📄 lcd_ascii.lst

📁 ATmega64单片机
💻 LST
📖 第 1 页 / 共 5 页
字号:
 409 016a 3196      	.LBB12:
 411 016c 2417      	.LM40:
 412 016e 3507      		ldi r24,lo8(12)
 413 0170 00F0      		mul r20,r24
 414 0172 00C0      		movw r22,r0
 415               		clr r1
 296:LCD\LCD_ASCII.c ****                     }
 297:LCD\LCD_ASCII.c ****             }
 298:LCD\LCD_ASCII.c ****         else if(j==3)
 416               	ubi r30,lo8(-(CTAB_12-384))
 417               		sbci r31,hi8(-(CTAB_12-384))
 418 0174 6330      		movw r26,r18
 419 0176 7105      		subi r26,lo8(-(disBuf))
 420 0178 01F0      		sbci r27,hi8(-(disBuf))
 421 017a 00C0      	.LBE12:
 299:LCD\LCD_ASCII.c ****             {
 300:LCD\LCD_ASCII.c ****                  for(i=x+336;i<x+336+6;i++)
 422               	n	68,0,300,.LM41-.LFBB1
 423               	.LM41:
 424 017c 9E01      		movw r20,r28
 425 017e 205B      		subi r20,lo8(-(342))
 426 0180 3E4F      		sbci r21,hi8(-(342))
 427               		rjmp .L25
 301:LCD\LCD_ASCII.c ****                     {
 302:LCD\LCD_ASCII.c ****                         temp = pgm_read_byte(&CTAB_12[ch-0x20][i-x-336]);
 428               	.LBB13:
 430 0182 8CE0      	.LM42:
 431 0184 489F      	/* #APP */
 432 0186 B001      		lpm r25, Z
 433 0188 1124      		
 434 018a FB01      	/* #NOAPP */
 435 018c E050      	.LBE13:
 437 0190 D901      	.LM43:
 438 0192 A050      		ld r24,X
 439 0194 B040      		andi r24,lo8(15)
 441               	.LM44:
 442               		swap r25
 443 0196 AE01      		andi r25,lo8(-16)
 444 0198 4A5A      		or r25,r24
 445 019a 5E4F      		st X+,r25
 447               	.LM45:
 448               		subi r18,lo8(-(1))
 449               		sbci r19,hi8(-(1))
 450               		adiw r30,1
 451               	.L25:
 452 019e 9491      		cp r18,r20
 453               		cpc r19,r21
 454               		brlo .L26
 303:LCD\LCD_ASCII.c ****                         disBuf[i] &= 0x0f;
 456               	20,lo8(-(420))
 457               		sbci r21,hi8(-(420))
 458 01a0 8C91      		movw r18,r22
 459 01a2 8F70      		subi r18,lo8(-(CTAB_12-384))
 304:LCD\LCD_ASCII.c ****                         disBuf[i] |= ((temp<<4) & 0xf0);
 460               	i r19,hi8(-(CTAB_12-384))
 461               		movw r16,r22
 462 01a4 9295      		subi r16,lo8(-(CTAB_12-378))
 463 01a6 907F      		sbci r17,hi8(-(CTAB_12-378))
 464 01a8 982B      		movw r26,r20
 465 01aa 9D93      		subi r26,lo8(-(disBuf))
 466               		sbci r27,hi8(-(disBuf))
 467               		movw r22,r28
 468 01ac 2F5F      		subi r22,lo8(-(426))
 469 01ae 3F4F      		sbci r23,hi8(-(426))
 470 01b0 3196      		rjmp .L28
 471               	.L29:
 472 01b2 2417      	.LBB14:
 474 01b6 00F0      	.LM47:
 305:LCD\LCD_ASCII.c ****                     }
 306:LCD\LCD_ASCII.c ****                 for(i=x+420;i<x+420+6;i++)
 475               	* #APP */
 476               		lpm r25, Z
 477 01b8 AE01      		
 478 01ba 4C55      	/* #NOAPP */
 479 01bc 5E4F      	.LBE14:
 480 01be 9B01      		swap r25
 481 01c0 2050      		andi r25,lo8(15)
 482 01c2 3040      	.LBB15:
 484 01c6 0050      	.LM48:
 485 01c8 1040      		movw r30,r16
 486 01ca DA01      	/* #APP */
 487 01cc A050      		lpm r24, Z
 488 01ce B040      		
 489 01d0 BE01      	/* #NOAPP */
 490 01d2 6655      	.LBE15:
 492 01d6 00C0      	.LM49:
 493               		swap r24
 494               		andi r24,lo8(-16)
 307:LCD\LCD_ASCII.c ****                     {
 308:LCD\LCD_ASCII.c ****                         temp = pgm_read_byte(&CTAB_12[ch-0x20][i-x-420])>>4;
 495               	r24
 497 01d8 F901      	.LM50:
 498               		subi r20,lo8(-(1))
 499 01da 9491      		sbci r21,hi8(-(1))
 500               		subi r18,lo8(-(1))
 501               		sbci r19,hi8(-(1))
 502               		subi r16,lo8(-(1))
 503 01dc 9295      		sbci r17,hi8(-(1))
 504 01de 9F70      	.L28:
 505               		cp r20,r22
 309:LCD\LCD_ASCII.c ****                         temp += pgm_read_byte(&CTAB_12[ch-0x20][i-x+6-420])<<4;
 506               	3
 507               		brlo .L29
 508 01e0 F801      	.L30:
 509               	/* epilogue: frame size=0 */
 510 01e2 8491      		pop r29
 511               		pop r28
 512               		pop r17
 513               		pop r16
 310:LCD\LCD_ASCII.c ****                         disBuf[i] = temp;
 514               	epilogue end (size=5) */
 515               	/* function Dis_Ascii_12_fast size 290 (281) */
 563               	.Lscope1:
 568               	.global	Dis_Ascii_16
 570               	Dis_Ascii_16:
 572               	.LM51:
 573               	.LFBB2:
 574               	/* prologue: frame size=0 */
 575               		push r4
 576               		push r5
 577               		push r6
 578               		push r7
 579               		push r9
 580               		push r10
 581               		push r11
 582               		push r12
 583               		push r13
 584               		push r14
 585               		push r15
 586               		push r16
 587               		push r17
 588               		push r28
 589               		push r29
 590               	/* prologue end (size=15) */
 591               		movw r4,r24
 592               		movw r10,r22
 593               	.LBB16:
 595               	.LM52:
 311:LCD\LCD_ASCII.c ****                     }
 312:LCD\LCD_ASCII.c ****             }
 313:LCD\LCD_ASCII.c ****         
 314:LCD\LCD_ASCII.c ****       /* for(i=0;i<6;i++)
 315:LCD\LCD_ASCII.c **** 	{
 316:LCD\LCD_ASCII.c **** 		temp = pgm_read_byte(&CTAB_12[ch-0x20][i]);
 317:LCD\LCD_ASCII.c **** 
 318:LCD\LCD_ASCII.c ****                for(j=0;j<8;j++)
 319:LCD\LCD_ASCII.c **** 		{
 320:LCD\LCD_ASCII.c **** 			if(temp&(1<<j))OnePixel(x+i,y+j,1);
 321:LCD\LCD_ASCII.c **** 			else OnePixel(x+i,y+j,0);
 322:LCD\LCD_ASCII.c **** 		}
 323:LCD\LCD_ASCII.c **** 	}
 324:LCD\LCD_ASCII.c **** 	for(i=0;i<6;i++)
 325:LCD\LCD_ASCII.c **** 	{
 326:LCD\LCD_ASCII.c **** 		temp = pgm_read_byte(&CTAB_12[ch-0x20][i+6]);
 327:LCD\LCD_ASCII.c ****                
 328:LCD\LCD_ASCII.c **** 		for(j=0;j<4;j++)
 329:LCD\LCD_ASCII.c **** 		{
 330:LCD\LCD_ASCII.c **** 			if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
 331:LCD\LCD_ASCII.c **** 			else OnePixel(x+i,y+j+8,0);
 332:LCD\LCD_ASCII.c **** 		}
 333:LCD\LCD_ASCII.c **** 	}*/
 334:LCD\LCD_ASCII.c **** }
 335:LCD\LCD_ASCII.c **** 
 336:LCD\LCD_ASCII.c **** 
 337:LCD\LCD_ASCII.c **** void Dis_Ascii_16(unsigned int x,unsigned int y,unsigned char ch)
 338:LCD\LCD_ASCII.c **** {
 596               	 r25,lo8(CTAB_16-512)
 597               		mov r6,r25
 598               		ldi r25,hi8(CTAB_16-512)
 599               		mov r7,r25
 600 0208 4F92      		add r6,r28
 601 020a 5F92      		adc r7,r29
 602 020c 6F92      		clr r14
 603 020e 7F92      		clr r15
 604 0210 9F92      	.L32:
 606 0214 BF92      	.LM53:
 607 0216 CF92      		movw r30,r14
 608 0218 DF92      		add r30,r6
 609 021a EF92      		adc r31,r7
 610 021c FF92      	/* #APP */
 611 021e 0F93      		lpm r30, Z
 612 0220 1F93      		
 613 0222 CF93      	/* #NOAPP */
 614 0224 DF93      		ldi r16,lo8(0)
 615               		ldi r17,hi8(0)
 616 0226 2C01      	.LBE16:
 618               	.LM54:
 339:LCD\LCD_ASCII.c **** 	unsigned char i,j;
 340:LCD\LCD_ASCII.c **** 	unsigned char temp;
 341:LCD\LCD_ASCII.c **** 	for(i=0;i<8;i++)
 342:LCD\LCD_ASCII.c **** 	{
 343:LCD\LCD_ASCII.c **** 		temp = pgm_read_byte(&CTAB_16[ch-0x20][i]);
 619               	mov r9,r14
 620               		add r9,r4
 621 022a C42F      	.L33:
 622 022c D0E0      		movw r24,r12
 623 022e 24E0      		mov r0,r16
 624 0230 CC0F      		rjmp 2f
 625 0232 DD1F      	1:	asr r25
 626 0234 2A95      		ror r24
 627 0236 01F4      	2:	dec r0
 628 0238 90E0      		brpl 1b
 629 023a 692E      		mov r22,r16
 630 023c 90E0      		add r22,r10
 631 023e 792E      		sbrs r24,0
 632 0240 6C0E      		rjmp .L34
 633 0242 7D1E      		ldi r20,lo8(1)
 634 0244 EE24      		rjmp .L55
 635 0246 FF24      	.L34:
 637               	.LM55:
 638               		ldi r20,lo8(0)
 639 0248 F701      	.L55:
 640 024a E60D      		mov r24,r9
 641 024c F71D      		call OnePixel
 642               		subi r16,lo8(-(1))
 643 024e E491      		sbci r17,hi8(-(1))
 645               	.LM56:
 646 0250 00E0      		cpi r16,8
 647 0252 10E0      		cpc r17,__zero_reg__
 648               		brne .L33
 344:LCD\LCD_ASCII.c **** 		for(j=0;j<8;j++)
 345:LCD\LCD_ASCII.c **** 		{
 346:LCD\LCD_ASCII.c **** 			if(temp&(1<<j))OnePixel(x+i,y+j,1);
 649               	c r15,__zero_reg__
 651 0254 CE2E      	.LM57:
 652 0256 DD24      		ldi r24,lo8(8)
 653 0258 9E2C      		cp r14,r24
 654 025a 940C      		cpc r15,__zero_reg__
 655               		brne .L32
 657 025e 002E      	.LM58:
 658 0260 00C0      		subi r28,lo8(-(CTAB_16-504))
 659 0262 9595      		sbci r29,hi8(-(CTAB_16-504))
 660 0264 8795      		clr r12
 661 0266 0A94      		clr r13
 662 0268 02F4      	.LBB17:
 664 026c 6A0D      	.LM59:
 665 026e 80FF      		ldi r24,lo8(8)
 666 0270 00C0      		mov r9,r24
 667 0272 41E0      		add r9,r10
 668 0274 00C0      	.L39:
 669               		movw r30,r28
 347:LCD\LCD_ASCII.c **** 			else OnePixel(x+i,y+j,0);
 670               	Z
 671               		
 672 0276 40E0      	/* #NOAPP */
 673               		mov r15,r9
 674 0278 892D      		ldi r16,lo8(0)
 675 027a 0E94 0000 		ldi r17,hi8(0)
 676 027e 0F5F      	.LBE17:
 678               	.LM60:
 679               		mov r10,r24
 680 0282 0830      		clr r11
 681 0284 1105      		mov r14,r12
 682 0286 01F4      		add r14,r4
 683 0288 0894      	.L40:
 684 028a E11C      		movw r24,r10
 685 028c F11C      		mov r0,r16
 686               		rjmp 2f
 687               	1:	asr r25
 688 028e 88E0      		ror r24
 689 0290 E816      	2:	dec r0
 690 0292 F104      		brpl 1b
 691 0294 01F4      		sbrs r24,0
 692               		rjmp .L41
 693               		ldi r20,lo8(1)
 694 0296 C050      		rjmp .L56
 695 0298 D040      	.L41:
 697 029c DD24      	.LM61:
 698               		ldi r20,lo8(0)
 348:LCD\LCD_ASCII.c **** 		}
 349:LCD\LCD_ASCII.c **** 	}
 350:LCD\LCD_ASCII.c **** 	for(i=0;i<8;i++)
 351:LCD\LCD_ASCII.c **** 	{
 352:LCD\LCD_ASCII.c **** 		temp = pgm_read_byte(&CTAB_16[ch-0x20][i+8]);
 699               	14
 700               		call OnePixel
 701 029e 88E0      		subi r16,lo8(-(1))
 702 02a0 982E      		sbci r17,hi8(-(1))
 703 02a2 9A0C      		inc r15
 705 02a4 FE01      	.LM62:
 706               		cpi r16,8
 707 02a6 8491      		cpc r17,__zero_reg__
 708               		brne .L40
 709               		sec
 710 02a8 F92C      		adc r12,__zero_reg__
 711 02aa 00E0      		adc r13,__zero_reg__
 712 02ac 10E0      		adiw r28,1
 353:LCD\LCD_ASCII.c **** 		for(j=0;j<8;j++)
 354:LCD\LCD_ASCII.c **** 		{
 355:LCD\LCD_ASCII.c **** 			if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
 714               	,lo8(8)
 715               		cp r12,r31

⌨️ 快捷键说明

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