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

📄 main.lst

📁 CH375官方有了51单片机控制打印机的代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 413               	/* epilogue: frame size=0 */
 414 00f8 1F91      		pop r17
 415 00fa 0895      		ret
 416               	/* epilogue end (size=2) */
 417               	/* function clr_stall size 13 (10) */
 418               	.LFE14:
 420               	.global	rd_usb_data
 422               	rd_usb_data:
 423               	.LFB15:
 424               	.LM37:
 425               	/* prologue: frame size=0 */
 426 00fc 0F93      		push r16
 427 00fe 1F93      		push r17
 428 0100 CF93      		push r28
 429 0102 DF93      		push r29
 430               	/* prologue end (size=4) */
 431               	.LVL28:
 432 0104 EC01      		movw r28,r24
 433               	.LM38:
 434 0106 88E2      		ldi r24,lo8(40)
 435               	.LVL29:
 436 0108 0E94 0000 		call xWriteCH375Cmd
 437               	.LM39:
 438 010c 0E94 0000 		call xReadCH375Data
 439 0110 082F      		mov r16,r24
 440               	.LVL30:
 441               	.LM40:
 442 0112 8823      		tst r24
 443 0114 01F0      		breq .L30
 444               	.LVL31:
 445               	.LM41:
 446 0116 10E0      		ldi r17,lo8(0)
 447               	.LVL32:
 448               	.L32:
 449 0118 0E94 0000 		call xReadCH375Data
 450               	.LVL33:
 451 011c 8993      		st Y+,r24
 452 011e 1F5F      		subi r17,lo8(-(1))
 453 0120 0117      		cp r16,r17
 454 0122 01F4      		brne .L32
 455               	.LVL34:
 456               	.L30:
 457               	.LM42:
 458 0124 802F      		mov r24,r16
 459 0126 9927      		clr r25
 460               	/* epilogue: frame size=0 */
 461 0128 DF91      		pop r29
 462 012a CF91      		pop r28
 463 012c 1F91      		pop r17
 464 012e 0F91      		pop r16
 465 0130 0895      		ret
 466               	/* epilogue end (size=5) */
 467               	/* function rd_usb_data size 27 (18) */
 468               	.LFE15:
 470               	.global	wr_usb_data
 472               	wr_usb_data:
 473               	.LFB16:
 474               	.LM43:
 475               	/* prologue: frame size=0 */
 476 0132 1F93      		push r17
 477 0134 CF93      		push r28
 478 0136 DF93      		push r29
 479               	/* prologue end (size=3) */
 480               	.LVL35:
 481 0138 182F      		mov r17,r24
 482 013a EB01      		movw r28,r22
 483               	.LM44:
 484 013c 8BE2      		ldi r24,lo8(43)
 485               	.LVL36:
 486 013e 0E94 0000 		call xWriteCH375Cmd
 487               	.LVL37:
 488               	.LM45:
 489 0142 812F      		mov r24,r17
 490 0144 0E94 0000 		call xWriteCH375Data
 491               	.LM46:
 492 0148 1150      		subi r17,lo8(-(-1))
 493               	.LVL38:
 494 014a 1F3F      		cpi r17,lo8(-1)
 495 014c 01F0      		breq .L38
 496               	.L39:
 497               	.LM47:
 498 014e 8991      		ld r24,Y+
 499 0150 0E94 0000 		call xWriteCH375Data
 500 0154 1150      		subi r17,1
 501 0156 00F4      		brcc .L39
 502               	.L38:
 503               	/* epilogue: frame size=0 */
 504 0158 DF91      		pop r29
 505 015a CF91      		pop r28
 506 015c 1F91      		pop r17
 507 015e 0895      		ret
 508               	/* epilogue end (size=4) */
 509               	/* function wr_usb_data size 24 (17) */
 510               	.LFE16:
 512               	.global	issue_token
 514               	issue_token:
 515               	.LFB17:
 516               	.LM48:
 517               	/* prologue: frame size=0 */
 518 0160 1F93      		push r17
 519               	/* prologue end (size=1) */
 520               	.LVL39:
 521 0162 182F      		mov r17,r24
 522               	.LM49:
 523 0164 8FE4      		ldi r24,lo8(79)
 524               	.LVL40:
 525 0166 0E94 0000 		call xWriteCH375Cmd
 526               	.LM50:
 527 016a 812F      		mov r24,r17
 528 016c 0E94 0000 		call xWriteCH375Data
 529               	.LM51:
 530 0170 0E94 0000 		call wait_interrupt
 531               	.LM52:
 532 0174 9927      		clr r25
 533               	/* epilogue: frame size=0 */
 534 0176 1F91      		pop r17
 535 0178 0895      		ret
 536               	/* epilogue end (size=2) */
 537               	/* function issue_token size 13 (10) */
 538               	.LFE17:
 540               	.global	issue_token_X
 542               	issue_token_X:
 543               	.LFB18:
 544               	.LM53:
 545               	/* prologue: frame size=0 */
 546 017a 0F93      		push r16
 547 017c 1F93      		push r17
 548               	/* prologue end (size=2) */
 549               	.LVL41:
 550 017e 082F      		mov r16,r24
 551 0180 162F      		mov r17,r22
 552               	.LM54:
 553 0182 8EE4      		ldi r24,lo8(78)
 554               	.LVL42:
 555 0184 0E94 0000 		call xWriteCH375Cmd
 556               	.LVL43:
 557               	.LM55:
 558 0188 812F      		mov r24,r17
 559 018a 0E94 0000 		call xWriteCH375Data
 560               	.LM56:
 561 018e 802F      		mov r24,r16
 562 0190 0E94 0000 		call xWriteCH375Data
 563               	.LM57:
 564 0194 0E94 0000 		call wait_interrupt
 565               	.LM58:
 566 0198 9927      		clr r25
 567               	/* epilogue: frame size=0 */
 568 019a 1F91      		pop r17
 569 019c 0F91      		pop r16
 570 019e 0895      		ret
 571               	/* epilogue end (size=3) */
 572               	/* function issue_token_X size 19 (14) */
 573               	.LFE18:
 575               	.global	soft_reset_print
 577               	soft_reset_print:
 578               	.LFB19:
 579               	.LM59:
 580               	/* prologue: frame size=0 */
 581               	/* prologue end (size=0) */
 582               	.LM60:
 583 01a0 1092 0000 		sts tog_recv,__zero_reg__
 584 01a4 1092 0000 		sts tog_send,__zero_reg__
 585               	.LM61:
 586 01a8 80E0      		ldi r24,lo8(0)
 587 01aa 0E94 0000 		call toggle_send
 588               	.LM62:
 589 01ae 81E2      		ldi r24,lo8(33)
 590 01b0 8093 0000 		sts buffer,r24
 591 01b4 82E0      		ldi r24,lo8(2)
 592 01b6 8093 0000 		sts buffer+1,r24
 593 01ba 1092 0000 		sts buffer+7,__zero_reg__
 594 01be 1092 0000 		sts buffer+6,__zero_reg__
 595 01c2 1092 0000 		sts buffer+5,__zero_reg__
 596 01c6 1092 0000 		sts buffer+4,__zero_reg__
 597 01ca 1092 0000 		sts buffer+3,__zero_reg__
 598 01ce 1092 0000 		sts buffer+2,__zero_reg__
 599               	.LM63:
 600 01d2 60E0      		ldi r22,lo8(buffer)
 601 01d4 70E0      		ldi r23,hi8(buffer)
 602 01d6 88E0      		ldi r24,lo8(8)
 603 01d8 0E94 0000 		call wr_usb_data
 604               	.LM64:
 605 01dc 8DE0      		ldi r24,lo8(13)
 606 01de 0E94 0000 		call issue_token
 607 01e2 8431      		cpi r24,lo8(20)
 608 01e4 01F0      		breq .L49
 609 01e6 0895      		ret
 610               	.L49:
 611               	.LM65:
 612 01e8 81E0      		ldi r24,lo8(1)
 613 01ea 0E94 0000 		call toggle_recv
 614               	.LM66:
 615 01ee 89E0      		ldi r24,lo8(9)
 616 01f0 0E94 0000 		call issue_token
 617 01f4 0895      		ret
 618               	/* epilogue: frame size=0 */
 619               	/* epilogue: noreturn */
 620               	/* epilogue end (size=0) */
 621               	/* function soft_reset_print size 43 (43) */
 622               	.LFE19:
 624               	.global	send_data
 626               	send_data:
 627               	.LFB20:
 628               	.LM67:
 629               	/* prologue: frame size=0 */
 630 01f6 FF92      		push r15
 631 01f8 0F93      		push r16
 632 01fa 1F93      		push r17
 633 01fc CF93      		push r28
 634 01fe DF93      		push r29
 635               	/* prologue end (size=5) */
 636               	.LVL44:
 637 0200 EC01      		movw r28,r24
 638 0202 8B01      		movw r16,r22
 639               	.LM68:
 640 0204 892B      		or r24,r25
 641 0206 01F4      		brne .L59
 642               	.LVL45:
 643 0208 00C0      		rjmp .L58
 644               	.LVL46:
 645               	.L54:
 646               	.LM69:
 647 020a 8A32      		cpi r24,lo8(42)
 648 020c 01F0      		breq .L56
 649               	.LM70:
 650 020e 8091 0000 		lds r24,endp_out_addr
 651               	.LVL47:
 652 0212 0E94 0000 		call clr_stall
 653               	.LM71:
 654 0216 1092 0000 		sts tog_send,__zero_reg__
 655               	.LVL48:
 656               	.L56:
 657               	.LM72:
 658 021a 2097      		sbiw r28,0
 659 021c 01F0      		breq .L58
 660               	.LVL49:
 661               	.L59:
 662               	.LM73:
 663 021e 8091 0000 		lds r24,tog_send
 664               	.LVL50:
 665 0222 0E94 0000 		call toggle_send
 666               	.LM74:
 667 0226 8091 0000 		lds r24,endp_out_size
 668 022a 9927      		clr r25
 669 022c C817      		cp r28,r24
 670 022e D907      		cpc r29,r25
 671 0230 00F4      		brsh .L53
 672 0232 CE01      		movw r24,r28
 673               	.L53:
 674 0234 F82E      		mov r15,r24
 675               	.LM75:
 676 0236 B801      		movw r22,r16
 677 0238 0E94 0000 		call wr_usb_data
 678               	.LM76:
 679 023c 8091 0000 		lds r24,endp_out_addr
 680 0240 8295      		swap r24
 681 0242 807F      		andi r24,0xf0
 682 0244 8160      		ori r24,lo8(1)
 683 0246 0E94 0000 		call issue_token
 684               	.LVL51:
 685               	.LM77:
 686 024a 8431      		cpi r24,lo8(20)
 687 024c 01F4      		brne .L54
 688               	.LM78:
 689 024e 8091 0000 		lds r24,tog_send
 690               	.LVL52:
 691 0252 8095      		com r24
 692 0254 8093 0000 		sts tog_send,r24
 693               	.LM79:
 694 0258 8F2D      		mov r24,r15
 695 025a 9927      		clr r25
 696 025c C81B      		sub r28,r24
 697 025e D90B      		sbc r29,r25
 698               	.LM80:
 699 0260 080F      		add r16,r24
 700 0262 191F      		adc r17,r25
 701               	.LM81:
 702 0264 2097      		sbiw r28,0
 703 0266 01F4      		brne .L59
 704               	.LVL53:
 705               	.L58:
 706               	/* epilogue: frame size=0 */
 707 0268 DF91      		pop r29
 708 026a CF91      		pop r28
 709 026c 1F91      		pop r17
 710 026e 0F91      		pop r16
 711 0270 FF90      		pop r15
 712 0272 0895      		ret
 713               	/* epilogue end (size=6) */
 714               	/* function send_data size 63 (52) */
 715               	.LFE20:
 717               	.global	get_port_status
 719               	get_port_status:
 720               	.LFB21:
 721               	.LM82:
 722               	/* prologue: frame size=0 */
 723               	/* prologue end (size=0) */
 724               	.LM83:
 725 0274 80E0      		ldi r24,lo8(0)
 726 0276 0E94 0000 		call toggle_send
 727               	.LM84:
 728 027a 81EA      		ldi r24,lo8(-95)
 729 027c 8093 0000 		sts buffer,r24
 730 0280 81E0      		ldi r24,lo8(1)
 731 0282 8093 0000 		sts buffer+1,r24
 732 0286 1092 0000 		sts buffer+5,__zero_reg__
 733 028a 1092 0000 		sts buffer+4,__zero_reg__
 734 028e 1092 0000 		sts buffer+3,__zero_reg__
 735 0292 1092 0000 		sts buffer+2,__zero_reg__
 736 0296 8093 0000 		sts buffer+6,r24
 737 029a 1092 0000 		sts buffer+7,__zero_reg__
 738               	.LM85:
 739 029e 60E0      		ldi r22,lo8(buffer)
 740 02a0 70E0      		ldi r23,hi8(buffer)
 741 02a2 88E0      		ldi r24,lo8(8)
 742 02a4 0E94 0000 		call wr_usb_data
 743               	.LM86:
 744 02a8 8DE0      		ldi r24,lo8(13)
 745 02aa 0E94 0000 		call issue_token
 746 02ae 8431      		cpi r24,lo8(20)
 747 02b0 01F4      		brne .L62
 748               	.LM87:
 749 02b2 81E0      		ldi r24,lo8(1)
 750 02b4 0E94 0000 		call toggle_recv
 751               	.LM88:
 752 02b8 89E0      		ldi r24,lo8(9)
 753 02ba 0E94 0000 		call issue_token
 754 02be 8431      		cpi r24,lo8(20)
 755 02c0 01F4      		brne .L62
 756               	.LM89:
 757 02c2 80E0      		ldi r24,lo8(buffer)
 758 02c4 90E0      		ldi r25,hi8(buffer)
 759 02c6 0E94 0000 		call rd_usb_data
 760               	.LM90:
 761 02ca 81E0      		ldi r24,lo8(1)
 762 02cc 0E94 0000 		call toggle_send
 763               	.LM91:
 764 02d0 60E0      		ldi r22,lo8(buffer)
 765 02d2 70E0      		ldi r23,hi8(buffer)
 766 02d4 80E0      		ldi r24,lo8(0)
 767 02d6 0E94 0000 		call wr_usb_data
 768               	.LM92:
 769 02da 81E0      		ldi r24,lo8(1)
 770 02dc 0E94 0000 		call issue_token
 771 02e0 8431      		cpi r24,lo8(20)
 772 02e2 01F0      		breq .L68
 773               	.L62:
 774 02e4 8FEF      		ldi r24,lo8(255)
 775 02e6 90E0      		ldi r25,hi8(255)
 776               	.LM93:
 777 02e8 0895      		ret
 778               	.L68:
 779               	.LM94:
 780 02ea 8091 0000 		lds r24,buffer
 781 02ee 9927      		clr r25
 782 02f0 0895      		ret
 783               	/* epilogue: frame size=0 */
 784               	/* epilogue: noreturn */
 785               	/* epilogue end (size=0) */
 786               	/* function get_port_status size 63 (63) */
 787               	.LFE21:
 789               	.global	get_port_status_X
 791               	get_port_status_X:
 792               	.LFB22:
 793               	.LM95:
 794               	/* prologue: frame size=0 */
 795               	/* prologue end (size=0) */
 796               	.LM96:
 797 02f2 81EA      		ldi r24,lo8(-95)
 798 02f4 8093 0000 		sts buffer,r24
 799 02f8 81E0      		ldi r24,lo8(1)
 800 02fa 8093 0000 		sts buffer+1,r24
 801 02fe 1092 0000 		sts buffer+5,__zero_reg__
 802 0302 1092 0000 		sts buffer+4,__zero_reg__
 803 0306 1092 0000 		sts buffer+3,__zero_reg__
 804 030a 1092 0000 		sts buffer+2,__zero_reg__
 805 030e 8093 0000 		sts buffer+6,r24
 806 0312 1092 0000 		sts buffer+7,__zero_reg__
 807               	.LM97:
 808 0316 60E0      		ldi r22,lo8(buffer)
 809 0318 70E0      		ldi r23,hi8(buffer)
 810 031a 88E0      		ldi r24,lo8(8)
 811 031c 0E94 0000 		call wr_usb_data
 812               	.LM98:
 813 0320 60E0      		ldi r22,lo8(0)
 814 0322 8DE0      		ldi r24,lo8(13)
 815 0324 0E94 0000 		call issue_token_X
 816 0328 8431      		cpi r24,lo8(20)
 817 032a 01F4      		brne .L70
 818               	.LM99:
 819 032c 60E8      		ldi r22,lo8(-128)
 820 032e 89E0      		ldi r24,lo8(9)

⌨️ 快捷键说明

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