📄 main.lst
字号:
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 + -