📄 fun.lst
字号:
613 /* prologue end (size=0) */
225:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) |= 1 << 4;
615 .LM66:
616 00d2 949A sbi 50-0x20,4
617 /* epilogue: frame size=0 */
618 00d4 0895 ret
619 /* epilogue end (size=1) */
620 /* function OSH_SET_CC_PALE_PIN size 2 (1) */
623 .global OSH_MAKE_MOSI_INPUT
625 OSH_MAKE_MOSI_INPUT:
226:fun.c **** }
227:fun.c ****
228:fun.c **** void OSH_MAKE_MOSI_INPUT(void)
229:fun.c **** {
627 .LM67:
628 /* prologue: frame size=0 */
629 /* prologue end (size=0) */
230:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 2);
631 .LM68:
632 00d6 BA98 cbi 55-0x20,2
633 /* epilogue: frame size=0 */
634 00d8 0895 ret
635 /* epilogue end (size=1) */
636 /* function OSH_MAKE_MOSI_INPUT size 2 (1) */
639 .global OSH_MAKE_SPI_SCK_INPUT
641 OSH_MAKE_SPI_SCK_INPUT:
231:fun.c **** }
232:fun.c ****
233:fun.c **** void OSH_MAKE_SPI_SCK_INPUT(void)
234:fun.c **** {
643 .LM69:
644 /* prologue: frame size=0 */
645 /* prologue end (size=0) */
235:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 1);
647 .LM70:
648 00da B998 cbi 55-0x20,1
649 /* epilogue: frame size=0 */
650 00dc 0895 ret
651 /* epilogue end (size=1) */
652 /* function OSH_MAKE_SPI_SCK_INPUT size 2 (1) */
655 .global OSH_CLR_CC_PALE_PIN
657 OSH_CLR_CC_PALE_PIN:
236:fun.c **** }
237:fun.c ****
238:fun.c **** void OSH_CLR_CC_PALE_PIN(void)
239:fun.c **** {
659 .LM71:
660 /* prologue: frame size=0 */
661 /* prologue end (size=0) */
240:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 4);
663 .LM72:
664 00de 9498 cbi 50-0x20,4
665 /* epilogue: frame size=0 */
666 00e0 0895 ret
667 /* epilogue end (size=1) */
668 /* function OSH_CLR_CC_PALE_PIN size 2 (1) */
671 .global OSH_CLR_CC_PDATA_PIN
673 OSH_CLR_CC_PDATA_PIN:
241:fun.c **** }
242:fun.c ****
243:fun.c **** void OSH_CLR_CC_PDATA_PIN(void)
244:fun.c **** {
675 .LM73:
676 /* prologue: frame size=0 */
677 /* prologue end (size=0) */
245:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 7);
679 .LM74:
680 00e2 9798 cbi 50-0x20,7
681 /* epilogue: frame size=0 */
682 00e4 0895 ret
683 /* epilogue end (size=1) */
684 /* function OSH_CLR_CC_PDATA_PIN size 2 (1) */
687 .global OSH_CLR_CC_PCLK_PIN
689 OSH_CLR_CC_PCLK_PIN:
246:fun.c **** }
247:fun.c ****
248:fun.c **** void OSH_CLR_CC_PCLK_PIN(void)
249:fun.c **** {
691 .LM75:
692 /* prologue: frame size=0 */
693 /* prologue end (size=0) */
250:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 6);
695 .LM76:
696 00e6 9698 cbi 50-0x20,6
697 /* epilogue: frame size=0 */
698 00e8 0895 ret
699 /* epilogue end (size=1) */
700 /* function OSH_CLR_CC_PCLK_PIN size 2 (1) */
703 .global OSH_MAKE_CC_PDATA_INPUT
705 OSH_MAKE_CC_PDATA_INPUT:
251:fun.c **** }
252:fun.c ****
253:fun.c **** void OSH_MAKE_CC_PDATA_INPUT(void)
254:fun.c **** {
707 .LM77:
708 /* prologue: frame size=0 */
709 /* prologue end (size=0) */
255:fun.c **** * (volatile unsigned char *)(0x11 + 0x20) &= ~(1 << 7);
711 .LM78:
712 00ea 8F98 cbi 49-0x20,7
713 /* epilogue: frame size=0 */
714 00ec 0895 ret
715 /* epilogue end (size=1) */
716 /* function OSH_MAKE_CC_PDATA_INPUT size 2 (1) */
719 .global OSH_READ_CC_PDATA_PIN
721 OSH_READ_CC_PDATA_PIN:
256:fun.c **** }
257:fun.c ****
258:fun.c **** int OSH_READ_CC_PDATA_PIN(void)
259:fun.c **** {
723 .LM79:
724 /* prologue: frame size=0 */
725 /* prologue end (size=0) */
260:fun.c **** return (* (volatile unsigned char *)(0x10 + 0x20) & (1 << 7)) != 0;
727 .LM80:
728 00ee 80E0 ldi r24,lo8(0)
729 00f0 90E0 ldi r25,hi8(0)
730 00f2 879B sbis 48-0x20,7
731 00f4 02C0 rjmp .L38
733 .LM81:
734 00f6 81E0 ldi r24,lo8(1)
735 00f8 90E0 ldi r25,hi8(1)
736 .L38:
261:fun.c **** }
738 .LM82:
739 00fa 0895 ret
740 /* epilogue: frame size=0 */
741 00fc 0895 ret
742 /* epilogue end (size=1) */
743 /* function OSH_READ_CC_PDATA_PIN size 8 (7) */
746 .global GetPowerLevel
748 GetPowerLevel:
262:fun.c ****
263:fun.c **** uint8_t GetPowerLevel(void)
264:fun.c **** {
750 .LM83:
751 /* prologue: frame size=0 */
752 /* prologue end (size=0) */
265:fun.c **** uint8_t diff;
266:fun.c ****
267:fun.c **** if (* (volatile unsigned char *)(0x37 + 0x20) & ~((1 << 1) | (1 << 0))) {
754 .LM84:
755 00fe 87B7 in r24,87-0x20
756 0100 9927 clr r25
757 0102 8C7F andi r24,lo8(-4)
758 0104 0097 sbiw r24,0
759 0106 19F0 breq .L40
268:fun.c ****
269:fun.c **** return HPLPowerManagementM_IDLE;
761 .LM85:
762 0108 80E0 ldi r24,lo8(0)
763 010a 90E0 ldi r25,hi8(0)
764 010c 0895 ret
765 .L40:
270:fun.c **** }
271:fun.c **** else {
272:fun.c **** if (* (volatile unsigned char *)(0x0D + 0x20) & (1 << 7)) {
767 .LM86:
768 010e 6F99 sbic 45-0x20,7
769 0110 18C0 rjmp .L39
273:fun.c **** return HPLPowerManagementM_IDLE;
274:fun.c **** }
275:fun.c **** else {
276:fun.c **** if (* (volatile unsigned char *)(0x06 + 0x20) & (1 << 7)) {
771 .LM87:
772 0112 379B sbis 38-0x20,7
773 0114 03C0 rjmp .L44
277:fun.c **** return HPLPowerManagementM_ADC_NR;
775 .LM88:
776 0116 88E0 ldi r24,lo8(8)
777 0118 90E0 ldi r25,hi8(8)
778 011a 0895 ret
779 .L44:
278:fun.c **** }
279:fun.c **** else {
280:fun.c **** if (* (volatile unsigned char *)(0x37 + 0x20) & ((1 << 1) | (1 << 0))) {
781 .LM89:
782 011c 87B7 in r24,87-0x20
783 011e 9927 clr r25
784 0120 8370 andi r24,lo8(3)
785 0122 9070 andi r25,hi8(3)
786 0124 892B or r24,r25
787 0126 59F0 breq .L46
281:fun.c **** diff = * (volatile unsigned char *)(0x31 + 0x20) - * (volatile unsigned char *)(0x32 + 0x20);
789 .LM90:
790 0128 81B7 in r24,81-0x20
791 012a 92B7 in r25,82-0x20
792 012c 891B sub r24,r25
282:fun.c **** if (diff < 16) {
794 .LM91:
795 012e 8031 cpi r24,lo8(16)
796 0130 18F4 brsh .L47
283:fun.c **** return HPLPowerManagementM_EXT_STANDBY;
798 .LM92:
799 0132 8CE1 ldi r24,lo8(28)
800 0134 90E0 ldi r25,hi8(28)
801 0136 0895 ret
802 .L47:
284:fun.c **** }
285:fun.c **** return HPLPowerManagementM_POWER_SAVE;
804 .LM93:
805 0138 88E1 ldi r24,lo8(24)
806 013a 90E0 ldi r25,hi8(24)
807 013c 0895 ret
808 .L46:
286:fun.c **** }
287:fun.c **** else
288:fun.c **** {
289:fun.c **** return HPLPowerManagementM_POWER_DOWN;
810 .LM94:
811 013e 80E1 ldi r24,lo8(16)
812 0140 90E0 ldi r25,hi8(16)
813 .L39:
290:fun.c **** }
291:fun.c **** }
292:fun.c **** }
293:fun.c **** }
294:fun.c **** }
815 .LM95:
816 0142 0895 ret
817 /* epilogue: frame size=0 */
818 0144 0895 ret
819 /* epilogue end (size=1) */
820 /* function GetPowerLevel size 37 (36) */
823 .global PowerAdjustment
825 PowerAdjustment:
295:fun.c ****
296:fun.c **** void PowerAdjustment(void)
297:fun.c **** {
827 .LM96:
828 /* prologue: frame size=0 */
829 /* prologue end (size=0) */
298:fun.c **** uint8_t foo;
299:fun.c **** uint8_t mcu;
300:fun.c ****
301:fun.c **** foo = GetPowerLevel();
831 .LM97:
832 0146 0E94 0000 call GetPowerLevel
833 014a 382F mov r19,r24
302:fun.c **** mcu = * (volatile unsigned char *)(0x35 + 0x20);
835 .LM98:
836 014c 25B7 in r18,85-0x20
303:fun.c **** mcu &= 0xe3;
838 .LM99:
839 014e 237E andi r18,lo8(-29)
304:fun.c **** if (foo == HPLPowerManagementM_EXT_STANDBY || foo == HPLPowerManagementM_POWER_SAVE) {
841 .LM100:
842 0150 8C31 cpi r24,lo8(28)
843 0152 11F0 breq .L51
845 .LM101:
846 0154 8831 cpi r24,lo8(24)
847 0156 49F4 brne .L50
848 .L51:
305:fun.c **** mcu |= HPLPowerManagementM_IDLE;
306:fun.c **** while ((* (volatile unsigned char *)(0x30 + 0x20) & 0x7) != 0) {
307:fun.c **** asm volatile ("nop");}
850 .LM102:
851 0158 80B7 in r24,80-0x20
852 015a 9927 clr r25
853 015c 8770 andi r24,lo8(7)
854 015e 9070 andi r25,hi8(7)
855 0160 892B or r24,r25
856 0162 11F0 breq .L56
857 /* #APP */
858 0164 0000 nop
859 /* #NOAPP */
860 0166 F8CF rjmp .L51
861 .L56:
308:fun.c ****
309:fun.c **** mcu &= 0xe3;
863 .LM103:
864 0168 237E andi r18,lo8(-29)
865 .L50:
310:fun.c **** }
311:fun.c **** mcu |= foo;
867 .LM104:
868 016a 232B or r18,r19
312:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) = mcu;
870 .LM105:
871 016c 25BF out 85-0x20,r18
313:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5;
873 .LM106:
874 016e 85B7 in r24,85-0x20
875 0170 8062 ori r24,lo8(32)
876 0172 85BF out 85-0x20,r24
877 /* epilogue: frame size=0 */
878 0174 0895 ret
879 /* epilogue end (size=1) */
880 /* function PowerAdjustment size 25 (24) */
885 .global PowerManagementAdjust
887 PowerManagementAdjust:
314:fun.c **** }
315:fun.c ****
316:fun.c **** uint8_t PowerManagementAdjust(void)
317:fun.c **** {
889 .LM107:
890 /* prologue: frame size=0 */
891 /* prologue end (size=0) */
318:fun.c **** uint8_t mcu;
319:fun.c ****
320:fun.c **** if (!HPLPowerManagementM_disabled) {
893 .LM108:
894 0176 8091 0000 lds r24,HPLPowerManagementM_disabled
895 017a 8823 tst r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -