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

📄 main.lst

📁 MEGEA64控制的TUNER程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 835               	.LFE31:
 837               	.global	str_len
 839               	str_len:
 840               	.LFB32:
 841               	.LM141:
 842               	/* prologue: frame size=0 */
 843               	/* prologue end (size=0) */
 844               	.LVL25:
 845 03f8 DC01      		movw r26,r24
 846               	.LM142:
 847 03fa 8C91      		ld r24,X
 848               	.LVL26:
 849 03fc 8823      		tst r24
 850 03fe 01F0      		breq .L101
 851               	.LM143:
 852 0400 FD01      		movw r30,r26
 853               	.L96:
 854               	.LM144:
 855 0402 8181      		ldd r24,Z+1
 856               	.LVL27:
 857 0404 3196      		adiw r30,1
 858               	.LM145:
 859 0406 8823      		tst r24
 860 0408 01F4      		brne .L96
 861 040a 8E2F      		mov r24,r30
 862               	.LVL28:
 863 040c 8A1B      		sub r24,r26
 864 040e 9927      		clr r25
 865               	.LM146:
 866 0410 0895      		ret
 867               	.L101:
 868               	.LM147:
 869 0412 80E0      		ldi r24,lo8(0)
 870 0414 90E0      		ldi r25,hi8(0)
 871 0416 0895      		ret
 872               	/* epilogue: frame size=0 */
 873               	/* epilogue: noreturn */
 874               	/* epilogue end (size=0) */
 875               	/* function str_len size 16 (16) */
 876               	.LFE32:
 878               	.global	PutAscii
 880               	PutAscii:
 881               	.LFB34:
 882               	.LM148:
 883               	/* prologue: frame size=0 */
 884 0418 1F93      		push r17
 885               	/* prologue end (size=1) */
 886               	.LVL29:
 887 041a 182F      		mov r17,r24
 888               	.LVL30:
 889               	.LM149:
 890 041c 8295      		swap r24
 891 041e 8F70      		andi r24,0x0f
 892               	.LM150:
 893 0420 8A30      		cpi r24,lo8(10)
 894 0422 00F4      		brsh .L103
 895               	.LM151:
 896 0424 805D      		subi r24,lo8(-(48))
 897               	.LVL31:
 898               	.LM152:
 899 0426 0E94 0000 		call PutChar
 900               	.LVL32:
 901               	.LM153:
 902 042a 812F      		mov r24,r17
 903               	.LVL33:
 904 042c 8F70      		andi r24,lo8(15)
 905               	.LM154:
 906 042e 8A30      		cpi r24,lo8(10)
 907 0430 00F4      		brsh .L106
 908               	.L110:
 909 0432 805D      		subi r24,lo8(-(48))
 910               	.LVL34:
 911 0434 00C0      		rjmp .L108
 912               	.LVL35:
 913               	.L103:
 914               	.LM155:
 915 0436 895C      		subi r24,lo8(-(55))
 916               	.LVL36:
 917               	.LM156:
 918 0438 0E94 0000 		call PutChar
 919               	.LVL37:
 920               	.LM157:
 921 043c 812F      		mov r24,r17
 922               	.LVL38:
 923 043e 8F70      		andi r24,lo8(15)
 924               	.LM158:
 925 0440 8A30      		cpi r24,lo8(10)
 926 0442 00F0      		brlo .L110
 927               	.L106:
 928               	.LM159:
 929 0444 895C      		subi r24,lo8(-(55))
 930               	.LVL39:
 931               	.L108:
 932               	.LM160:
 933 0446 0E94 0000 		call PutChar
 934               	.LVL40:
 935               	/* epilogue: frame size=0 */
 936 044a 1F91      		pop r17
 937 044c 0895      		ret
 938               	/* epilogue end (size=2) */
 939               	/* function PutAscii size 27 (24) */
 940               	.LFE34:
 942               	.global	put_string
 944               	put_string:
 945               	.LFB33:
 946               	.LM161:
 947               	/* prologue: frame size=0 */
 948 044e 0F93      		push r16
 949 0450 1F93      		push r17
 950 0452 CF93      		push r28
 951 0454 DF93      		push r29
 952               	/* prologue end (size=4) */
 953               	.LVL41:
 954 0456 DC01      		movw r26,r24
 955               	.LM162:
 956 0458 FC01      		movw r30,r24
 957 045a 0190      		ld __tmp_reg__,Z+
 958 045c 0020      		tst __tmp_reg__
 959 045e 01F4      		brne .-6
 960 0460 3197      		sbiw r30,1
 961 0462 E81B      		sub r30,r24
 962 0464 F90B      		sbc r31,r25
 963 0466 8E2F      		mov r24,r30
 964               	.LVL42:
 965               	.LM163:
 966 0468 EE23      		tst r30
 967 046a 01F0      		breq .L115
 968               	.LM164:
 969 046c ED01      		movw r28,r26
 970               	.LVL43:
 971 046e 8150      		subi r24,lo8(-(-1))
 972               	.LVL44:
 973 0470 8D01      		movw r16,r26
 974 0472 080F      		add r16,r24
 975 0474 111D      		adc r17,__zero_reg__
 976 0476 0F5F      		subi r16,lo8(-(1))
 977 0478 1F4F      		sbci r17,hi8(-(1))
 978               	.LVL45:
 979               	.L114:
 980               	.LM165:
 981 047a 8991      		ld r24,Y+
 982               	.LVL46:
 983 047c 0E94 0000 		call PutChar
 984               	.LVL47:
 985               	.LM166:
 986 0480 C017      		cp r28,r16
 987 0482 D107      		cpc r29,r17
 988 0484 01F4      		brne .L114
 989               	.LVL48:
 990               	.L115:
 991               	/* epilogue: frame size=0 */
 992 0486 DF91      		pop r29
 993 0488 CF91      		pop r28
 994 048a 1F91      		pop r17
 995 048c 0F91      		pop r16
 996 048e 0895      		ret
 997               	/* epilogue end (size=5) */
 998               	/* function put_string size 33 (24) */
 999               	.LFE33:
 1001               	.global	timer0_task
 1003               	timer0_task:
 1004               	.LFB29:
 1005               	.LM167:
 1006               	/* prologue: frame size=0 */
 1007               	/* prologue end (size=0) */
 1008               	.LM168:
 1009 0490 8091 0000 		lds r24,timer0_counter
 1010 0494 9091 0000 		lds r25,(timer0_counter)+1
 1011 0498 C297      		sbiw r24,50
 1012 049a 00F0      		brlo .L121
 1013               	.LM169:
 1014 049c 1092 0000 		sts (timer0_counter)+1,__zero_reg__
 1015 04a0 1092 0000 		sts timer0_counter,__zero_reg__
 1016               	.LM170:
 1017 04a4 8091 0000 		lds r24,channel_busy_byte_flag
 1018 04a8 8F3F      		cpi r24,lo8(-1)
 1019 04aa 01F0      		breq .L122
 1020               	.L121:
 1021 04ac 0895      		ret
 1022               	.L122:
 1023               	.LM171:
 1024 04ae 80E2      		ldi r24,lo8(32)
 1025 04b0 0E94 0000 		call PutChar
 1026 04b4 80E2      		ldi r24,lo8(32)
 1027 04b6 0E94 0000 		call PutChar
 1028 04ba 80E2      		ldi r24,lo8(32)
 1029 04bc 0E94 0000 		call PutChar
 1030 04c0 80E2      		ldi r24,lo8(32)
 1031 04c2 0E94 0000 		call PutChar
 1032               	.LM172:
 1033 04c6 80E0      		ldi r24,lo8(read_set_channel_string)
 1034 04c8 90E0      		ldi r25,hi8(read_set_channel_string)
 1035 04ca 0E94 0000 		call put_string
 1036               	.LM173:
 1037 04ce 0E94 0000 		call ReadChan
 1038 04d2 0E94 0000 		call PutAscii
 1039               	.LM174:
 1040 04d6 0E94 0000 		call PutEnter
 1041               	.LM175:
 1042 04da 1092 0000 		sts channel_busy_byte_flag,__zero_reg__
 1043 04de 0895      		ret
 1044               	/* epilogue: frame size=0 */
 1045               	/* epilogue: noreturn */
 1046               	/* epilogue end (size=0) */
 1047               	/* function timer0_task size 41 (41) */
 1048               	.LFE29:
 1050               	.global	Check_UART_Int
 1052               	Check_UART_Int:
 1053               	.LFB23:
 1054               	.LM176:
 1055               	/* prologue: frame size=0 */
 1056               	/* prologue end (size=0) */
 1057               	.LM177:
 1058 04e0 8091 0000 		lds r24,channel_change_byte_flag
 1059 04e4 8F3F      		cpi r24,lo8(-1)
 1060 04e6 01F0      		breq .L127
 1061 04e8 0895      		ret
 1062               	.L127:
 1063               	.LM178:
 1064 04ea 80E0      		ldi r24,lo8(current_channel_string)
 1065 04ec 90E0      		ldi r25,hi8(current_channel_string)
 1066 04ee 0E94 0000 		call put_string
 1067               	.LM179:
 1068 04f2 8091 0000 		lds r24,channel
 1069 04f6 0E94 0000 		call PutAscii
 1070               	.LM180:
 1071 04fa 8091 0000 		lds r24,channel
 1072 04fe 0E94 0000 		call SetChan
 1073               	.LM181:
 1074 0502 1092 0000 		sts channel_change_byte_flag,__zero_reg__
 1075 0506 0895      		ret
 1076               	/* epilogue: frame size=0 */
 1077               	/* epilogue: noreturn */
 1078               	/* epilogue end (size=0) */
 1079               	/* function Check_UART_Int size 20 (20) */
 1080               	.LFE23:
 1082               	.global	main
 1084               	main:
 1085               	.LFB35:
 1086               	.LM182:
 1087               	/* prologue: frame size=0 */
 1088               	/* prologue end (size=0) */
 1089               	.LM183:
 1090 0508 1092 0000 		sts (timer0_counter)+1,__zero_reg__
 1091 050c 1092 0000 		sts timer0_counter,__zero_reg__
 1092               	.LM184:
 1093 0510 1092 0000 		sts channel,__zero_reg__
 1094               	.LM185:
 1095 0514 0E94 0000 		call port_init
 1096               	.LM186:
 1097 0518 0E94 0000 		call Timer0Init
 1098               	.LM187:
 1099 051c 0E94 0000 		call UartInit
 1100               	.LM188:
 1101 0520 81E0      		ldi r24,lo8(1)
 1102 0522 87BF      		out 87-0x20,r24
 1103               	.LM189:
 1104               	/* #APP */
 1105 0524 7894      		sei
 1106               	.LM190:
 1107               	/* #NOAPP */
 1108 0526 80E0      		ldi r24,lo8(start_string)
 1109 0528 90E0      		ldi r25,hi8(start_string)
 1110 052a 0E94 0000 		call put_string
 1111               	.LM191:
 1112 052e 1092 0000 		sts channel_change_byte_flag,__zero_reg__
 1113               	.LM192:
 1114 0532 1092 0000 		sts channel_busy_byte_flag,__zero_reg__
 1115               	.LM193:
 1116 0536 1092 0000 		sts channel,__zero_reg__
 1117               	.LM194:
 1118 053a 8091 0000 		lds r24,channel
 1119 053e 0E94 0000 		call calc_divider
 1120               	.LM195:
 1121 0542 80E0      		ldi r24,lo8(current_channel_string)
 1122 0544 90E0      		ldi r25,hi8(current_channel_string)
 1123 0546 0E94 0000 		call put_string
 1124               	.LM196:
 1125 054a 8091 0000 		lds r24,channel
 1126 054e 0E94 0000 		call PutAscii
 1127               	.LM197:
 1128 0552 8091 0000 		lds r24,channel
 1129 0556 0E94 0000 		call SetChan
 1130               	.LM198:
 1131 055a 0E94 0000 		call PutEnter
 1132               	.L129:
 1133               	.LM199:
 1134 055e 0E94 0000 		call timer0_task
 1135               	.LM200:
 1136 0562 0E94 0000 		call Check_UART_Int
 1137 0566 00C0      		rjmp .L129
 1138               	/* epilogue: frame size=0 */
 1139               	/* epilogue: noreturn */
 1140               	/* epilogue end (size=0) */
 1141               	/* function main size 49 (49) */
 1142               	.LFE35:
 1144               	.global	start_string
 1145               		.data
 1148               	start_string:
 1149 0000 5374 6172 		.string	"Start OK!"
 1149      7420 4F4B 
 1149      2100 
 1150               	.global	current_channel_string
 1153               	current_channel_string:
 1154 000a 4375 7272 		.string	"Current Channel:"
 1154      656E 7420 
 1154      4368 616E 
 1154      6E65 6C3A 
 1154      00
 1155               	.global	read_set_channel_string
 1158               	read_set_channel_string:
 1159 001b 4665 6564 		.string	"FeedbackValue:"
 1159      6261 636B 
 1159      5661 6C75 
 1159      653A 00
 1160               	.global	freq
 1163               	freq:
 1164 002a 56        		.byte	86
 1165 002b C2        		.byte	-62
 1166 002c 00        		.byte	0
 1167 002d 00        		.byte	0
 1168 002e 96        		.byte	-106
 1169 002f E1        		.byte	-31
 1170 0030 00        		.byte	0
 1171 0031 00        		.byte	0
 1172 0032 D6        		.byte	-42
 1173 0033 00        		.byte	0
 1174 0034 01        		.byte	1
 1175 0035 00        		.byte	0
 1176 0036 C2        		.byte	-62
 1177 0037 2D        		.byte	45
 1178 0038 01        		.byte	1
 1179 0039 00        		.byte	0
 1180 003a 02        		.byte	2
 1181 003b 4D        		.byte	77
 1182 003c 01        		.byte	1
 1183 003d 00        		.byte	0
 1184 003e 7A        		.byte	122
 1185 003f B6        		.byte	-74
 1186 0040 01        		.byte	1
 1187 0041 00        		.byte	0
 1188 0042 BA        		.byte	-70
 1189 0043 D5        		.byte	-43
 1190 0044 01        		.byte	1
 1191 0045 00        		.byte	0
 1192 0046 FA        		.byte	-6
 1193 0047 F4        		.byte	-12
 1194 0048 01        		.byte	1
 1195 0049 00        		.byte	0
 1196 004a 3A        		.byte	58
 1197 004b 14        		.byte	20
 1198 004c 02        		.byte	2
 1199 004d 00        		.byte	0
 1200 004e 7A        		.byte	122
 1201 004f 33        		.byte	51
 1202 0050 02        		.byte	2
 1203 0051 00        		.byte	0
 1204 0052 BA        		.byte	-70
 1205 0053 52        		.byte	82
 1206 0054 02        		.byte	2
 1207 0055 00        		.byte	0
 1208 0056 FA        		.byte	-6
 1209 0057 71        		.byte	113
 1210 0058 02        		.byte	2
 1211 0059 00        		.byte	0
 1212 005a 3A        		.byte	58
 1213 005b 91        		.byte	-111
 1214 005c 02        		.byte	2
 1215 005d 00        		.byte	0
 1216 005e 7A        		.byte	122
 1217 005f B0        		.byte	-80
 1218 0060 02        		.byte	2
 1219 0061 00        		.byte	0
 1220 0062 BA        		.byte	-70
 1221 0063 CF        		.byte	-49
 1222 0064 02        		.byte	2
 1223 0065 00        		.byte	0
 1224 0066 FA        		.byte	-6
 1225 0067 EE        		.byte	-18
 1226 0068 02        		.byte	2
 1227 0069 00        		.byte	0
 1228 006a 3A        		.byte	58
 1229 006b 0E        		.byte	14
 1230 006c 03        		.byte	3
 1231 006d 00        		.byte	0
 1232 006e 7A        		.byte	122
 1233 006f 2D        		.byte	45
 1234 0070 03        		.byte	3
 1235 0071 00        		.byte	0
 1236 0072 BA        		.byte	-70
 1237 0073 4C        		.byte	76
 1238 0074 03        		.byte	3
 1239 0075 00        		.byte	0
 1240 0076 FA        		.byte	-6
 1241 0077 6B        		.byte	107
 1242 0078 03        		.byte	3

⌨️ 快捷键说明

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