📄 main.lst
字号:
969 .LM110:
970 0292 8CEC ldi r24,lo8(-52)
971 0294 0E94 0000 call wr_ds
81:./ds18b20A.c **** wr_ds(0xbe); //read data
973 .LM111:
974 0298 8EEB ldi r24,lo8(-66)
975 029a 0E94 0000 call wr_ds
82:./ds18b20A.c **** ret =(uint)rd_ds(); //low 8bit
977 .LM112:
978 029e 0E94 0000 call rd_ds
979 02a2 C82F mov r28,r24
980 02a4 DD27 clr r29
83:./ds18b20A.c **** ret+=(uint)(rd_ds())<<8;
982 .LM113:
983 02a6 0E94 0000 call rd_ds
984 02aa 9927 clr r25
985 02ac 982F mov r25,r24
986 02ae 8827 clr r24
987 02b0 C80F add r28,r24
988 02b2 D91F adc r29,r25
989 .L192:
84:./ds18b20A.c **** }
85:./ds18b20A.c ****
86:./ds18b20A.c **** return(ret);
87:./ds18b20A.c **** }///
991 .LM114:
992 02b4 CE01 movw r24,r28
993 /* epilogue: frame size=0 */
994 02b6 DF91 pop r29
995 02b8 CF91 pop r28
996 02ba 0895 ret
997 /* epilogue end (size=3) */
998 /* function r_ds size 29 (24) */
1003 .Lscope14:
1005 .global s_ini
1007 s_ini:
1009 .Ltext21:
1:main.c **** #include <avr/io.h>
2:main.c **** #include <avr/interrupt.h>
3:main.c **** #include <avr/signal.h>
4:main.c **** #include <avr/eeprom.h>
5:main.c **** #include <avr/pgmspace.h>
6:main.c **** #include <avr/delay.h>
7:main.c **** #include <LCD1602.c>
8:main.c **** #include <ds18b20A.c>
9:main.c ****
10:main.c **** #define uchar unsigned char
11:main.c **** #define uint unsigned int
12:main.c **** #define ulong unsigned long
13:main.c ****
14:main.c ****
15:main.c ****
16:main.c **** void s_ini(void)
17:main.c **** {DDRA=0xff;
1011 .LM115:
1012 /* prologue: frame size=0 */
1013 /* prologue end (size=0) */
1014 02bc 8FEF ldi r24,lo8(-1)
1015 02be 8ABB out 58-0x20,r24
18:main.c **** DDRB=0xff;
1017 .LM116:
1018 02c0 87BB out 55-0x20,r24
19:main.c **** ini_ds();
1020 .LM117:
1021 02c2 0E94 0000 call ini_ds
1022 /* epilogue: frame size=0 */
1023 02c6 0895 ret
1024 /* epilogue end (size=1) */
1025 /* function s_ini size 6 (5) */
1027 .Lscope15:
1030 .global dyy
1032 dyy:
20:main.c **** }
21:main.c ****
22:main.c **** void dyy(uint t)
23:main.c **** {while(t--)
1034 .LM118:
1035 /* prologue: frame size=0 */
1036 /* prologue end (size=0) */
1038 .Ltext22:
1040 .LM119:
1041 02c8 9C01 movw r18,r24
1042 .L201:
1044 .LM120:
1045 02ca 2150 subi r18,lo8(-(-1))
1046 02cc 3040 sbci r19,hi8(-(-1))
1047 02ce 8FEF ldi r24,hi8(-1)
1048 02d0 2F3F cpi r18,lo8(-1)
1049 02d2 3807 cpc r19,r24
1050 02d4 29F0 breq .L200
1051 .LBB20:
1053 .LM121:
1054 02d6 83E3 ldi r24,lo8(1843)
1055 02d8 97E0 ldi r25,hi8(1843)
1056 .LBB21:
1058 .LM122:
1059 /* #APP */
1060 02da 0197 1: sbiw r24,1
1061 02dc F1F7 brne 1b
1062 /* #NOAPP */
1063 02de F5CF rjmp .L201
1064 .L200:
1065 02e0 0895 ret
1066 .LBE21:
1067 .LBE20:
1068 /* epilogue: frame size=0 */
1069 /* epilogue: noreturn */
1070 /* epilogue end (size=0) */
1071 /* function dyy size 15 (15) */
1076 .Lscope16:
1077 .data
1078 .LC0:
1079 0000 6973 3A20 .string "is: ."
1079 2020 202E
1079 00
1080 .LC1:
1081 0009 5468 6520 .string "The temperature"
1081 7465 6D70
1081 6572 6174
1081 7572 6500
1082 .text
1084 .global main
1086 main:
1088 .Ltext23:
24:main.c **** dy(1000);
25:main.c **** }
26:main.c ****
27:main.c **** int main(void)
28:main.c **** {uint u;
1090 .LM123:
1091 /* prologue: frame size=0 */
1092 02e2 C0E0 ldi r28,lo8(__stack - 0)
1093 02e4 D0E0 ldi r29,hi8(__stack - 0)
1094 02e6 DEBF out __SP_H__,r29
1095 02e8 CDBF out __SP_L__,r28
1096 /* prologue end (size=4) */
29:main.c **** uint c1;
30:main.c **** uint c0;
31:main.c **** uchar c2;
32:main.c **** u=0;
33:main.c **** s_ini();
1098 .LM124:
1099 02ea 0E94 0000 call s_ini
34:main.c **** wsc("The temperature","is: .");
1101 .LM125:
1102 02ee 60E0 ldi r22,lo8(.LC0)
1103 02f0 70E0 ldi r23,hi8(.LC0)
1104 02f2 80E0 ldi r24,lo8(.LC1)
1105 02f4 90E0 ldi r25,hi8(.LC1)
1106 02f6 0E94 0000 call wsc
1107 .L203:
35:main.c **** while(1)
36:main.c **** {s_ds();
1109 .LM126:
1110 02fa 0E94 0000 call s_ds
37:main.c **** dyy(1000);
1112 .LM127:
1113 02fe 88EE ldi r24,lo8(1000)
1114 0300 93E0 ldi r25,hi8(1000)
1115 0302 0E94 0000 call dyy
38:main.c ****
39:main.c **** u=r_ds();
1117 .LM128:
1118 0306 0E94 0000 call r_ds
40:main.c **** //u=0x0191;
41:main.c **** c1=u/16;
1120 .LM129:
1121 030a 8C01 movw r16,r24
1122 030c 44E0 ldi r20,4
1123 030e 1695 1: lsr r17
1124 0310 0795 ror r16
1125 0312 4A95 dec r20
1126 0314 E1F7 brne 1b
42:main.c **** c0=u%16;
1128 .LM130:
1129 0316 3FE0 ldi r19,lo8(15)
1130 0318 E32E mov r14,r19
1131 031a F12C mov r15,__zero_reg__
1132 031c E822 and r14,r24
1133 031e F922 and r15,r25
43:main.c **** go(4,1);
1135 .LM131:
1136 0320 61E0 ldi r22,lo8(1)
1137 0322 84E0 ldi r24,lo8(4)
1138 0324 0E94 0000 call go
44:main.c **** wn(c1/100);
1140 .LM132:
1141 0328 C801 movw r24,r16
1142 032a 64E6 ldi r22,lo8(100)
1143 032c 70E0 ldi r23,hi8(100)
1144 032e 0E94 0000 call __udivmodhi4
1145 0332 CB01 movw r24,r22
1146 0334 0E94 0000 call wn
45:main.c **** wn((c1%100)/10);
1148 .LM133:
1149 0338 C801 movw r24,r16
1150 033a 64E6 ldi r22,lo8(100)
1151 033c 70E0 ldi r23,hi8(100)
1152 033e 0E94 0000 call __udivmodhi4
1153 0342 6AE0 ldi r22,lo8(10)
1154 0344 70E0 ldi r23,hi8(10)
1155 0346 0E94 0000 call __udivmodhi4
1156 034a CB01 movw r24,r22
1157 034c 0E94 0000 call wn
46:main.c **** wn(c1%10);
1159 .LM134:
1160 0350 C801 movw r24,r16
1161 0352 6AE0 ldi r22,lo8(10)
1162 0354 70E0 ldi r23,hi8(10)
1163 0356 0E94 0000 call __udivmodhi4
1164 035a 0E94 0000 call wn
47:main.c **** go(8,1);
1166 .LM135:
1167 035e 61E0 ldi r22,lo8(1)
1168 0360 88E0 ldi r24,lo8(8)
1169 0362 0E94 0000 call go
48:main.c **** c0*=625;
1171 .LM136:
1172 0366 81E7 ldi r24,lo8(625)
1173 0368 92E0 ldi r25,hi8(625)
1174 036a E89E mul r14,r24
1175 036c 8001 movw r16,r0
1176 036e E99E mul r14,r25
1177 0370 100D add r17,r0
1178 0372 F89E mul r15,r24
1179 0374 100D add r17,r0
1180 0376 1124 clr r1
49:main.c **** wn(c0/1000);
1182 .LM137:
1183 0378 C801 movw r24,r16
1184 037a 68EE ldi r22,lo8(1000)
1185 037c 73E0 ldi r23,hi8(1000)
1186 037e 0E94 0000 call __udivmodhi4
1187 0382 CB01 movw r24,r22
1188 0384 0E94 0000 call wn
50:main.c **** wn((c0%1000)/100);
1190 .LM138:
1191 0388 C801 movw r24,r16
1192 038a 68EE ldi r22,lo8(1000)
1193 038c 73E0 ldi r23,hi8(1000)
1194 038e 0E94 0000 call __udivmodhi4
1195 0392 64E6 ldi r22,lo8(100)
1196 0394 70E0 ldi r23,hi8(100)
1197 0396 0E94 0000 call __udivmodhi4
1198 039a CB01 movw r24,r22
1199 039c 0E94 0000 call wn
51:main.c **** wn((c0%100)/10);
1201 .LM139:
1202 03a0 C801 movw r24,r16
1203 03a2 64E6 ldi r22,lo8(100)
1204 03a4 70E0 ldi r23,hi8(100)
1205 03a6 0E94 0000 call __udivmodhi4
1206 03aa 6AE0 ldi r22,lo8(10)
1207 03ac 70E0 ldi r23,hi8(10)
1208 03ae 0E94 0000 call __udivmodhi4
1209 03b2 CB01 movw r24,r22
1210 03b4 0E94 0000 call wn
52:main.c **** wn(c0%10);
1212 .LM140:
1213 03b8 C801 movw r24,r16
1214 03ba 6AE0 ldi r22,lo8(10)
1215 03bc 70E0 ldi r23,hi8(10)
1216 03be 0E94 0000 call __udivmodhi4
1217 03c2 0E94 0000 call wn
53:main.c **** c2++;
1219 .LM141:
1220 03c6 CF5F subi r28,lo8(-(1))
54:main.c **** if(c2>=10) c2=0;
1222 .LM142:
1223 03c8 CA30 cpi r28,lo8(10)
1224 03ca 08F0 brlo .L205
1225 03cc C0E0 ldi r28,lo8(0)
1226 .L205:
55:main.c **** go(15,1);
1228 .LM143:
1229 03ce 61E0 ldi r22,lo8(1)
1230 03d0 8FE0 ldi r24,lo8(15)
1231 03d2 0E94 0000 call go
56:main.c **** wn(c2);
1233 .LM144:
1234 03d6 8C2F mov r24,r28
1235 03d8 0E94 0000 call wn
1236 03dc 8ECF rjmp .L203
1237 /* epilogue: frame size=0 */
1238 /* epilogue: noreturn */
1239 /* epilogue end (size=0) */
1240 /* function main size 126 (122) */
1248 .Lscope17:
1249 .text
1251 Letext:
1252 /* File "main.c": code 522 = 0x020a ( 481), prologues 16, epilogues 25 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:95 .text:00000000 delay
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:138 .text:00000022 busy
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:175 .text:0000003e w_lcd
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:222 .text:00000062 ww
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:272 .text:00000096 wn
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:291 .text:000000a0 go
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:328 .text:000000b8 ini
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:381 .text:000000fa set
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:458 .text:0000014c wsc
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:556 .text:000001c8 ini_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:576 .text:000001ce rt_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:690 .text:000001fe wr_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:808 .text:00000236 rd_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:927 .text:0000026c s_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:954 .text:00000282 r_ds
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:1007 .text:000002bc s_ini
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:1032 .text:000002c8 dyy
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:1086 .text:000002e2 main
C:\DOCUME~1\boat\LOCALS~1\Temp/ccS8aaaa.s:1251 .text:000003de Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
__udivmodhi4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -