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

📄 main.lst

📁 CH375官方有了51单片机控制打印机的代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 821 0330 0E94 0000 		call issue_token_X
 822 0334 8431      		cpi r24,lo8(20)
 823 0336 01F4      		brne .L70
 824               	.LM100:
 825 0338 80E0      		ldi r24,lo8(buffer)
 826 033a 90E0      		ldi r25,hi8(buffer)
 827 033c 0E94 0000 		call rd_usb_data
 828               	.LM101:
 829 0340 60E0      		ldi r22,lo8(buffer)
 830 0342 70E0      		ldi r23,hi8(buffer)
 831 0344 80E0      		ldi r24,lo8(0)
 832 0346 0E94 0000 		call wr_usb_data
 833               	.LM102:
 834 034a 60E4      		ldi r22,lo8(64)
 835 034c 81E0      		ldi r24,lo8(1)
 836 034e 0E94 0000 		call issue_token_X
 837 0352 8431      		cpi r24,lo8(20)
 838 0354 01F0      		breq .L76
 839               	.L70:
 840 0356 8FEF      		ldi r24,lo8(255)
 841 0358 90E0      		ldi r25,hi8(255)
 842               	.LM103:
 843 035a 0895      		ret
 844               	.L76:
 845               	.LM104:
 846 035c 8091 0000 		lds r24,buffer
 847 0360 9927      		clr r25
 848 0362 0895      		ret
 849               	/* epilogue: frame size=0 */
 850               	/* epilogue: noreturn */
 851               	/* epilogue end (size=0) */
 852               	/* function get_port_status_X size 57 (57) */
 853               	.LFE22:
 855               	.global	get_descr
 857               	get_descr:
 858               	.LFB23:
 859               	.LM105:
 860               	/* prologue: frame size=0 */
 861 0364 1F93      		push r17
 862               	/* prologue end (size=1) */
 863               	.LVL54:
 864 0366 182F      		mov r17,r24
 865               	.LM106:
 866 0368 86E4      		ldi r24,lo8(70)
 867               	.LVL55:
 868 036a 0E94 0000 		call xWriteCH375Cmd
 869               	.LM107:
 870 036e 812F      		mov r24,r17
 871 0370 0E94 0000 		call xWriteCH375Data
 872               	.LM108:
 873 0374 0E94 0000 		call wait_interrupt
 874               	.LM109:
 875 0378 9927      		clr r25
 876               	/* epilogue: frame size=0 */
 877 037a 1F91      		pop r17
 878 037c 0895      		ret
 879               	/* epilogue end (size=2) */
 880               	/* function get_descr size 13 (10) */
 881               	.LFE23:
 883               	.global	set_addr
 885               	set_addr:
 886               	.LFB24:
 887               	.LM110:
 888               	/* prologue: frame size=0 */
 889 037e 0F93      		push r16
 890 0380 1F93      		push r17
 891               	/* prologue end (size=2) */
 892               	.LVL56:
 893 0382 082F      		mov r16,r24
 894               	.LM111:
 895 0384 85E4      		ldi r24,lo8(69)
 896               	.LVL57:
 897 0386 0E94 0000 		call xWriteCH375Cmd
 898               	.LM112:
 899 038a 802F      		mov r24,r16
 900 038c 0E94 0000 		call xWriteCH375Data
 901               	.LM113:
 902 0390 0E94 0000 		call wait_interrupt
 903 0394 182F      		mov r17,r24
 904               	.LVL58:
 905               	.LM114:
 906 0396 8431      		cpi r24,lo8(20)
 907 0398 01F4      		brne .L80
 908               	.LVL59:
 909               	.LM115:
 910 039a 83E1      		ldi r24,lo8(19)
 911               	.LVL60:
 912 039c 0E94 0000 		call xWriteCH375Cmd
 913               	.LM116:
 914 03a0 802F      		mov r24,r16
 915 03a2 0E94 0000 		call xWriteCH375Data
 916               	.LVL61:
 917               	.L80:
 918               	.LBB130:
 919               	.LBB131:
 920               	.LBB132:
 921               	.LBB133:
 922               	.LM117:
 923 03a6 80E0      		ldi r24,lo8(13824)
 924 03a8 96E3      		ldi r25,hi8(13824)
 925               	.LVL62:
 926               	/* #APP */
 927 03aa 0197      		1: sbiw r24,1
 928 03ac 01F4      		brne 1b
 929               	/* #NOAPP */
 930               	.LBE133:
 931               	.LBE132:
 932               	.LBE131:
 933               	.LBE130:
 934               	.LM118:
 935 03ae 812F      		mov r24,r17
 936 03b0 9927      		clr r25
 937               	.LVL63:
 938               	/* epilogue: frame size=0 */
 939 03b2 1F91      		pop r17
 940 03b4 0F91      		pop r16
 941 03b6 0895      		ret
 942               	/* epilogue end (size=3) */
 943               	/* function set_addr size 31 (26) */
 944               	.LFE24:
 946               	.global	set_config
 948               	set_config:
 949               	.LFB25:
 950               	.LM119:
 951               	/* prologue: frame size=0 */
 952 03b8 1F93      		push r17
 953               	/* prologue end (size=1) */
 954               	.LVL64:
 955 03ba 182F      		mov r17,r24
 956               	.LM120:
 957 03bc 1092 0000 		sts tog_recv,__zero_reg__
 958 03c0 1092 0000 		sts tog_send,__zero_reg__
 959               	.LM121:
 960 03c4 89E4      		ldi r24,lo8(73)
 961               	.LVL65:
 962 03c6 0E94 0000 		call xWriteCH375Cmd
 963               	.LM122:
 964 03ca 812F      		mov r24,r17
 965 03cc 0E94 0000 		call xWriteCH375Data
 966               	.LM123:
 967 03d0 0E94 0000 		call wait_interrupt
 968               	.LM124:
 969 03d4 9927      		clr r25
 970               	/* epilogue: frame size=0 */
 971 03d6 1F91      		pop r17
 972 03d8 0895      		ret
 973               	/* epilogue end (size=2) */
 974               	/* function set_config size 17 (14) */
 975               	.LFE25:
 977               	.global	init_print
 979               	init_print:
 980               	.LFB26:
 981               	.LM125:
 982               	/* prologue: frame size=0 */
 983               	/* prologue end (size=0) */
 984               	.LM126:
 985 03da 81E0      		ldi r24,lo8(1)
 986 03dc 0E94 0000 		call get_descr
 987               	.LVL66:
 988               	.LM127:
 989 03e0 8431      		cpi r24,lo8(20)
 990 03e2 01F4      		brne .L114
 991               	.LM128:
 992 03e4 80E0      		ldi r24,lo8(buffer)
 993 03e6 90E0      		ldi r25,hi8(buffer)
 994               	.LVL67:
 995 03e8 0E94 0000 		call rd_usb_data
 996               	.LM129:
 997 03ec 8231      		cpi r24,lo8(18)
 998 03ee 00F0      		brlo .L89
 999 03f0 8091 0000 		lds r24,buffer+1
 1000 03f4 8130      		cpi r24,lo8(1)
 1001 03f6 01F4      		brne .L89
 1002               	.LM130:
 1003 03f8 8091 0000 		lds r24,buffer+4
 1004 03fc 8823      		tst r24
 1005 03fe 01F0      		breq .L115
 1006               	.L89:
 1007               	.LM131:
 1008 0400 81EF      		ldi r24,lo8(241)
 1009 0402 90E0      		ldi r25,hi8(241)
 1010 0404 0895      		ret
 1011               	.L115:
 1012               	.LM132:
 1013 0406 83E0      		ldi r24,lo8(3)
 1014 0408 0E94 0000 		call set_addr
 1015               	.LVL68:
 1016               	.LM133:
 1017 040c 8431      		cpi r24,lo8(20)
 1018 040e 01F0      		breq .L116
 1019               	.LVL69:
 1020               	.L114:
 1021               	.LVL70:
 1022               	.LM134:
 1023 0410 9927      		clr r25
 1024               	.LVL71:
 1025 0412 0895      		ret
 1026               	.LVL72:
 1027               	.L116:
 1028               	.LM135:
 1029 0414 82E0      		ldi r24,lo8(2)
 1030               	.LVL73:
 1031 0416 0E94 0000 		call get_descr
 1032               	.LVL74:
 1033               	.LM136:
 1034 041a 8431      		cpi r24,lo8(20)
 1035 041c 01F4      		brne .L114
 1036               	.LM137:
 1037 041e 80E0      		ldi r24,lo8(buffer)
 1038 0420 90E0      		ldi r25,hi8(buffer)
 1039               	.LVL75:
 1040 0422 0E94 0000 		call rd_usb_data
 1041               	.LM138:
 1042 0426 8091 0000 		lds r24,buffer+14
 1043 042a 8730      		cpi r24,lo8(7)
 1044 042c 01F4      		brne .L97
 1045 042e 8091 0000 		lds r24,buffer+15
 1046 0432 8130      		cpi r24,lo8(1)
 1047 0434 01F4      		brne .L97
 1048               	.LM139:
 1049 0436 1092 0000 		sts endp_in_addr,__zero_reg__
 1050 043a 1092 0000 		sts endp_out_addr,__zero_reg__
 1051               	.LM140:
 1052 043e 8091 0000 		lds r24,buffer+20
 1053               	.LVL76:
 1054               	.LM141:
 1055 0442 87FD      		sbrc r24,7
 1056 0444 00C0      		rjmp .L117
 1057               	.LM142:
 1058 0446 8F70      		andi r24,lo8(15)
 1059 0448 8093 0000 		sts endp_out_addr,r24
 1060               	.LM143:
 1061 044c 8091 0000 		lds r24,buffer+22
 1062               	.LVL77:
 1063 0450 8093 0000 		sts endp_out_size,r24
 1064               	.LVL78:
 1065               	.L102:
 1066               	.LM144:
 1067 0454 8091 0000 		lds r24,buffer+13
 1068               	.LVL79:
 1069 0458 8230      		cpi r24,lo8(2)
 1070 045a 00F0      		brlo .L103
 1071               	.LM145:
 1072 045c 8091 0000 		lds r24,buffer+26
 1073 0460 8530      		cpi r24,lo8(5)
 1074 0462 01F0      		breq .L118
 1075               	.LVL80:
 1076               	.L103:
 1077               	.LM146:
 1078 0464 8091 0000 		lds r24,buffer+16
 1079               	.LVL81:
 1080 0468 8230      		cpi r24,lo8(2)
 1081 046a 00F0      		brlo .L119
 1082               	.L108:
 1083               	.LM147:
 1084 046c 8091 0000 		lds r24,endp_out_addr
 1085 0470 8823      		tst r24
 1086 0472 01F4      		brne .L120
 1087               	.L97:
 1088               	.LM148:
 1089 0474 82EF      		ldi r24,lo8(242)
 1090 0476 90E0      		ldi r25,hi8(242)
 1091               	.LM149:
 1092 0478 0895      		ret
 1093               	.L120:
 1094               	.LM150:
 1095 047a 8091 0000 		lds r24,buffer+5
 1096 047e 0E94 0000 		call set_config
 1097               	.LVL82:
 1098               	.LM151:
 1099 0482 8431      		cpi r24,lo8(20)
 1100 0484 01F4      		brne .L114
 1101               	.LM152:
 1102 0486 8BE0      		ldi r24,lo8(11)
 1103               	.LVL83:
 1104 0488 0E94 0000 		call xWriteCH375Cmd
 1105               	.LM153:
 1106 048c 85E2      		ldi r24,lo8(37)
 1107 048e 0E94 0000 		call xWriteCH375Data
 1108               	.LM154:
 1109 0492 89E8      		ldi r24,lo8(-119)
 1110 0494 0E94 0000 		call xWriteCH375Data
 1111 0498 84E1      		ldi r24,lo8(20)
 1112 049a 90E0      		ldi r25,hi8(20)
 1113 049c 0895      		ret
 1114               	.L118:
 1115               	.LM155:
 1116 049e 8091 0000 		lds r24,buffer+27
 1117               	.LVL84:
 1118               	.LM156:
 1119 04a2 87FD      		sbrc r24,7
 1120 04a4 00C0      		rjmp .L121
 1121               	.LM157:
 1122 04a6 8F70      		andi r24,lo8(15)
 1123 04a8 8093 0000 		sts endp_out_addr,r24
 1124               	.LM158:
 1125 04ac 8091 0000 		lds r24,buffer+29
 1126               	.LVL85:
 1127 04b0 8093 0000 		sts endp_out_size,r24
 1128 04b4 00C0      		rjmp .L103
 1129               	.L119:
 1130               	.LM159:
 1131 04b6 1092 0000 		sts endp_in_addr,__zero_reg__
 1132 04ba 00C0      		rjmp .L108
 1133               	.LVL86:
 1134               	.L117:
 1135               	.LM160:
 1136 04bc 8F70      		andi r24,lo8(15)
 1137 04be 8093 0000 		sts endp_in_addr,r24
 1138 04c2 00C0      		rjmp .L102
 1139               	.LVL87:
 1140               	.L121:
 1141               	.LM161:
 1142 04c4 8F70      		andi r24,lo8(15)
 1143 04c6 8093 0000 		sts endp_in_addr,r24
 1144 04ca 00C0      		rjmp .L103
 1145               	/* epilogue: frame size=0 */
 1146               	/* epilogue: noreturn */
 1147               	/* epilogue end (size=0) */
 1148               	/* function init_print size 121 (121) */
 1149               	.LFE26:
 1151               	.global	uart_putchar
 1153               	uart_putchar:
 1154               	.LFB27:
 1155               	.LM162:
 1156               	/* prologue: frame size=0 */
 1157 04cc 1F93      		push r17
 1158               	/* prologue end (size=1) */
 1159               	.LVL88:
 1160 04ce 182F      		mov r17,r24
 1161               	.LM163:
 1162 04d0 8A30      		cpi r24,lo8(10)
 1163 04d2 01F0      		breq .L130
 1164               	.LVL89:
 1165               	.L127:
 1166               	.LM164:
 1167 04d4 5D9B      		sbis 43-0x20,5
 1168 04d6 00C0      		rjmp .L127
 1169 04d8 00C0      		rjmp .L132
 1170               	.LVL90:
 1171               	.L130:
 1172               	.LM165:
 1173 04da 8DE0      		ldi r24,lo8(13)
 1174               	.LVL91:
 1175 04dc 0E94 0000 		call uart_putchar
 1176               	.LVL92:
 1177 04e0 00C0      		rjmp .L127
 1178               	.LVL93:
 1179               	.L132:
 1180               	.LM166:
 1181 04e2 1CB9      		out 44-0x20,r17
 1182               	.LM167:
 1183 04e4 80E0      		ldi r24,lo8(0)
 1184 04e6 90E0      		ldi r25,hi8(0)
 1185               	/* epilogue: frame size=0 */
 1186 04e8 1F91      		pop r17
 1187 04ea 0895      		ret
 1188               	/* epilogue end (size=2) */
 1189               	/* function uart_putchar size 16 (13) */
 1190               	.LFE27:
 1192               	.global	mInitSTDIO
 1194               	mInitSTDIO:
 1195               	.LFB28:
 1196               	.LM168:
 1197               	/* prologue: frame size=0 */
 1198               	/* prologue end (size=0) */
 1199               	.LM169:
 1200 04ec 1092 9000 		sts 144,__zero_reg__
 1201               	.LM170:
 1202 04f0 85E0      		ldi r24,lo8(5)
 1203 04f2 89B9      		out 41-0x20,r24
 1204               	.LM171:
 1205 04f4 88E1      		ldi r24,lo8(24)
 1206 04f6 8AB9      		out 42-0x20,r24
 1207               	.LM172:
 1208 04f8 86E0      		ldi r24,lo8(6)
 1209 04fa 8093 9500 		sts 149,r24
 1210               	.LM173:
 1211 04fe 80E0      		ldi r24,lo8(uart_str)
 1212 0500 90E0      		ldi r25,hi8(uart_str)
 1213 0502 9093 0000 		sts (__iob)+1,r25
 1214 0506 8093 0000 		sts __iob,r24
 1215 050a 9093 0000 		sts (__iob+2)+1,r25
 1216 050e 8093 0000 		sts __iob+2,r24
 1217               	/* epilogue: frame size=0 */
 1218 0512 0895      		ret
 1219               	/* epilogue end (size=1) */
 1220               	/* function mInitSTDIO size 20 (19) */
 1221               	.LFE28:
 1223               		.data
 1224               	.LC0:
 1225 0000 7365 7420 		.string	"set usb mode error!\n\r"

⌨️ 快捷键说明

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