📄 f_read.lst
字号:
44 2 if (++addr >= ADI_EEMEM_SIZE)
45 2 break;
46 2
47 2 if ((addr & 0x03) == 0)
48 2 {
49 3 EADRL = addr >> 2;
50 3 ECON = ADI_EE_READ_PAGE;
51 3 }
52 2 }
53 1
C51 COMPILER V7.09 F_READ 06/18/2004 09:19:32 PAGE 5
54 1 return (i);
55 1 }
56
57 /*---------------------------------------------------------
58 ---------------------------------------------------------*/
C51 COMPILER V7.09 F_READ 06/18/2004 09:19:32 PAGE 6
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Com0013 (BEGIN)
0000 L?0020:
0000 L?0021:
0000 AB00 R MOV R3,s
0002 AA00 R MOV R2,s+01H
0004 A900 R MOV R1,s+02H
0006 850082 R MOV DPL,i+03H
0009 850083 R MOV DPH,i+02H
000C 22 RET
; FUNCTION Com0013 (END)
; FUNCTION _flash_read (BEGIN)
; SOURCE LINE # 6
0000 8F00 R MOV len+03H,R7
0002 8E00 R MOV len+02H,R6
0004 8D00 R MOV len+01H,R5
0006 8C00 R MOV len,R4
;---- Variable 'buffer' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 10
; SOURCE LINE # 11
0008 8B00 R MOV s,R3
000A 8A00 R MOV s+01H,R2
000C 8900 R MOV s+02H,R1
; SOURCE LINE # 18
000E E4 CLR A
000F 7F80 MOV R7,#080H
0011 7E02 MOV R6,#02H
0013 FD MOV R5,A
0014 FC MOV R4,A
0015 AB00 R MOV R3,address+03H
0017 AA00 R MOV R2,address+02H
0019 A900 R MOV R1,address+01H
001B A800 R MOV R0,address
001D C3 CLR C
001E 120000 E LCALL ?C?ULCMP
0021 4006 JC ?C0001
; SOURCE LINE # 19
0023 E4 CLR A
0024 FF MOV R7,A
0025 FE MOV R6,A
0026 FD MOV R5,A
0027 FC MOV R4,A
0028 22 RET
0029 ?C0001:
; SOURCE LINE # 24
0029 850000 R MOV addr,address+02H
002C 850000 R MOV addr+01H,address+03H
; SOURCE LINE # 26
002F E500 R MOV A,addr+01H
0031 AE00 R MOV R6,addr
0033 7802 MOV R0,#02H
0035 ?C0013:
0035 CE XCH A,R6
0036 C3 CLR C
0037 13 RRC A
0038 CE XCH A,R6
0039 13 RRC A
003A D8F9 DJNZ R0,?C0013
003C F5C6 MOV EADRL,A
C51 COMPILER V7.09 F_READ 06/18/2004 09:19:32 PAGE 7
; SOURCE LINE # 27
003E 75B901 MOV ECON,#01H
; SOURCE LINE # 29
0041 E4 CLR A
0042 F500 R MOV i+03H,A
0044 F500 R MOV i+02H,A
0046 F500 R MOV i+01H,A
0048 F500 R MOV i,A
004A ?C0003:
004A AF00 R MOV R7,len+03H
004C AE00 R MOV R6,len+02H
004E AD00 R MOV R5,len+01H
0050 AC00 R MOV R4,len
0052 AB00 R MOV R3,i+03H
0054 AA00 R MOV R2,i+02H
0056 A900 R MOV R1,i+01H
0058 A800 R MOV R0,i
005A C3 CLR C
005B 120000 E LCALL ?C?ULCMP
005E 5078 JNC ?C0004
; SOURCE LINE # 30
; SOURCE LINE # 35
0060 E500 R MOV A,addr+01H
0062 5403 ANL A,#03H
0064 14 DEC A
0065 6011 JZ ?C0008
0067 14 DEC A
0068 6015 JZ ?C0009
006A 14 DEC A
006B 6019 JZ ?C0010
006D 2403 ADD A,#03H
006F 701D JNZ ?C0006
; SOURCE LINE # 36
; SOURCE LINE # 37
0071 ?C0007:
0071 120000 R LCALL L?0020
0074 E5BC MOV A,EDATA1
0076 8013 SJMP ?C0018
; SOURCE LINE # 38
0078 ?C0008:
0078 120000 R LCALL L?0020
007B E5BD MOV A,EDATA2
007D ?C0016:
007D 800C SJMP ?C0018
; SOURCE LINE # 39
007F ?C0009:
007F 120000 R LCALL L?0021
0082 E5BE MOV A,EDATA3
0084 ?C0017:
0084 8005 SJMP ?C0018
; SOURCE LINE # 40
0086 ?C0010:
0086 120000 R LCALL L?0021
0089 E5BF MOV A,EDATA4
008B ?C0018:
008B 120000 E LCALL ?C?CSTOPTR
; SOURCE LINE # 41
008E ?C0006:
; SOURCE LINE # 44
008E 0500 R INC addr+01H
0090 E500 R MOV A,addr+01H
0092 7002 JNZ ?C0014
C51 COMPILER V7.09 F_READ 06/18/2004 09:19:32 PAGE 8
0094 0500 R INC addr
0096 ?C0014:
0096 FF MOV R7,A
0097 AE00 R MOV R6,addr
0099 E4 CLR A
009A FC MOV R4,A
009B FD MOV R5,A
009C 7B80 MOV R3,#080H
009E 7A02 MOV R2,#02H
00A0 F9 MOV R1,A
00A1 F8 MOV R0,A
00A2 D3 SETB C
00A3 120000 E LCALL ?C?ULCMP
00A6 4030 JC ?C0004
; SOURCE LINE # 45
00A8 ?C0011:
; SOURCE LINE # 47
00A8 E500 R MOV A,addr+01H
00AA 5403 ANL A,#03H
00AC 7012 JNZ ?C0005
; SOURCE LINE # 48
; SOURCE LINE # 49
00AE E500 R MOV A,addr+01H
00B0 AE00 R MOV R6,addr
00B2 7802 MOV R0,#02H
00B4 ?C0015:
00B4 CE XCH A,R6
00B5 C3 CLR C
00B6 13 RRC A
00B7 CE XCH A,R6
00B8 13 RRC A
00B9 D8F9 DJNZ R0,?C0015
00BB F5C6 MOV EADRL,A
; SOURCE LINE # 50
00BD 75B901 MOV ECON,#01H
; SOURCE LINE # 51
; SOURCE LINE # 52
00C0 ?C0005:
00C0 E500 R MOV A,i+03H
00C2 2401 ADD A,#01H
00C4 F500 R MOV i+03H,A
00C6 E4 CLR A
00C7 3500 R ADDC A,i+02H
00C9 F500 R MOV i+02H,A
00CB E4 CLR A
00CC 3500 R ADDC A,i+01H
00CE F500 R MOV i+01H,A
00D0 E4 CLR A
00D1 3500 R ADDC A,i
00D3 F500 R MOV i,A
00D5 020000 R LJMP ?C0003
00D8 ?C0004:
; SOURCE LINE # 54
00D8 AF00 R MOV R7,i+03H
00DA AE00 R MOV R6,i+02H
00DC AD00 R MOV R5,i+01H
00DE AC00 R MOV R4,i
; SOURCE LINE # 55
00E0 ?C0002:
00E0 22 RET
; FUNCTION _flash_read (END)
C51 COMPILER V7.09 F_READ 06/18/2004 09:19:32 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
EDATA1 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BCH 1
EDATA2 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BDH 1
EDATA3 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BEH 1
EDATA4 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BFH 1
I2CCON . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
DCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
ECON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B9H 1
EADRL. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C6H 1
_flash_read. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
buffer . . . . . . . . . . . . . . . AUTO DATA VOID_PTR 0001H 3
len. . . . . . . . . . . . . . . . . AUTO DATA U_LONG 0003H 4
address. . . . . . . . . . . . . . . AUTO DATA U_LONG 0007H 4
s. . . . . . . . . . . . . . . . . . AUTO DATA PTR 000BH 3
i. . . . . . . . . . . . . . . . . . AUTO DATA U_LONG 000EH 4
addr . . . . . . . . . . . . . . . . AUTO DATA U_INT 0012H 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 238 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 20
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -