📄 enc28j60.lst
字号:
751 021a C098 .LM109:
752 sbis 46-32,7
753 rjmp .L66
755 021e 8FB9 .LM110:
756 ldi r24,lo8(-128)
757 out 47-32,r24
758 .L67:
760 0222 00C0 .LM111:
761 sbis 46-32,7
762 rjmp .L67
764 0226 8FB9 .LM112:
765 sbi 56-32,0
766 .LBE92:
767 .LBE91:
768 0228 779B .LBB93:
769 022a 00C0 .LBB94:
771 .LM113:
772 022c C09A cbi 56-32,0
774 .LM114:
775 ldi r24,lo8(-97)
776 out 47-32,r24
777 .L68:
779 022e C098 .LM115:
780 sbis 46-32,7
781 rjmp .L68
783 0232 8FB9 .LM116:
784 ldi r24,lo8(12)
785 out 47-32,r24
786 .L69:
788 0236 00C0 .LM117:
789 sbis 46-32,7
790 rjmp .L69
792 023a 8FB9 .LM118:
793 sbi 56-32,0
794 /* epilogue start */
795 .LBE94:
796 023c 779B .LBE93:
798 .LM119:
799 pop r29
800 0240 C09A pop r28
801 pop r17
802 pop r16
803 pop r15
804 pop r14
805 pop r13
806 0242 DF91 pop r12
807 0244 CF91 ret
812 024e DF90 .Lscope9:
814 0252 0895 .global enc28j60_init
816 enc28j60_init:
818 .LM120:
819 .LFBB10:
820 push r28
821 push r29
822 /* prologue: function */
823 /* frame size = 0 */
825 .LM121:
826 ldi r24,lo8(-1)
827 0254 CF93 sts enc28j60_current_bank,r24
829 .LM122:
830 in r24,55-32
831 ori r24,lo8(17)
832 out 55-32,r24
834 025a 8093 0000 .LM123:
835 sbi 56-32,0
837 025e 87B3 .LM124:
838 0260 8161 sbi 56-32,7
840 .LM125:
841 in r24,55-32
842 0264 C09A ori r24,lo8(-80)
843 out 55-32,r24
845 0266 C79A .LM126:
846 cbi 55-32,6
848 0268 87B3 .LM127:
849 026a 806B ldi r24,lo8(80)
850 026c 87BB out 45-32,r24
852 .LM128:
853 026e BE98 ldi r24,lo8(1)
854 out 46-32,r24
856 0270 80E5 .LM129:
857 0272 8DB9 cbi 56-32,4
858 .LBB95:
859 .LBB96:
860 0274 81E0 .LBB97:
861 0276 8EB9 .LBB98:
863 .Ltext5:
865 .LM130:
866 ldi r24,lo8(15625)
867 ldi r25,hi8(15625)
868 movw r30,r24
869 /* #APP */
870 ; 105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
871 1: sbiw r30,1
872 brne 1b
873 027a 89E0 ; 0 "" 2
874 027c 9DE3 /* #NOAPP */
875 027e FC01 .LBE98:
876 .LBE97:
877 .LBE96:
878 0280 3197 .LBE95:
880 .Ltext6:
882 .LM131:
883 sbi 56-32,4
884 .LBB99:
885 .LBB100:
886 .LBB101:
887 .LBB102:
889 .Ltext7:
891 .LM132:
892 ldi r18,lo8(124)
893 /* #APP */
894 ; 83 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
895 1: dec r18
896 brne 1b
897 ; 0 "" 2
898 /* #NOAPP */
899 0286 2CE7 .LBE102:
900 .LBE101:
901 .LBE100:
902 0288 2A95 .LBE99:
903 028a 01F4 .LBB103:
904 .LBB104:
905 .LBB105:
906 .LBB106:
908 .LM133:
909 /* #APP */
910 ; 105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
911 1: sbiw r24,1
912 brne 1b
913 ; 0 "" 2
914 /* #NOAPP */
915 .L84:
916 .LBE106:
917 .LBE105:
918 028c 0197 .LBE104:
919 028e 01F4 .LBE103:
921 .Ltext8:
923 .LM134:
924 ldi r24,lo8(29)
925 call enc28j60_read_address
926 sbrs r24,0
927 rjmp .L84
929 .LM135:
930 sts (enc28j60_next_packet_ptr)+1,__zero_reg__
931 0290 8DE1 sts enc28j60_next_packet_ptr,__zero_reg__
932 0292 0E94 0000 ldi r28,lo8(enc28j60_config)
933 0296 80FF ldi r29,hi8(enc28j60_config)
934 0298 00C0 .L85:
935 .LBB107:
937 029a 1092 0000 .LM136:
938 029e 1092 0000 movw r30,r28
939 02a2 C0E0 /* #APP */
940 02a4 D0E0 ; 142 "io/enc28j60.c" 1
941 lpm r24, Z
942
943 ; 0 "" 2
944 /* #NOAPP */
945 02a6 FE01 .LBE107:
946 .LBB108:
947 adiw r28,1
948 02a8 8491 movw r30,r28
949 /* #APP */
950 ; 142 "io/enc28j60.c" 1
951 lpm r22, Z
952
953 ; 0 "" 2
954 02aa 2196 /* #NOAPP */
955 02ac FE01 .LBE108:
956 call enc28j60_write_address
957 adiw r28,1
959 .LM137:
960 ldi r31,hi8(enc28j60_config+44)
961 cpi r28,lo8(enc28j60_config+44)
962 cpc r29,r31
963 02b0 0E94 0000 brne .L85
965 .LM138:
966 ldi r24,lo8(16)
967 02b6 F0E0 ldi r22,lo8(256)
968 02b8 C030 ldi r23,hi8(256)
969 02ba DF07 call enc28j60_write_phy
971 .LM139:
972 ldi r24,lo8(27)
973 02be 80E1 ldi r22,lo8(-64)
974 02c0 60E0 call enc28j60_write_address
975 02c2 71E0 .LBB109:
976 02c4 0E94 0000 .LBB110:
978 .LM140:
979 02c8 8BE1 cbi 56-32,0
981 02cc 0E94 0000 .LM141:
982 ldi r24,lo8(-97)
983 out 47-32,r24
984 .L86:
986 02d0 C098 .LM142:
987 sbis 46-32,7
988 rjmp .L86
990 02d4 8FB9 .LM143:
991 ldi r24,lo8(4)
992 out 47-32,r24
993 .L87:
995 02d8 00C0 .LM144:
996 sbis 46-32,7
997 rjmp .L87
999 02dc 8FB9 .LM145:
1000 sbi 56-32,0
1001 .LBE110:
1002 .LBE109:
1004 02e0 00C0 .LM146:
1005 ldi r24,lo8(20)
1006 ldi r22,lo8(1138)
1007 02e2 C09A ldi r23,hi8(1138)
1008 call enc28j60_write_phy
1010 .LM147:
1011 ldi r24,lo8(114)
1012 02e4 84E1 call enc28j60_read_address
1013 02e6 62E7 sts enc28j60_revision,r24
1014 02e8 74E0 /* epilogue start */
1016 .LM148:
1017 pop r29
1018 02ee 82E7 pop r28
1019 02f0 0E94 0000 ret
1027 .Lscope10:
1031 .global enc28j60_spi_write_word
1033 enc28j60_spi_write_word:
1035 .LM149:
1036 .LFBB11:
1037 /* prologue: function */
1038 /* frame size = 0 */
1040 .LM150:
1041 cbi 56-32,0
1043 .LM151:
1044 out 47-32,r24
1045 .L94:
1047 .LM152:
1048 02fe C098 sbis 46-32,7
1049 rjmp .L94
1051 0300 8FB9 .LM153:
1052 out 47-32,r22
1053 .L95:
1055 0302 779B .LM154:
1056 0304 00C0 sbis 46-32,7
1057 rjmp .L95
1059 0306 6FB9 .LM155:
1060 sbi 56-32,0
1061 /* epilogue start */
1063 0308 779B .LM156:
1064 030a 00C0 ret
1066 .Lscope11:
459:io/enc28j60.c **** e phy register
1069 )",64,0,0,14
1070 .global enc28j60_receive_packet
1072 enc28j60_receive_packet:
1074 .LM157:
1075 .LFBB12:
1076 push r12
1077 push r13
1078 push r14
1079 push r15
1080 push r16
1081 push r17
1082 push r28
1083 0310 CF92 push r29
1084 0312 DF92 /* prologue: function */
1085 0314 EF92 /* frame size = 0 */
1086 0316 FF92 movw r12,r24
1087 0318 0F93 movw r14,r22
1089 031c CF93 .LM158:
1090 031e DF93 ldi r24,lo8(57)
1091 call enc28j60_read_address
1092 mov r28,r24
1093 0320 6C01 ldi r29,lo8(0)
1095 .LM159:
1096 lds r24,clock_new_flag
1097 0324 89E3 sbrc r24,2
1098 0326 0E94 0000 rjmp .L100
1099 032a C82F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -