📄 enc28j60.lst
字号:
756 out 47-32,r24
757 .L67:
759 0220 00C0 .LM111:
760 sbis 46-32,7
761 rjmp .L67
763 0224 8FB9 .LM112:
764 sbi 56-32,4
765 .LBE92:
766 .LBE91:
767 0226 779B .LBB93:
768 0228 00C0 .LBB94:
770 .LM113:
771 022a C49A cbi 56-32,4
773 .LM114:
774 ldi r24,lo8(-97)
775 out 47-32,r24
776 .L68:
778 022c C498 .LM115:
779 sbis 46-32,7
780 rjmp .L68
782 0230 8FB9 .LM116:
783 ldi r24,lo8(12)
784 out 47-32,r24
785 .L69:
787 0234 00C0 .LM117:
788 sbis 46-32,7
789 rjmp .L69
791 0238 8FB9 .LM118:
792 sbi 56-32,4
793 /* epilogue start */
794 .LBE94:
795 023a 779B .LBE93:
797 .LM119:
798 pop r29
799 023e C49A pop r28
800 pop r17
801 pop r16
802 pop r15
803 pop r14
804 pop r13
805 0240 DF91 pop r12
806 0242 CF91 ret
811 024c DF90 .Lscope9:
813 0250 0895 .global enc28j60_init
815 enc28j60_init:
817 .LM120:
818 .LFBB10:
819 push r28
820 push r29
821 /* prologue: function */
822 /* frame size = 0 */
824 .LM121:
825 ldi r24,lo8(-1)
826 0252 CF93 sts enc28j60_current_bank,r24
828 .LM122:
829 in r24,55-32
830 ori r24,lo8(24)
831 out 55-32,r24
833 0258 8093 0000 .LM123:
834 sbi 56-32,4
836 025c 87B3 .LM124:
837 025e 8861 sbi 56-32,7
839 .LM125:
840 in r24,55-32
841 0262 C49A ori r24,lo8(-80)
842 out 55-32,r24
844 0264 C79A .LM126:
845 cbi 55-32,6
847 0266 87B3 .LM127:
848 0268 806B ldi r24,lo8(80)
849 026a 87BB out 45-32,r24
851 .LM128:
852 026c BE98 ldi r24,lo8(1)
853 out 46-32,r24
855 026e 80E5 .LM129:
856 0270 8DB9 cbi 56-32,3
857 .LBB95:
858 .LBB96:
859 0272 81E0 .LBB97:
860 0274 8EB9 .LBB98:
862 .Ltext5:
864 .LM130:
865 ldi r24,lo8(18432)
866 ldi r25,hi8(18432)
867 movw r30,r24
868 /* #APP */
869 ; 105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
870 1: sbiw r30,1
871 brne 1b
872 0278 80E0 ; 0 "" 2
873 027a 98E4 /* #NOAPP */
874 027c FC01 .LBE98:
875 .LBE97:
876 .LBE96:
877 027e 3197 .LBE95:
879 .Ltext6:
881 .LM131:
882 sbi 56-32,3
883 .LBB99:
884 .LBB100:
885 .LBB101:
886 .LBB102:
888 .Ltext7:
890 .LM132:
891 ldi r18,lo8(-109)
892 /* #APP */
893 ; 83 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
894 1: dec r18
895 brne 1b
896 ; 0 "" 2
897 /* #NOAPP */
898 0284 23E9 .LBE102:
899 .LBE101:
900 .LBE100:
901 0286 2A95 .LBE99:
902 0288 01F4 .LBB103:
903 .LBB104:
904 .LBB105:
905 .LBB106:
907 .LM133:
908 /* #APP */
909 ; 105 "c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h" 1
910 1: sbiw r24,1
911 brne 1b
912 ; 0 "" 2
913 /* #NOAPP */
914 .L84:
915 .LBE106:
916 .LBE105:
917 028a 0197 .LBE104:
918 028c 01F4 .LBE103:
920 .Ltext8:
922 .LM134:
923 ldi r24,lo8(29)
924 call enc28j60_read_address
925 sbrs r24,0
926 rjmp .L84
928 .LM135:
929 sts (enc28j60_next_packet_ptr)+1,__zero_reg__
930 028e 8DE1 sts enc28j60_next_packet_ptr,__zero_reg__
931 0290 0E94 0000 ldi r28,lo8(enc28j60_config)
932 0294 80FF ldi r29,hi8(enc28j60_config)
933 0296 00C0 .L85:
934 .LBB107:
936 0298 1092 0000 .LM136:
937 029c 1092 0000 movw r30,r28
938 02a0 C0E0 /* #APP */
939 02a2 D0E0 ; 142 "io/enc28j60.c" 1
940 lpm r24, Z
941
942 ; 0 "" 2
943 /* #NOAPP */
944 02a4 FE01 .LBE107:
945 .LBB108:
946 adiw r28,1
947 02a6 8491 movw r30,r28
948 /* #APP */
949 ; 142 "io/enc28j60.c" 1
950 lpm r22, Z
951
952 ; 0 "" 2
953 02a8 2196 /* #NOAPP */
954 02aa FE01 .LBE108:
955 call enc28j60_write_address
956 adiw r28,1
958 .LM137:
959 ldi r31,hi8(enc28j60_config+44)
960 cpi r28,lo8(enc28j60_config+44)
961 cpc r29,r31
962 02ae 0E94 0000 brne .L85
964 .LM138:
965 ldi r24,lo8(16)
966 02b4 F0E0 ldi r22,lo8(256)
967 02b6 C030 ldi r23,hi8(256)
968 02b8 DF07 call enc28j60_write_phy
970 .LM139:
971 ldi r24,lo8(27)
972 02bc 80E1 ldi r22,lo8(-64)
973 02be 60E0 call enc28j60_write_address
974 02c0 71E0 .LBB109:
975 02c2 0E94 0000 .LBB110:
977 .LM140:
978 02c6 8BE1 cbi 56-32,4
980 02ca 0E94 0000 .LM141:
981 ldi r24,lo8(-97)
982 out 47-32,r24
983 .L86:
985 02ce C498 .LM142:
986 sbis 46-32,7
987 rjmp .L86
989 02d2 8FB9 .LM143:
990 ldi r24,lo8(4)
991 out 47-32,r24
992 .L87:
994 02d6 00C0 .LM144:
995 sbis 46-32,7
996 rjmp .L87
998 02da 8FB9 .LM145:
999 sbi 56-32,4
1000 .LBE110:
1001 .LBE109:
1003 02de 00C0 .LM146:
1004 ldi r24,lo8(20)
1005 ldi r22,lo8(1138)
1006 02e0 C49A ldi r23,hi8(1138)
1007 call enc28j60_write_phy
1009 .LM147:
1010 ldi r24,lo8(114)
1011 02e2 84E1 call enc28j60_read_address
1012 02e4 62E7 sts enc28j60_revision,r24
1013 02e6 74E0 /* epilogue start */
1015 .LM148:
1016 pop r29
1017 02ec 82E7 pop r28
1018 02ee 0E94 0000 ret
1026 .Lscope10:
1030 .global enc28j60_spi_write_word
1032 enc28j60_spi_write_word:
1034 .LM149:
1035 .LFBB11:
1036 /* prologue: function */
1037 /* frame size = 0 */
1039 .LM150:
1040 cbi 56-32,4
1042 .LM151:
1043 out 47-32,r24
1044 .L94:
1046 .LM152:
1047 02fc C498 sbis 46-32,7
1048 rjmp .L94
1050 02fe 8FB9 .LM153:
1051 out 47-32,r22
1052 .L95:
1054 0300 779B .LM154:
1055 0302 00C0 sbis 46-32,7
1056 rjmp .L95
1058 0304 6FB9 .LM155:
1059 sbi 56-32,4
1060 /* epilogue start */
1062 0306 779B .LM156:
1063 0308 00C0 ret
1065 .Lscope11:
459:io/enc28j60.c **** e phy register
1068 4)",64,0,0,14
1069 .global enc28j60_receive_packet
1071 enc28j60_receive_packet:
1073 .LM157:
1074 .LFBB12:
1075 push r12
1076 push r13
1077 push r14
1078 push r15
1079 push r16
1080 push r17
1081 push r28
1082 030e CF92 push r29
1083 0310 DF92 /* prologue: function */
1084 0312 EF92 /* frame size = 0 */
1085 0314 FF92 movw r12,r24
1086 0316 0F93 movw r14,r22
1088 031a CF93 .LM158:
1089 031c DF93 ldi r24,lo8(57)
1090 call enc28j60_read_address
1091 mov r28,r24
1092 031e 6C01 ldi r29,lo8(0)
1094 .LM159:
1095 lds r24,clock_new_flag
1096 0322 89E3 sbrc r24,2
1097 0324 0E94 0000 rjmp .L100
1098 0328 C82F sbiw r28,0
1099 032a D0E0 breq .L101
1100 .L100:
1102 032c 8091 0000 .LM160:
1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -