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

📄 3310lcd_main.lst

📁 用AVR对诺基亚3310手机黑白液晶的驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 403               	.L33:
 404               	.LM37:
 405 01e0 F701      		movw r30,r14
 406 01e2 8181      		ldd r24,Z+1
 407               	.LVL34:
 408 01e4 8193      		st Z+,r24
 409 01e6 7F01      		movw r14,r30
 410               	.LM38:
 411 01e8 FD01      		movw r30,r26
 412 01ea 8181      		ldd r24,Z+1
 413 01ec 8D93      		st X+,r24
 414               	.LM39:
 415 01ee C555      		subi r28,lo8(-171)
 416 01f0 DF4F      		sbci r29,hi8(-171)
 417 01f2 8881      		ld r24,Y
 418 01f4 9981      		ldd r25,Y+1
 419 01f6 CB5A      		subi r28,lo8(171)
 420 01f8 D040      		sbci r29,hi8(171)
 421 01fa E816      		cp r14,r24
 422 01fc F906      		cpc r15,r25
 423 01fe 01F4      		brne .L33
 424               	.LM40:
 425 0200 622D      		mov r22,r2
 426 0202 C755      		subi r28,lo8(-169)
 427 0204 DF4F      		sbci r29,hi8(-169)
 428 0206 8881      		ld r24,Y
 429 0208 C95A      		subi r28,lo8(169)
 430 020a D040      		sbci r29,hi8(169)
 431 020c 0E94 0000 		call LCD_set_XY
 432               	.LVL35:
 433 0210 8E01      		movw r16,r28
 434 0212 0F5F      		subi r16,lo8(-(1))
 435 0214 1F4F      		sbci r17,hi8(-(1))
 436               	.L35:
 437               	.LM41:
 438 0216 61E0      		ldi r22,lo8(1)
 439 0218 F801      		movw r30,r16
 440 021a 8191      		ld r24,Z+
 441 021c 8F01      		movw r16,r30
 442 021e 0E94 0000 		call LCD_write_byte
 443               	.LM42:
 444 0222 0E15      		cp r16,r14
 445 0224 1F05      		cpc r17,r15
 446 0226 01F4      		brne .L35
 447               	.LM43:
 448 0228 C655      		subi r28,lo8(-170)
 449 022a DF4F      		sbci r29,hi8(-170)
 450 022c 6881      		ld r22,Y
 451 022e CA5A      		subi r28,lo8(170)
 452 0230 D040      		sbci r29,hi8(170)
 453 0232 C755      		subi r28,lo8(-169)
 454 0234 DF4F      		sbci r29,hi8(-169)
 455 0236 8881      		ld r24,Y
 456 0238 C95A      		subi r28,lo8(169)
 457 023a D040      		sbci r29,hi8(169)
 458 023c 0E94 0000 		call LCD_set_XY
 459 0240 8E01      		movw r16,r28
 460 0242 0B5A      		subi r16,lo8(-(85))
 461 0244 1F4F      		sbci r17,hi8(-(85))
 462               	.L37:
 463               	.LM44:
 464 0246 61E0      		ldi r22,lo8(1)
 465 0248 F801      		movw r30,r16
 466 024a 8191      		ld r24,Z+
 467 024c 8F01      		movw r16,r30
 468 024e 0E94 0000 		call LCD_write_byte
 469               	.LM45:
 470 0252 C355      		subi r28,lo8(-173)
 471 0254 DF4F      		sbci r29,hi8(-173)
 472 0256 8881      		ld r24,Y
 473 0258 9981      		ldd r25,Y+1
 474 025a CD5A      		subi r28,lo8(173)
 475 025c D040      		sbci r29,hi8(173)
 476 025e 0817      		cp r16,r24
 477 0260 1907      		cpc r17,r25
 478 0262 01F4      		brne .L37
 479               	.LM46:
 480 0264 C301      		movw r24,r6
 481 0266 B201      		movw r22,r4
 482 0268 0E94 0000 		call __floatunsisf
 483 026c 5B01      		movw r10,r22
 484 026e 6C01      		movw r12,r24
 485               	.LBB56:
 486               	.LBB57:
 487               	.LM47:
 488 0270 20E0      		ldi r18,lo8(0x44fa0000)
 489 0272 30E0      		ldi r19,hi8(0x44fa0000)
 490 0274 4AEF      		ldi r20,hlo8(0x44fa0000)
 491 0276 54E4      		ldi r21,hhi8(0x44fa0000)
 492 0278 0E94 0000 		call __mulsf3
 493 027c 7B01      		movw r14,r22
 494 027e 8C01      		movw r16,r24
 495               	.LVL36:
 496               	.LM48:
 497 0280 20E0      		ldi r18,lo8(0x3f800000)
 498 0282 30E0      		ldi r19,hi8(0x3f800000)
 499 0284 40E8      		ldi r20,hlo8(0x3f800000)
 500 0286 5FE3      		ldi r21,hhi8(0x3f800000)
 501 0288 0E94 0000 		call __ltsf2
 502 028c 8823      		tst r24
 503 028e 04F4      		brge .L39
 504 0290 81E0      		ldi r24,lo8(1)
 505 0292 90E0      		ldi r25,hi8(1)
 506               	.LVL37:
 507 0294 00C0      		rjmp .L42
 508               	.LVL38:
 509               	.L39:
 510               	.LM49:
 511 0296 20E0      		ldi r18,lo8(0x477fff00)
 512 0298 3FEF      		ldi r19,hi8(0x477fff00)
 513 029a 4FE7      		ldi r20,hlo8(0x477fff00)
 514 029c 57E4      		ldi r21,hhi8(0x477fff00)
 515 029e C801      		movw r24,r16
 516 02a0 B701      		movw r22,r14
 517 02a2 0E94 0000 		call __gtsf2
 518 02a6 1816      		cp __zero_reg__,r24
 519 02a8 04F4      		brge .L43
 520               	.LM50:
 521 02aa 20E0      		ldi r18,lo8(0x41200000)
 522 02ac 30E0      		ldi r19,hi8(0x41200000)
 523 02ae 40E2      		ldi r20,hlo8(0x41200000)
 524 02b0 51E4      		ldi r21,hhi8(0x41200000)
 525 02b2 C601      		movw r24,r12
 526 02b4 B501      		movw r22,r10
 527 02b6 0E94 0000 		call __mulsf3
 528 02ba 0E94 0000 		call __fixunssfsi
 529 02be 00C0      		rjmp .L46
 530               	.LVL39:
 531               	.L47:
 532               	.LBB58:
 533               	.LBB59:
 534               	.LM51:
 535 02c0 88EC      		ldi r24,lo8(200)
 536 02c2 90E0      		ldi r25,hi8(200)
 537               	/* #APP */
 538 02c4 0197      		1: sbiw r24,1
 539 02c6 01F4      		brne 1b
 540               	/* #NOAPP */
 541               	.LBE59:
 542               	.LBE58:
 543               	.LM52:
 544 02c8 6150      		subi r22,lo8(-(-1))
 545 02ca 7040      		sbci r23,hi8(-(-1))
 546               	.L46:
 547               	.LM53:
 548 02cc 6115      		cp r22,__zero_reg__
 549 02ce 7105      		cpc r23,__zero_reg__
 550 02d0 01F4      		brne .L47
 551 02d2 00C0      		rjmp .L48
 552               	.LVL40:
 553               	.L43:
 554               	.LM54:
 555 02d4 C801      		movw r24,r16
 556 02d6 B701      		movw r22,r14
 557 02d8 0E94 0000 		call __fixunssfsi
 558 02dc CB01      		movw r24,r22
 559               	.LVL41:
 560               	.L42:
 561               	.LBB60:
 562               	.LBB61:
 563               	.LM55:
 564               	/* #APP */
 565 02de 0197      		1: sbiw r24,1
 566 02e0 01F4      		brne 1b
 567               	.LVL42:
 568               	/* #NOAPP */
 569               	.L48:
 570 02e2 0894      		sec
 571 02e4 811C      		adc r8,__zero_reg__
 572 02e6 911C      		adc r9,__zero_reg__
 573               	.LBE61:
 574               	.LBE60:
 575               	.LBE57:
 576               	.LBE56:
 577               	.LM56:
 578 02e8 9CE9      		ldi r25,lo8(156)
 579 02ea 8916      		cp r8,r25
 580 02ec 9104      		cpc r9,__zero_reg__
 581 02ee 01F0      		breq .+2
 582 02f0 00C0      		rjmp .L30
 583               	/* epilogue: frame size=174 */
 584 02f2 C255      		subi r28,lo8(-174)
 585 02f4 DF4F      		sbci r29,hi8(-174)
 586 02f6 0FB6      		in __tmp_reg__,__SREG__
 587 02f8 F894      		cli
 588 02fa DEBF      		out __SP_H__,r29
 589 02fc 0FBE      		out __SREG__,__tmp_reg__
 590 02fe CDBF      		out __SP_L__,r28
 591 0300 DF91      		pop r29
 592 0302 CF91      		pop r28
 593 0304 1F91      		pop r17
 594 0306 0F91      		pop r16
 595 0308 FF90      		pop r15
 596 030a EF90      		pop r14
 597 030c DF90      		pop r13
 598 030e CF90      		pop r12
 599 0310 BF90      		pop r11
 600 0312 AF90      		pop r10
 601 0314 9F90      		pop r9
 602 0316 8F90      		pop r8
 603 0318 7F90      		pop r7
 604 031a 6F90      		pop r6
 605 031c 5F90      		pop r5
 606 031e 4F90      		pop r4
 607 0320 3F90      		pop r3
 608 0322 2F90      		pop r2
 609 0324 0895      		ret
 610               	/* epilogue end (size=26) */
 611               	/* function LCD_move_chinese_string size 296 (243) */
 612               	.LFE13:
 614               	.global	LCD_write_chinese_string
 616               	LCD_write_chinese_string:
 617               	.LFB12:
 618               	.LM57:
 619               	/* prologue: frame size=0 */
 620 0326 3F92      		push r3
 621 0328 4F92      		push r4
 622 032a 5F92      		push r5
 623 032c 6F92      		push r6
 624 032e 7F92      		push r7
 625 0330 8F92      		push r8
 626 0332 9F92      		push r9
 627 0334 AF92      		push r10
 628 0336 BF92      		push r11
 629 0338 CF92      		push r12
 630 033a DF92      		push r13
 631 033c EF92      		push r14
 632 033e FF92      		push r15
 633 0340 0F93      		push r16
 634 0342 1F93      		push r17
 635 0344 CF93      		push r28
 636 0346 DF93      		push r29
 637               	/* prologue end (size=17) */
 638               	.LVL43:
 639 0348 D82E      		mov r13,r24
 640 034a 962E      		mov r9,r22
 641 034c 542E      		mov r5,r20
 642 034e 322E      		mov r3,r18
 643               	.LM58:
 644 0350 0E94 0000 		call LCD_set_XY
 645               	.LVL44:
 646               	.LM59:
 647 0354 252D      		mov r18,r5
 648 0356 30E0      		ldi r19,lo8(0)
 649 0358 3901      		movw r6,r18
 650 035a 660C      		lsl r6
 651 035c 771C      		rol r7
 652 035e 88E1      		ldi r24,lo8(24)
 653 0360 089F      		mul r16,r24
 654 0362 8001      		movw r16,r0
 655 0364 1124      		clr r1
 656               	.LVL45:
 657 0366 0050      		subi r16,lo8(-(write_chinese_string))
 658 0368 1040      		sbci r17,hi8(-(write_chinese_string))
 659               	.LM60:
 660 036a 5901      		movw r10,r18
 661 036c AE0C      		add r10,r14
 662 036e B11C      		adc r11,__zero_reg__
 663 0370 4A2C      		mov r4,r10
 664 0372 FD2C      		mov r15,r13
 665 0374 CC24      		clr r12
 666               	.LVL46:
 667 0376 892C      		mov r8,r9
 668 0378 8394      		inc r8
 669 037a 00C0      		rjmp .L60
 670               	.LVL47:
 671               	.L61:
 672               	.LM61:
 673 037c E514      		cp r14,r5
 674 037e 01F4      		brne .L62
 675               	.LVL48:
 676               	.LM62:
 677 0380 CC20      		tst r12
 678 0382 01F4      		brne .L64
 679 0384 682D      		mov r22,r8
 680 0386 8D2D      		mov r24,r13
 681 0388 00C0      		rjmp .L71
 682               	.LVL49:
 683               	.L64:
 684               	.LM63:
 685 038a 682D      		mov r22,r8
 686 038c 8F2D      		mov r24,r15
 687               	.LVL50:
 688               	.L71:
 689 038e 0E94 0000 		call LCD_set_XY
 690               	.LVL51:
 691               	.L62:
 692               	.LBB62:
 693               	.LM64:
 694 0392 F801      		movw r30,r16
 695 0394 EE0D      		add r30,r14
 696 0396 F11D      		adc r31,__zero_reg__
 697               	/* #APP */
 698 0398 E491      		lpm r30, Z
 699               		
 700               	.LVL52:
 701               	/* #NOAPP */
 702               	.LBE62:
 703 039a 61E0      		ldi r22,lo8(1)
 704 039c 8E2F      		mov r24,r30
 705 039e 0E94 0000 		call LCD_write_byte
 706               	.LVL53:
 707 03a2 2196      		adiw r28,1
 708               	.LVL54:
 709               	.L66:
 710 03a4 EC2E      		mov r14,r28
 711               	.LVL55:
 712               	.LM65:
 713 03a6 8C2F      		mov r24,r28
 714 03a8 90E0      		ldi r25,lo8(0)
 715               	.LVL56:
 716 03aa 8615      		cp r24,r6
 717 03ac 9705      		cpc r25,r7
 718 03ae 04F0      		brlt .L61
 719               	.LVL57:
 720               	.LM66:
 721 03b0 C394      		inc r12
 722               	.LM67:
 723 03b2 CA9C      		mul r12,r10
 724 03b4 802D      		mov r24,r0
 725 03b6 1124      		clr r1
 726               	.LVL58:
 727 03b8 692D      		mov r22,r9
 728 03ba 8D0D      		add r24,r13
 729 03bc 0E94 0000 		call LCD_set_XY
 730               	.LVL59:
 731 03c0 085E      		subi r16,lo8(-(24))
 732 03c2 1F4F      		sbci r17,hi8(-(24))
 733 03c4 F40C      		add r15,r4
 734               	.LVL60:
 735               	.L60:
 736               	.LM68:
 737 03c6 C314      		cp r12,r3
 738 03c8 01F0      		breq .L70
 739 03ca C0E0      		ldi r28,lo8(0)
 740 03cc D0E0      		ldi r29,hi8(0)
 741               	.LVL61:
 742 03ce 00C0      		rjmp .L66
 743               	.LVL62:
 744               	.L70:
 745               	/* epilogue: frame size=0 */
 746 03d0 DF91      		pop r29
 747 03d2 CF91      		pop r28
 748 03d4 1F91      		pop r17
 749 03d6 0F91      		pop r16
 750 03d8 FF90      		pop r15
 751 03da EF90      		pop r14
 752 03dc DF90      		pop r13
 753 03de CF90      		pop r12
 754 03e0 BF90      		pop r11
 755 03e2 AF90      		pop r10
 756 03e4 9F90      		pop r9
 757 03e6 8F90      		pop r8
 758 03e8 7F90      		pop r7
 759 03ea 6F90      		pop r6
 760 03ec 5F90      		pop r5
 761 03ee 4F90      		pop r4
 762 03f0 3F90      		pop r3
 763 03f2 0895      		ret
 764               	/* epilogue end (size=18) */
 765               	/* function LCD_write_chinese_string size 106 (71) */
 766               	.LFE12:
 768               	.global	LCD_write_english_string
 770               	LCD_write_english_string:
 771               	.LFB11:
 772               	.LM69:
 773               	/* prologue: frame size=0 */
 774 03f4 CF93      		push r28
 775 03f6 DF93      		push r29
 776               	/* prologue end (size=2) */
 777               	.LVL63:
 778 03f8 EA01      		movw r28,r20
 779               	.LM70:
 780 03fa 0E94 0000 		call LCD_set_XY
 781               	.LVL64:
 782 03fe 00C0      		rjmp .L73
 783               	.L74:
 784               	.LM71:
 785 0400 0E94 0000 		call LCD_write_char
 786               	.LM72:
 787 0404 2196      		adiw r28,1
 788               	.L73:
 789               	.LM73:
 790 0406 8881      		ld r24,Y
 791 0408 8823      		tst r24
 792 040a 01F4      		brne .L74

⌨️ 快捷键说明

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