📄 fun.lst
字号:
228:fun.c **** }
229:fun.c ****
230:fun.c **** void OSH_MAKE_SPI_SCK_INPUT(void)
231:fun.c **** {
881 .LM68:
882 /* prologue: frame size=0 */
883 /* prologue end (size=0) */
232:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 1);
885 .LM69:
886 00d6 B998 cbi 55-0x20,1
887 /* epilogue: frame size=0 */
888 00d8 0895 ret
889 /* epilogue end (size=1) */
890 /* function OSH_MAKE_SPI_SCK_INPUT size 2 (1) */
893 .global OSH_CLR_CC_PALE_PIN
895 OSH_CLR_CC_PALE_PIN:
233:fun.c **** }
234:fun.c ****
235:fun.c **** void OSH_CLR_CC_PALE_PIN(void)
236:fun.c **** {
897 .LM70:
898 /* prologue: frame size=0 */
899 /* prologue end (size=0) */
237:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 4);
901 .LM71:
902 00da 9498 cbi 50-0x20,4
903 /* epilogue: frame size=0 */
904 00dc 0895 ret
905 /* epilogue end (size=1) */
906 /* function OSH_CLR_CC_PALE_PIN size 2 (1) */
909 .global OSH_CLR_CC_PDATA_PIN
911 OSH_CLR_CC_PDATA_PIN:
238:fun.c **** }
239:fun.c ****
240:fun.c **** void OSH_CLR_CC_PDATA_PIN(void)
241:fun.c **** {
913 .LM72:
914 /* prologue: frame size=0 */
915 /* prologue end (size=0) */
242:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 7);
917 .LM73:
918 00de 9798 cbi 50-0x20,7
919 /* epilogue: frame size=0 */
920 00e0 0895 ret
921 /* epilogue end (size=1) */
922 /* function OSH_CLR_CC_PDATA_PIN size 2 (1) */
925 .global OSH_CLR_CC_PCLK_PIN
927 OSH_CLR_CC_PCLK_PIN:
243:fun.c **** }
244:fun.c ****
245:fun.c **** void OSH_CLR_CC_PCLK_PIN(void)
246:fun.c **** {
929 .LM74:
930 /* prologue: frame size=0 */
931 /* prologue end (size=0) */
247:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 6);
933 .LM75:
934 00e2 9698 cbi 50-0x20,6
935 /* epilogue: frame size=0 */
936 00e4 0895 ret
937 /* epilogue end (size=1) */
938 /* function OSH_CLR_CC_PCLK_PIN size 2 (1) */
941 .global OSH_MAKE_CC_PDATA_INPUT
943 OSH_MAKE_CC_PDATA_INPUT:
248:fun.c **** }
249:fun.c ****
250:fun.c **** void OSH_MAKE_CC_PDATA_INPUT(void)
251:fun.c **** {
945 .LM76:
946 /* prologue: frame size=0 */
947 /* prologue end (size=0) */
252:fun.c **** * (volatile unsigned char *)(0x11 + 0x20) &= ~(1 << 7);
949 .LM77:
950 00e6 8F98 cbi 49-0x20,7
951 /* epilogue: frame size=0 */
952 00e8 0895 ret
953 /* epilogue end (size=1) */
954 /* function OSH_MAKE_CC_PDATA_INPUT size 2 (1) */
957 .global OSH_READ_CC_PDATA_PIN
959 OSH_READ_CC_PDATA_PIN:
253:fun.c **** }
254:fun.c ****
255:fun.c **** int OSH_READ_CC_PDATA_PIN(void)
256:fun.c **** {
961 .LM78:
962 /* prologue: frame size=0 */
963 /* prologue end (size=0) */
257:fun.c **** return (* (volatile unsigned char *)(0x10 + 0x20) & (1 << 7)) != 0;
965 .LM79:
966 00ea 80E0 ldi r24,lo8(0)
967 00ec 90E0 ldi r25,hi8(0)
968 00ee 879B sbis 48-0x20,7
969 00f0 02C0 rjmp .L38
971 .LM80:
972 00f2 81E0 ldi r24,lo8(1)
973 00f4 90E0 ldi r25,hi8(1)
974 .L38:
258:fun.c **** }
976 .LM81:
977 00f6 0895 ret
978 /* epilogue: frame size=0 */
979 00f8 0895 ret
980 /* epilogue end (size=1) */
981 /* function OSH_READ_CC_PDATA_PIN size 8 (7) */
984 .global GetPowerLevel
986 GetPowerLevel:
259:fun.c ****
260:fun.c **** uint8_t GetPowerLevel(void)
261:fun.c **** {
988 .LM82:
989 /* prologue: frame size=0 */
990 /* prologue end (size=0) */
262:fun.c **** uint8_t diff;
263:fun.c ****
264:fun.c **** if (* (volatile unsigned char *)(0x37 + 0x20) & ~((1 << 1) | (1 << 0))) {
992 .LM83:
993 00fa 87B7 in r24,87-0x20
994 00fc 9927 clr r25
995 00fe 8C7F andi r24,lo8(-4)
996 0100 0097 sbiw r24,0
997 0102 19F0 breq .L40
265:fun.c ****
266:fun.c **** return HPLPowerManagementM_IDLE;
999 .LM84:
1000 0104 80E0 ldi r24,lo8(0)
1001 0106 90E0 ldi r25,hi8(0)
1002 0108 0895 ret
1003 .L40:
267:fun.c **** }
268:fun.c **** else {
269:fun.c **** if (* (volatile unsigned char *)(0x0D + 0x20) & (1 << 7)) {
1005 .LM85:
1006 010a 6F99 sbic 45-0x20,7
1007 010c 18C0 rjmp .L39
270:fun.c **** return HPLPowerManagementM_IDLE;
271:fun.c **** }
272:fun.c **** else {
273:fun.c **** if (* (volatile unsigned char *)(0x06 + 0x20) & (1 << 7)) {
1009 .LM86:
1010 010e 379B sbis 38-0x20,7
1011 0110 03C0 rjmp .L44
274:fun.c **** return HPLPowerManagementM_ADC_NR;
1013 .LM87:
1014 0112 88E0 ldi r24,lo8(8)
1015 0114 90E0 ldi r25,hi8(8)
1016 0116 0895 ret
1017 .L44:
275:fun.c **** }
276:fun.c **** else {
277:fun.c **** if (* (volatile unsigned char *)(0x37 + 0x20) & ((1 << 1) | (1 << 0))) {
1019 .LM88:
1020 0118 87B7 in r24,87-0x20
1021 011a 9927 clr r25
1022 011c 8370 andi r24,lo8(3)
1023 011e 9070 andi r25,hi8(3)
1024 0120 892B or r24,r25
1025 0122 59F0 breq .L46
278:fun.c **** diff = * (volatile unsigned char *)(0x31 + 0x20) - * (volatile unsigned char *)(0x32 + 0x20);
1027 .LM89:
1028 0124 81B7 in r24,81-0x20
1029 0126 92B7 in r25,82-0x20
1030 0128 891B sub r24,r25
279:fun.c **** if (diff < 16) {
1032 .LM90:
1033 012a 8031 cpi r24,lo8(16)
1034 012c 18F4 brsh .L47
280:fun.c **** return HPLPowerManagementM_EXT_STANDBY;
1036 .LM91:
1037 012e 8CE1 ldi r24,lo8(28)
1038 0130 90E0 ldi r25,hi8(28)
1039 0132 0895 ret
1040 .L47:
281:fun.c **** }
282:fun.c **** return HPLPowerManagementM_POWER_SAVE;
1042 .LM92:
1043 0134 88E1 ldi r24,lo8(24)
1044 0136 90E0 ldi r25,hi8(24)
1045 0138 0895 ret
1046 .L46:
283:fun.c **** }
284:fun.c **** else
285:fun.c **** {
286:fun.c **** return HPLPowerManagementM_POWER_DOWN;
1048 .LM93:
1049 013a 80E1 ldi r24,lo8(16)
1050 013c 90E0 ldi r25,hi8(16)
1051 .L39:
287:fun.c **** }
288:fun.c **** }
289:fun.c **** }
290:fun.c **** }
291:fun.c **** }
1053 .LM94:
1054 013e 0895 ret
1055 /* epilogue: frame size=0 */
1056 0140 0895 ret
1057 /* epilogue end (size=1) */
1058 /* function GetPowerLevel size 37 (36) */
1061 .global PowerAdjustment
1063 PowerAdjustment:
292:fun.c ****
293:fun.c **** void PowerAdjustment(void)
294:fun.c **** {
1065 .LM95:
1066 /* prologue: frame size=0 */
1067 /* prologue end (size=0) */
295:fun.c **** uint8_t foo;
296:fun.c **** uint8_t mcu;
297:fun.c ****
298:fun.c **** foo = GetPowerLevel();
1069 .LM96:
1070 0142 0E94 0000 call GetPowerLevel
1071 0146 382F mov r19,r24
299:fun.c **** mcu = * (volatile unsigned char *)(0x35 + 0x20);
1073 .LM97:
1074 0148 25B7 in r18,85-0x20
300:fun.c **** mcu &= 0xe3;
1076 .LM98:
1077 014a 237E andi r18,lo8(-29)
301:fun.c **** if (foo == HPLPowerManagementM_EXT_STANDBY || foo == HPLPowerManagementM_POWER_SAVE) {
1079 .LM99:
1080 014c 8C31 cpi r24,lo8(28)
1081 014e 11F0 breq .L51
1083 .LM100:
1084 0150 8831 cpi r24,lo8(24)
1085 0152 49F4 brne .L50
1086 .L51:
302:fun.c **** mcu |= HPLPowerManagementM_IDLE;
303:fun.c **** while ((* (volatile unsigned char *)(0x30 + 0x20) & 0x7) != 0) {
304:fun.c **** asm volatile ("nop");}
1088 .LM101:
1089 0154 80B7 in r24,80-0x20
1090 0156 9927 clr r25
1091 0158 8770 andi r24,lo8(7)
1092 015a 9070 andi r25,hi8(7)
1093 015c 892B or r24,r25
1094 015e 11F0 breq .L56
1095 /* #APP */
1096 0160 0000 nop
1097 /* #NOAPP */
1098 0162 F8CF rjmp .L51
1099 .L56:
305:fun.c ****
306:fun.c **** mcu &= 0xe3;
1101 .LM102:
1102 0164 237E andi r18,lo8(-29)
1103 .L50:
307:fun.c **** }
308:fun.c **** mcu |= foo;
1105 .LM103:
1106 0166 232B or r18,r19
309:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) = mcu;
1108 .LM104:
1109 0168 25BF out 85-0x20,r18
310:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5;
1111 .LM105:
1112 016a 85B7 in r24,85-0x20
1113 016c 8062 ori r24,lo8(32)
1114 016e 85BF out 85-0x20,r24
1115 /* epilogue: frame size=0 */
1116 0170 0895 ret
1117 /* epilogue end (size=1) */
1118 /* function PowerAdjustment size 25 (24) */
1123 .global PowerManagementAdjust
1125 PowerManagementAdjust:
311:fun.c **** }
312:fun.c ****
313:fun.c **** uint8_t PowerManagementAdjust(void)
314:fun.c **** {
1127 .LM106:
1128 /* prologue: frame size=0 */
1129 /* prologue end (size=0) */
315:fun.c **** uint8_t mcu;
316:fun.c ****
317:fun.c **** if (!HPLPowerManagementM_disabled) {
1131 .LM107:
1132 0172 8091 0000 lds r24,HPLPowerManagementM_disabled
1133 0176 8823 tst r24
1134 0178 29F4 brne .L58
318:fun.c **** OSPostTask(PowerAdjustment);
1136 .LM108:
1137 017a 80E0 ldi r24,lo8(pm(PowerAdjustment))
1138 017c 90E0 ldi r25,hi8(pm(PowerAdjustment))
1139 017e 0E94 0000 call OSPostTask
1140 0182 06C0 rjmp .L59
1141 .L58:
319:fun.c **** }
320:fun.c **** else
321:fun.c **** {
322:fun.c **** mcu = * (volatile unsigned char *)(0x35 + 0x20);
1143 .LM109:
1144 0184 85B7 in r24,85-0x20
323:fun.c **** mcu &= 0xe3;
1146 .LM110:
1147 0186 837E andi r24,lo8(-29)
324:fun.c **** mcu |= HPLPowerManagementM_IDLE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -