📄 ds18x20.lst
字号:
862 044c 082F mov r16,r24
863 044e 162F mov r17,r22
864 .LM99:
865 0450 7E01 movw r14,r28
866 0452 0894 sec
867 0454 E11C adc r14,__zero_reg__
868 0456 F11C adc r15,__zero_reg__
869 0458 88E0 ldi r24,lo8(8)
870 045a E0E0 ldi r30,lo8(.LC1)
871 045c F0E0 ldi r31,hi8(.LC1)
872 045e D701 movw r26,r14
873 0460 0190 ld __tmp_reg__,Z+
874 0462 0D92 st X+,__tmp_reg__
875 0464 8A95 dec r24
876 0466 E1F7 brne .-8
877 .LM100:
878 0468 242F mov r18,r20
879 046a 3327 clr r19
880 046c 81E7 ldi r24,lo8(625)
881 046e 92E0 ldi r25,hi8(625)
882 0470 289F mul r18,r24
883 0472 B001 movw r22,r0
884 0474 299F mul r18,r25
885 0476 700D add r23,r0
886 0478 389F mul r19,r24
887 047a 700D add r23,r0
888 047c 1124 clr r1
889 047e CB01 movw r24,r22
890 0480 68EE ldi r22,lo8(1000)
891 0482 73E0 ldi r23,hi8(1000)
892 0484 0E94 0000 call __divmodhi4
893 .LM101:
894 0488 8AE0 ldi r24,lo8(10)
895 048a 189F mul r17,r24
896 048c C001 movw r24,r0
897 048e 1124 clr r1
898 0490 680F add r22,r24
899 0492 791F adc r23,r25
900 .LM102:
901 0494 0023 tst r16
902 0496 59F4 brne .L80
903 .LM103:
904 0498 902F mov r25,r16
905 049a F701 movw r30,r14
906 .L85:
907 .LM104:
908 049c 8191 ld r24,Z+
909 049e 4817 cp r20,r24
910 04a0 19F4 brne .L83
911 .LM105:
912 04a2 6F5F subi r22,lo8(-(1))
913 04a4 7F4F sbci r23,hi8(-(1))
914 .LM106:
915 04a6 03C0 rjmp .L80
916 .L83:
917 .LM107:
918 04a8 9F5F subi r25,lo8(-(1))
919 04aa 9830 cpi r25,lo8(8)
920 04ac B8F3 brlo .L85
921 .L80:
922 .LM108:
923 04ae CB01 movw r24,r22
924 /* epilogue: frame size=8 */
925 04b0 2896 adiw r28,8
926 04b2 0FB6 in __tmp_reg__,__SREG__
927 04b4 F894 cli
928 04b6 DEBF out __SP_H__,r29
929 04b8 0FBE out __SREG__,__tmp_reg__
930 04ba CDBF out __SP_L__,r28
931 04bc DF91 pop r29
932 04be CF91 pop r28
933 04c0 1F91 pop r17
934 04c2 0F91 pop r16
935 04c4 FF90 pop r15
936 04c6 EF90 pop r14
937 04c8 0895 ret
938 /* epilogue end (size=13) */
939 /* function DS18X20_temp_to_decicel size 77 (50) */
940 .LFE10:
942 .global DS18X20_temp_cmp
944 DS18X20_temp_cmp:
945 .LFB11:
946 .LM109:
947 /* prologue: frame size=0 */
948 /* prologue end (size=0) */
949 04ca 8823 tst r24
950 04cc 19F0 breq .L88
951 .LM110:
952 04ce 7095 com r23
953 04d0 6195 neg r22
954 04d2 7F4F sbci r23,lo8(-1)
955 .L88:
956 .LM111:
957 04d4 4423 tst r20
958 04d6 19F0 breq .L89
959 04d8 3095 com r19
960 04da 2195 neg r18
961 04dc 3F4F sbci r19,lo8(-1)
962 .L89:
963 .LM112:
964 04de 6217 cp r22,r18
965 04e0 7307 cpc r23,r19
966 04e2 1CF4 brge .L90
967 04e4 8FEF ldi r24,lo8(-1)
968 04e6 9FEF ldi r25,hi8(-1)
969 04e8 0895 ret
970 .L90:
971 .LM113:
972 04ea 2617 cp r18,r22
973 04ec 3707 cpc r19,r23
974 04ee 1CF4 brge .L91
975 04f0 81E0 ldi r24,lo8(1)
976 04f2 90E0 ldi r25,hi8(1)
977 04f4 0895 ret
978 .L91:
979 .LM114:
980 04f6 80E0 ldi r24,lo8(0)
981 04f8 90E0 ldi r25,hi8(0)
982 .LM115:
983 04fa 0895 ret
984 /* epilogue: frame size=0 */
985 04fc 0895 ret
986 /* epilogue end (size=1) */
987 /* function DS18X20_temp_cmp size 26 (25) */
988 .LFE11:
990 .global DS18X20_find_sensor
992 DS18X20_find_sensor:
993 .LFB12:
994 .LM116:
995 /* prologue: frame size=0 */
996 04fe 0F93 push r16
997 0500 1F93 push r17
998 0502 CF93 push r28
999 0504 DF93 push r29
1000 /* prologue end (size=4) */
1001 0506 8C01 movw r16,r24
1002 0508 EB01 movw r28,r22
1003 .L93:
1004 .LM117:
1005 050a BE01 movw r22,r28
1006 050c F801 movw r30,r16
1007 050e 8081 ld r24,Z
1008 0510 0E94 0000 call ow_rom_search
1009 0514 982F mov r25,r24
1010 0516 F801 movw r30,r16
1011 0518 8083 st Z,r24
1012 .LM118:
1013 051a 8E5F subi r24,lo8(-(2))
1014 051c 8230 cpi r24,lo8(2)
1015 051e 38F0 brlo .L92
1016 0520 9923 tst r25
1017 0522 29F0 breq .L92
1018 .LM119:
1019 0524 8881 ld r24,Y
1020 0526 8832 cpi r24,lo8(40)
1021 0528 11F0 breq .L92
1022 052a 8031 cpi r24,lo8(16)
1023 052c 71F7 brne .L93
1024 .L92:
1025 /* epilogue: frame size=0 */
1026 052e DF91 pop r29
1027 0530 CF91 pop r28
1028 0532 1F91 pop r17
1029 0534 0F91 pop r16
1030 0536 0895 ret
1031 /* epilogue end (size=5) */
1032 /* function DS18X20_find_sensor size 29 (20) */
1033 .LFE12:
1035 .global DS18X20_get_power_status
1037 DS18X20_get_power_status:
1038 .LFB13:
1039 .LM120:
1040 /* prologue: frame size=0 */
1041 0538 0F93 push r16
1042 053a 1F93 push r17
1043 /* prologue end (size=2) */
1044 053c 8C01 movw r16,r24
1045 .LM121:
1046 053e 0E94 0000 call ow_reset
1047 .LM122:
1048 0542 B801 movw r22,r16
1049 0544 84EB ldi r24,lo8(-76)
1050 0546 0E94 0000 call ow_command
1051 .LM123:
1052 054a 81E0 ldi r24,lo8(1)
1053 054c 0E94 0000 call ow_bit_io
1054 0550 182F mov r17,r24
1055 .LM124:
1056 0552 0E94 0000 call ow_reset
1057 .LM125:
1058 0556 80E0 ldi r24,lo8(0)
1059 0558 90E0 ldi r25,hi8(0)
1060 055a 1123 tst r17
1061 055c 11F0 breq .L100
1062 .LM126:
1063 055e 81E0 ldi r24,lo8(1)
1064 0560 90E0 ldi r25,hi8(1)
1065 .L100:
1066 /* epilogue: frame size=0 */
1067 0562 1F91 pop r17
1068 0564 0F91 pop r16
1069 0566 0895 ret
1070 /* epilogue end (size=3) */
1071 /* function DS18X20_get_power_status size 24 (19) */
1072 .LFE13:
1074 .section .progmem.data
1077 c.4:
1078 00af 4453 3138 .string "DS18X20_start_meas: Short Circuit !\r"
1078 5832 305F
1078 7374 6172
1078 745F 6D65
1078 6173 3A20
1079 .text
1080 .global DS18X20_start_meas
1082 DS18X20_start_meas:
1083 .LFB14:
1084 .LM127:
1085 /* prologue: frame size=0 */
1086 0568 1F93 push r17
1087 056a CF93 push r28
1088 056c DF93 push r29
1089 /* prologue end (size=3) */
1090 056e 182F mov r17,r24
1091 0570 EB01 movw r28,r22
1092 0572 0E94 0000 call ow_reset
1093 .LM128:
1094 0576 0E94 0000 call ow_input_pin_state
1095 057a 8823 tst r24
1096 057c 59F0 breq .L102
1097 .LM129:
1098 057e BE01 movw r22,r28
1099 0580 84E4 ldi r24,lo8(68)
1100 0582 0E94 0000 call ow_command
1101 .LM130:
1102 0586 1130 cpi r17,lo8(1)
1103 0588 11F0 breq .L103
1104 .LM131:
1105 058a 0E94 0000 call ow_parasite_enable
1106 .L103:
1107 .LM132:
1108 058e 80E0 ldi r24,lo8(0)
1109 0590 90E0 ldi r25,hi8(0)
1110 0592 06C0 rjmp .L101
1111 .L102:
1112 .LM133:
1113 0594 80E0 ldi r24,lo8(c.4)
1114 0596 90E0 ldi r25,hi8(c.4)
1115 0598 0E94 0000 call uart_puts_p
1116 .LM134:
1117 059c 82E0 ldi r24,lo8(2)
1118 059e 90E0 ldi r25,hi8(2)
1119 .L101:
1120 /* epilogue: frame size=0 */
1121 05a0 DF91 pop r29
1122 05a2 CF91 pop r28
1123 05a4 1F91 pop r17
1124 05a6 0895 ret
1125 /* epilogue end (size=4) */
1126 /* function DS18X20_start_meas size 32 (25) */
1127 .LFE14:
1129 .global DS18X20_read_meas
1131 DS18X20_read_meas:
1132 .LFB15:
1133 .LM135:
1134 /* prologue: frame size=9 */
1135 05a8 2F92 push r2
1136 05aa 3F92 push r3
1137 05ac 4F92 push r4
1138 05ae 5F92 push r5
1139 05b0 6F92 push r6
1140 05b2 7F92 push r7
1141 05b4 8F92 push r8
1142 05b6 9F92 push r9
1143 05b8 BF92 push r11
1144 05ba CF92 push r12
1145 05bc DF92 push r13
1146 05be EF92 push r14
1147 05c0 FF92 push r15
1148 05c2 0F93 push r16
1149 05c4 1F93 push r17
1150 05c6 CF93 push r28
1151 05c8 DF93 push r29
1152 05ca CDB7 in r28,__SP_L__
1153 05cc DEB7 in r29,__SP_H__
1154 05ce 2997 sbiw r28,9
1155 05d0 0FB6 in __tmp_reg__,__SREG__
1156 05d2 F894 cli
1157 05d4 DEBF out __SP_H__,r29
1158 05d6 0FBE out __SREG__,__tmp_reg__
1159 05d8 CDBF out __SP_L__,r28
1160 /* prologue end (size=25) */
1161 05da 4C01 movw r8,r24
1162 05dc 1B01 movw r2,r22
1163 05de 2A01 movw r4,r20
1164 05e0 3901 movw r6,r18
1165 .LM136:
1166 05e2 0E94 0000 call ow_reset
1167 .LM137:
1168 05e6 B401 movw r22,r8
1169 05e8 8EEB ldi r24,lo8(-66)
1170 05ea 0E94 0000 call ow_command
1171 05ee EE24 clr r14
1172 05f0 FF24 clr r15
1173 05f2 18E0 ldi r17,lo8(8)
1174 05f4 B12E mov r11,r17
1175 .L109:
1176 .LM138:
1177 05f6 6E01 movw r12,r28
1178 05f8 0894 sec
1179 05fa C11C adc r12,__zero_reg__
1180 05fc D11C adc r13,__zero_reg__
1181 05fe 8701 movw r16,r14
1182 0600 0C0D add r16,r12
1183 0602 1D1D adc r17,r13
1184 0604 0E94 0000 call ow_byte_rd
1185 0608 F801 movw r30,r16
1186 060a 8083 st Z,r24
1187 060c BA94 dec r11
1188 060e 0894 sec
1189 0610 E11C adc r14,__zero_reg__
1190 0612 F11C adc r15,__zero_reg__
1191 0614 B7FE sbrs r11,7
1192 0616 EFCF rjmp .L109
1193 .LM139:
1194 0618 69E0 ldi r22,lo8(9)
1195 061a 70E0 ldi r23,hi8(9)
1196 061c C601 movw r24,r12
1197 061e 0E94 0000 call crc8
1198 0622 8823 tst r24
1199 0624 19F0 breq .L110
1200 .LM140:
1201 0626 83E0 ldi r24,lo8(3)
1202 0628 90E0 ldi r25,hi8(3)
1203 062a 0AC0 rjmp .L105
1204 .L110:
1205 .LM141:
1206 062c 8301 movw r16,r6
1207 062e 9201 movw r18,r4
1208 0630 A101 movw r20,r2
1209 0632 B601 movw r22,r12
1210 0634 F401 movw r30,r8
1211 0636 8081 ld r24,Z
1212 0638 0E94 0000 call DS18X20_meas_to_cel
1213 .LM142:
1214 063c 80E0 ldi r24,lo8(0)
1215 063e 90E0 ldi r25,hi8(0)
1216 .L105:
1217 /* epilogue: frame size=9 */
1218 0640 2996 adiw r28,9
1219 0642 0FB6 in __tmp_reg__,__SREG__
1220 0644 F894 cli
1221 0646 DEBF out __SP_H__,r29
1222 0648 0FBE out __SREG__,__tmp_reg__
1223 064a CDBF out __SP_L__,r28
1224 064c DF91 pop r29
1225 064e CF91 pop r28
1226 0650 1F91 pop r17
1227 0652 0F91 pop r16
1228 0654 FF90 pop r15
1229 0656 EF90 pop r14
1230 0658 DF90 pop r13
1231 065a CF90 pop r12
1232 065c BF90 pop r11
1233 065e 9F90 pop r9
1234 0660 8F90 pop r8
1235 0662 7F90 pop r7
1236 0664 6F90 pop r6
1237 0666 5F90 pop r5
1238 0668 4F90 pop r4
1239 066a 3F90 pop r3
1240 066c 2F90 pop r2
1241 066e 0895 ret
1242 /* epilogue end (size=24) */
1243 /* function DS18X20_read_meas size 100 (51) */
1244 .LFE15:
1246 .global DS18X20_read_meas_single
1248 DS18X20_read_meas_single:
1249 .LFB16:
1250 .LM143:
1251 /* prologue: frame size=9 */
1252 0670 4F92 push r4
1253 0672 5F92 push r5
1254 0674 6F92 push r6
1255 0676 7F92 push r7
1256 0678 8F92 push r8
1257 067a 9F92 push r9
1258 067c AF92 push r10
1259 067e BF92 push r11
1260 0680 CF92 push r12
1261 0682 DF92 push r13
1262 0684 EF92 push r14
1263 0686 FF92 push r15
1264 0688 0F93 push r16
1265 068a 1F93 push r17
1266 068c CF93 push r28
1267 068e DF93 push r29
1268 0690 CDB7 in r28,__SP_L__
1269 0692 DEB7 in r29,__SP_H__
1270 0694 2997 sbiw r28,9
1271 0696 0FB6 in __tmp_reg__,__SREG__
1272 0698 F894 cli
1273 069a DEBF out __SP_H__,r29
1274 069c 0FBE out __SREG__,__tmp_reg__
1275 069e CDBF out __SP_L__,r28
1276 /* prologue end (size=24) */
1277 06a0 A82E mov r10,r24
1278 06a2 2B01 movw r4,r22
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -