📄 cc1000.lst
字号:
753 03a0 16E0 ldi r17,lo8(6)
754 .L29:
365:cc1000.c **** for (cnt = 0; cnt < 7; cnt++)
366:cc1000.c **** {
367:cc1000.c **** if (addr & 0x80) {
756 .LM76:
757 03a2 C7FF sbrs r28,7
758 03a4 03C0 rjmp .L27
368:cc1000.c **** OSH_SET_CC_PDATA_PIN();
760 .LM77:
761 03a6 0E94 0000 call OSH_SET_CC_PDATA_PIN
762 03aa 02C0 rjmp .L28
763 .L27:
369:cc1000.c **** }
370:cc1000.c **** else {
371:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
765 .LM78:
766 03ac 0E94 0000 call OSH_CLR_CC_PDATA_PIN
767 .L28:
372:cc1000.c **** }
373:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
769 .LM79:
770 03b0 0E94 0000 call OSH_CLR_CC_PCLK_PIN
374:cc1000.c **** OSH_SET_CC_PCLK_PIN();
772 .LM80:
773 03b4 0E94 0000 call OSH_SET_CC_PCLK_PIN
375:cc1000.c **** addr <<= 1;
775 .LM81:
776 03b8 CC0F lsl r28
778 .LM82:
779 03ba 1150 subi r17,lo8(-(-1))
780 03bc 17FF sbrs r17,7
781 03be F1CF rjmp .L29
376:cc1000.c **** }
377:cc1000.c **** OSH_SET_CC_PDATA_PIN();
783 .LM83:
784 03c0 0E94 0000 call OSH_SET_CC_PDATA_PIN
378:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
786 .LM84:
787 03c4 0E94 0000 call OSH_CLR_CC_PCLK_PIN
379:cc1000.c **** OSH_SET_CC_PCLK_PIN();
789 .LM85:
790 03c8 0E94 0000 call OSH_SET_CC_PCLK_PIN
380:cc1000.c ****
381:cc1000.c **** OSH_SET_CC_PALE_PIN();
792 .LM86:
793 03cc 0E94 0000 call OSH_SET_CC_PALE_PIN
794 03d0 17E0 ldi r17,lo8(7)
795 .L35:
382:cc1000.c ****
383:cc1000.c **** for (cnt = 0; cnt < 8; cnt++)
384:cc1000.c **** {
385:cc1000.c **** if (data & 0x80) {
797 .LM87:
798 03d2 07FF sbrs r16,7
799 03d4 03C0 rjmp .L33
386:cc1000.c **** OSH_SET_CC_PDATA_PIN();
801 .LM88:
802 03d6 0E94 0000 call OSH_SET_CC_PDATA_PIN
803 03da 02C0 rjmp .L34
804 .L33:
387:cc1000.c **** }
388:cc1000.c **** else {
389:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
806 .LM89:
807 03dc 0E94 0000 call OSH_CLR_CC_PDATA_PIN
808 .L34:
390:cc1000.c **** }
391:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
810 .LM90:
811 03e0 0E94 0000 call OSH_CLR_CC_PCLK_PIN
392:cc1000.c **** OSH_SET_CC_PCLK_PIN();
813 .LM91:
814 03e4 0E94 0000 call OSH_SET_CC_PCLK_PIN
393:cc1000.c **** data <<= 1;
816 .LM92:
817 03e8 000F lsl r16
819 .LM93:
820 03ea 1150 subi r17,lo8(-(-1))
821 03ec 17FF sbrs r17,7
822 03ee F1CF rjmp .L35
394:cc1000.c **** }
395:cc1000.c **** OSH_SET_CC_PALE_PIN();
824 .LM94:
825 03f0 0E94 0000 call OSH_SET_CC_PALE_PIN
396:cc1000.c **** OSH_SET_CC_PDATA_PIN();
827 .LM95:
828 03f4 0E94 0000 call OSH_SET_CC_PDATA_PIN
397:cc1000.c **** OSH_SET_CC_PCLK_PIN();
830 .LM96:
831 03f8 0E94 0000 call OSH_SET_CC_PCLK_PIN
398:cc1000.c **** return SUCCESS;
399:cc1000.c **** }
833 .LM97:
834 03fc 81E0 ldi r24,lo8(1)
835 03fe 90E0 ldi r25,hi8(1)
836 /* epilogue: frame size=0 */
837 0400 CF91 pop r28
838 0402 1F91 pop r17
839 0404 0F91 pop r16
840 0406 0895 ret
841 /* epilogue end (size=4) */
842 /* function CC1000HPLWrite size 60 (53) */
846 .global CC1000ControlStdControlStop
848 CC1000ControlStdControlStop:
850 .LM98:
851 /* prologue: frame size=0 */
852 /* prologue end (size=0) */
854 .LM99:
855 0408 60E0 ldi r22,lo8(0)
856 040a 8BE0 ldi r24,lo8(11)
857 040c 0E94 0000 call CC1000HPLWrite
859 .LM100:
860 0410 6FE3 ldi r22,lo8(63)
861 0412 80E0 ldi r24,lo8(0)
862 0414 0E94 0000 call CC1000HPLWrite
864 .LM101:
865 0418 81E0 ldi r24,lo8(1)
866 041a 90E0 ldi r25,hi8(1)
867 /* epilogue: frame size=0 */
868 041c 0895 ret
869 /* epilogue end (size=1) */
870 /* function CC1000ControlStdControlStop size 11 (10) */
873 .global CC1000ControlRxMode
875 CC1000ControlRxMode:
877 .LM102:
878 /* prologue: frame size=0 */
879 /* prologue end (size=0) */
881 .LM103:
882 041e 61E1 ldi r22,lo8(17)
883 0420 80E0 ldi r24,lo8(0)
884 0422 0E94 0000 call CC1000HPLWrite
886 .LM104:
887 0426 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+9
888 042a 89E0 ldi r24,lo8(9)
889 042c 0E94 0000 call CC1000HPLWrite
891 .LM105:
892 0430 60E0 ldi r22,lo8(0)
893 0432 8BE0 ldi r24,lo8(11)
894 0434 0E94 0000 call CC1000HPLWrite
896 .LM106:
897 0438 8AEF ldi r24,lo8(250)
898 043a 90E0 ldi r25,hi8(250)
899 043c 0E94 0000 call OSH_uwait
901 .LM107:
902 0440 81E0 ldi r24,lo8(1)
903 0442 90E0 ldi r25,hi8(1)
904 /* epilogue: frame size=0 */
905 0444 0895 ret
906 /* epilogue end (size=1) */
907 /* function CC1000ControlRxMode size 20 (19) */
910 .global CC1000ControlTxMode
912 CC1000ControlTxMode:
914 .LM108:
915 /* prologue: frame size=0 */
916 /* prologue end (size=0) */
918 .LM109:
919 0446 61EE ldi r22,lo8(-31)
920 0448 80E0 ldi r24,lo8(0)
921 044a 0E94 0000 call CC1000HPLWrite
923 .LM110:
924 044e 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+29
925 0452 89E0 ldi r24,lo8(9)
926 0454 0E94 0000 call CC1000HPLWrite
928 .LM111:
929 0458 8AEF ldi r24,lo8(250)
930 045a 90E0 ldi r25,hi8(250)
931 045c 0E94 0000 call OSH_uwait
933 .LM112:
934 0460 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+11
935 0464 8BE0 ldi r24,lo8(11)
936 0466 0E94 0000 call CC1000HPLWrite
938 .LM113:
939 046a 84E1 ldi r24,lo8(20)
940 046c 90E0 ldi r25,hi8(20)
941 046e 0E94 0000 call OSH_uwait
943 .LM114:
944 0472 81E0 ldi r24,lo8(1)
945 0474 90E0 ldi r25,hi8(1)
946 /* epilogue: frame size=0 */
947 0476 0895 ret
948 /* epilogue end (size=1) */
949 /* function CC1000ControlTxMode size 25 (24) */
952 .global CC1000ControlStdControlStart
954 CC1000ControlStdControlStart:
956 .LM115:
957 /* prologue: frame size=0 */
958 /* prologue end (size=0) */
960 .LM116:
961 0478 6BE3 ldi r22,lo8(59)
962 047a 80E0 ldi r24,lo8(0)
963 047c 0E94 0000 call CC1000HPLWrite
965 .LM117:
966 0480 80ED ldi r24,lo8(2000)
967 0482 97E0 ldi r25,hi8(2000)
968 0484 0E94 0000 call OSH_uwait
970 .LM118:
971 0488 81E0 ldi r24,lo8(1)
972 048a 90E0 ldi r25,hi8(1)
973 /* epilogue: frame size=0 */
974 048c 0895 ret
975 /* epilogue end (size=1) */
976 /* function CC1000ControlStdControlStart size 11 (10) */
979 .global CC1000ControlBIASOn
981 CC1000ControlBIASOn:
983 .LM119:
984 /* prologue: frame size=0 */
985 /* prologue end (size=0) */
987 .LM120:
988 048e 69E3 ldi r22,lo8(57)
989 0490 80E0 ldi r24,lo8(0)
990 0492 0E94 0000 call CC1000HPLWrite
992 .LM121:
993 0496 88EC ldi r24,lo8(200)
994 0498 90E0 ldi r25,hi8(200)
995 049a 0E94 0000 call OSH_uwait
997 .LM122:
998 049e 81E0 ldi r24,lo8(1)
999 04a0 90E0 ldi r25,hi8(1)
1000 /* epilogue: frame size=0 */
1001 04a2 0895 ret
1002 /* epilogue end (size=1) */
1003 /* function CC1000ControlBIASOn size 11 (10) */
1006 .global CC1000ControlCC1000SetModem
1008 CC1000ControlCC1000SetModem:
1010 .LM123:
1011 /* prologue: frame size=0 */
1012 /* prologue end (size=0) */
1014 .LM124:
1015 04a4 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+15
1016 04a8 8FE0 ldi r24,lo8(15)
1017 04aa 0E94 0000 call CC1000HPLWrite
1019 .LM125:
1020 04ae 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+16
1021 04b2 80E1 ldi r24,lo8(16)
1022 04b4 0E94 0000 call CC1000HPLWrite
1024 .LM126:
1025 04b8 6091 0000 lds r22,CC1000ControlM_gCurrentParameters+17
1026 04bc 81E1 ldi r24,lo8(17)
1027 04be 0E94 0000 call CC1000HPLWrite
1028 /* epilogue: frame size=0 */
1029 04c2 0895 ret
1030 /* epilogue end (size=1) */
1031 /* function CC1000ControlCC1000SetModem size 16 (15) */
1035 .global CC1000ControlSelectLock
1037 CC1000ControlSelectLock:
1039 .LM127:
1040 /* prologue: frame size=0 */
1041 /* prologue end (size=0) */
1043 .LM128:
1044 04c4 8295 swap r24
1045 04c6 807F andi r24,0xf0
1046 04c8 8093 0000 sts CC1000ControlM_gCurrentParameters+13,r24
1048 .LM129:
1049 04cc 682F mov r22,r24
1050 04ce 8DE0 ldi r24,lo8(13)
1051 04d0 0E94 0000 call CC1000HPLWrite
1053 .LM130:
1054 04d4 9927 clr r25
1055 /* epilogue: frame size=0 */
1056 04d6 0895 ret
1057 /* epilogue end (size=1) */
1058 /* function CC1000ControlSelectLock size 10 (9) */
1062 .global CC1000HPLRead
1064 CC1000HPLRead:
400:cc1000.c ****
401:cc1000.c **** uint8_t CC1000HPLRead(uint8_t addr)
402:cc1000.c **** {
1066 .LM131:
1067 /* prologue: frame size=0 */
1068 04d8 0F93 push r16
1069 04da 1F93 push r17
1070 04dc CF93 push r28
1071 04de DF93 push r29
1072 /* prologue end (size=4) */
403:cc1000.c **** int cnt;
404:cc1000.c **** uint8_t din;
405:cc1000.c **** uint8_t data = 0;
1074 .LM132:
1075 04e0 00E0 ldi r16,lo8(0)
406:cc1000.c ****
407:cc1000.c **** addr <<= 1;
1077 .LM133:
1078 04e2 182F mov r17,r24
1079 04e4 110F lsl r17
408:cc1000.c **** OSH_CLR_CC_PALE_PIN();
1081 .LM134:
1082 04e6 0E94 0000 call OSH_CLR_CC_PALE_PIN
1083 04ea C6E0 ldi r28,lo8(6)
1084 04ec D0E0 ldi r29,hi8(6)
1085 .L53:
409:cc1000.c **** for (cnt = 0; cnt < 7; cnt++)
410:cc1000.c **** {
411:cc1000.c **** if (addr & 0x80) {
1087 .LM135:
1088 04ee 17FF sbrs r17,7
1089 04f0 03C0 rjmp .L51
412:cc1000.c **** OSH_SET_CC_PDATA_PIN();
1091 .LM136:
1092 04f2 0E94 0000 call OSH_SET_CC_PDATA_PIN
1093 04f6 02C0 rjmp .L52
1094 .L51:
413:cc1000.c **** }
414:cc1000.c **** else {
415:cc1000.c **** OSH_CLR_CC_PDATA_PIN();
1096 .LM137:
1097 04f8 0E94 0000 call OSH_CLR_CC_PDATA_PIN
1098 .L52:
416:cc1000.c **** }
417:cc1000.c **** OSH_CLR_CC_PCLK_PIN();
1100 .LM138:
1101 04fc 0E94 0000 call OSH_CLR_CC_PCLK_PIN
418:cc1000.c **** OSH_SET_CC_PCLK_PIN();
1103 .LM139:
1104 0500 0E94 0000 call OSH_SET_CC_PCLK_PIN
419:cc1000.c **** addr <<= 1;
1106 .LM140:
1107 0504 110F lsl r17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -