?? smart_ci.lst
字號(hào):
898 ; SOURCE LINE # 183
000C 7F05 899 MOV R7,#05H
000E 7DFD 900 MOV R5,#0FDH
901 ; LCALL _outportb
0010 90FF03 902 MOV DPTR,#0FF03H
0013 ED 903 MOV A,R5
0014 F0 904 MOVX @DPTR,A
905 ; i=inportb(portbase+D12_DATA);
906 ; SOURCE LINE # 184
0015 7F04 907 MOV R7,#04H
908 ; LCALL _inportb
0017 90FF02 909 MOV DPTR,#0FF02H
001A E0 910 MOVX A,@DPTR
001B FF 911 MOV R7,A
001C 750000 F 912 MOV i?111,#00H
001F 8F00 F 913 MOV i?111+01H,R7
914 ; j=inportb(portbase+D12_DATA);
915 ; SOURCE LINE # 185
0021 7F04 916 MOV R7,#04H
A51 MACRO ASSEMBLER SMART_CI 08/06/2006 09:11:04 PAGE 15
917 ; LCALL _inportb
0023 90FF02 918 MOV DPTR,#0FF02H
0026 E0 919 MOVX A,@DPTR
0027 FF 920 MOV R7,A
921 ;---- Variable 'j?111' assigned to Register 'R6/R7' ----
922 ; i += (j<<8);
923 ; SOURCE LINE # 186
0028 EF 924 MOV A,R7
0029 FE 925 MOV R6,A
002A E4 926 CLR A
002B 2500 F 927 ADD A,i?111+01H
002D F500 F 928 MOV i?111+01H,A
002F EE 929 MOV A,R6
0030 3500 F 930 ADDC A,i?111
0032 F500 F 931 MOV i?111,A
932 ;
933 ; if(bEPPflags.bits.in_isr == 0)
934 ; SOURCE LINE # 188
0034 AF00 F 935 MOV R7,bEPPflags
0036 EF 936 MOV A,R7
0037 C4 937 SWAP A
0038 13 938 RRC A
0039 5407 939 ANL A,#07H
003B 20E002 940 JB ACC.0,?C0032
941 ; ENABLE;
942 ; SOURCE LINE # 189
003E D2AF 943 SETB EA
0040 944 ?C0032:
945 ;
946 ; return i;
947 ; SOURCE LINE # 191
0040 AE00 F 948 MOV R6,i?111
0042 AF00 F 949 MOV R7,i?111+01H
950 ; }
951 ; SOURCE LINE # 192
0044 952 ?C0033:
0044 22 953 RET
954 ; END OF D12_ReadChipID
955
956 ;
957 ; unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf
)
958
---- 959 RSEG ?PR?_D12_ReadEndpoint?D12CI
960 USING 0
0000 961 _D12_ReadEndpoint:
962 ; SOURCE LINE # 194
963 ; {
964 ; SOURCE LINE # 195
965 ; unsigned char i, j;
966 ;
967 ; if(bEPPflags.bits.in_isr == 0)
968 ; SOURCE LINE # 198
0000 E500 F 969 MOV A,bEPPflags
0002 C4 970 SWAP A
0003 13 971 RRC A
0004 5407 972 ANL A,#07H
0006 20E002 973 JB ACC.0,?C0034
974 ; DISABLE;
975 ; SOURCE LINE # 199
0009 C2AF 976 CLR EA
000B 977 ?C0034:
000B 8B00 F 978 MOV buf?120,R3
000D 8A00 F 979 MOV buf?120+01H,R2
000F 8900 F 980 MOV buf?120+02H,R1
0011 8D00 F 981 MOV len?120, R5
A51 MACRO ASSEMBLER SMART_CI 08/06/2006 09:11:04 PAGE 16
982 ;---- Variable 'endp?120' assigned to Register 'R5' ----
0013 AD07 983 MOV R5,AR7
984 ;
985 ; outportb(D12_COMMAND, endp);
986 ; SOURCE LINE # 201
0015 7F03 987 MOV R7,#03H
988 ; LCALL _outportb
0017 90FF03 989 MOV DPTR,#0FF03H
001A ED 990 MOV A,R5
001B F0 991 MOVX @DPTR,A
992 ; if((inportb(D12_DATA) & D12_FULLEMPTY) == 0) {
993 ; SOURCE LINE # 202
001C 7F02 994 MOV R7,#02H
995 ; LCALL _inportb
001E 90FF02 996 MOV DPTR,#0FF02H
0021 E0 997 MOVX A,@DPTR
0022 FF 998 MOV R7,A
0023 EF 999 MOV A,R7
0024 20E00F 1000 JB ACC.0,?C0035
1001 ; if(bEPPflags.bits.in_isr == 0)
1002 ; SOURCE LINE # 203
0027 AF00 F 1003 MOV R7,bEPPflags
0029 EF 1004 MOV A,R7
002A C4 1005 SWAP A
002B 13 1006 RRC A
002C 5407 1007 ANL A,#07H
002E 20E002 1008 JB ACC.0,?C0036
1009 ; ENABLE;
1010 ; SOURCE LINE # 204
0031 D2AF 1011 SETB EA
0033 1012 ?C0036:
1013 ; return 0;
1014 ; SOURCE LINE # 205
0033 7F00 1015 MOV R7,#00H
0035 22 1016 RET
1017 ; }
1018 ; SOURCE LINE # 206
0036 1019 ?C0035:
1020 ;
1021 ; outportb(D12_COMMAND, 0xF0);
1022 ; SOURCE LINE # 208
0036 7F03 1023 MOV R7,#03H
0038 7DF0 1024 MOV R5,#0F0H
1025 ; LCALL _outportb
003A 90FF03 1026 MOV DPTR,#0FF03H
003D ED 1027 MOV A,R5
003E F0 1028 MOVX @DPTR,A
1029 ; j = inportb(D12_DATA);
1030 ; SOURCE LINE # 209
003F 7F02 1031 MOV R7,#02H
1032 ; LCALL _inportb
0041 90FF02 1033 MOV DPTR,#0FF02H
0044 E0 1034 MOVX A,@DPTR
0045 FF 1035 MOV R7,A
0046 8F00 F 1036 MOV j?121,R7
1037 ; j = inportb(D12_DATA);
1038 ; SOURCE LINE # 210
0048 7F02 1039 MOV R7,#02H
1040 ; LCALL _inportb
004A 90FF02 1041 MOV DPTR,#0FF02H
004D E0 1042 MOVX A,@DPTR
004E FF 1043 MOV R7,A
004F 8F00 F 1044 MOV j?121,R7
1045 ;
1046 ; if(j > len)
1047 ; SOURCE LINE # 212
A51 MACRO ASSEMBLER SMART_CI 08/06/2006 09:11:04 PAGE 17
0051 E500 F 1048 MOV A,j?121
0053 D3 1049 SETB C
0054 9500 F 1050 SUBB A,len?120
0056 4003 1051 JC ?C0038
1052 ; j = len;
1053 ; SOURCE LINE # 213
0058 850000 F 1054 MOV j?121,len?120
005B 1055 ?C0038:
1056 ;
005B AB00 F 1057 MOV R3,buf?120
005D BB0222 1058 CJNE R3,#02,RDEP_002
1059 ; XDATA memory type
0060 850083 F 1060 MOV DPH,buf?120+01H
0063 850082 F 1061 MOV DPL,buf?120+02H
1062 ; for(i=0; i<j; i++)
1063 ; SOURCE LINE # 215
0066 E4 1064 CLR A
0067 F500 F 1065 MOV i?121,A
0069 1066 RDEP_001:
0069 E500 F 1067 MOV A,i?121
006B C3 1068 CLR C
006C 9500 F 1069 SUBB A,j?121
006E 5028 1070 JNC ?C0040
0070 C083 1071 PUSH DPH
0072 C082 1072 PUSH DPL
0074 90FF02 1073 MOV DPTR,#0FF02H
0077 E0 1074 MOVX A,@DPTR
0078 D082 1075 POP DPL
007A D083 1076 POP DPH
007C F0 1077 MOVX @DPTR,A
007D A3 1078 INC DPTR
007E 0500 F 1079 INC i?121
0080 80E7 1080 SJMP RDEP_001
1081 ;
0082 1082 RDEP_002:
1083 ; IDATA, DATA memory type. (PDATA not supported!)
0082 A800 F 1084 MOV R0,buf?120+02H
1085 ; for(i=0; i<j; i++)
1086 ; SOURCE LINE # 215
0084 E4 1087 CLR A
0085 F500 F 1088 MOV i?121,A
0087 90FF02 1089 MOV DPTR,#0FF02H
008A 1090 RDEP_003:
008A E500 F 1091 MOV A,i?121
008C C3 1092 CLR C
008D 9500 F 1093 SUBB A,j?121
008F 5007 1094 JNC ?C0040
0091 E0 1095 MOVX A,@DPTR
0092 F6 1096 MOV @R0,A
0093 08 1097 INC R0
0094 0500 F 1098 INC i?121
0096 80F2 1099 SJMP RDEP_003
1100
0098 1101 ?C0040:
1102 ;
1103 ;
1104 ; outportb(D12_COMMAND, 0xF2);
1105 ; SOURCE LINE # 218
0098 7F03 1106 MOV R7,#03H
009A 7DF2 1107 MOV R5,#0F2H
1108 ; LCALL _outportb
009C 90FF03 1109 MOV DPTR,#0FF03H
009F ED 1110 MOV A,R5
00A0 F0 1111 MOVX @DPTR,A
1112 ;
1113 ; if(bEPPflags.bits.in_isr == 0)
A51 MACRO ASSEMBLER SMART_CI 08/06/2006 09:11:04 PAGE 18
1114 ; SOURCE LINE # 220
00A1 AF00 F 1115 MOV R7,bEPPflags
00A3 EF 1116 MOV A,R7
00A4 C4 1117 SWAP A
00A5 13 1118 RRC A
00A6 5407 1119 ANL A,#07H
00A8 20E002 1120 JB ACC.0,?C0042
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -