📄 f_read.lst
字号:
C51 COMPILER V6.03 F_READ 10/07/2000 00:42:35 PAGE 1
C51 COMPILER V6.03, COMPILATION OF MODULE F_READ
OBJECT MODULE PLACED IN .\f_read.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\f_read.c OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND
stmt level source
1 #include <ADUC812.H>
2 #include "f_adi.h"
3
4 /*---------------------------------------------------------
5 ---------------------------------------------------------*/
6 unsigned long flash_read (
7 void *buffer, /* Buffer to fill */
8 unsigned long len, /* Bytes to read */
9 unsigned long address) /* FLASH address to read from */
10 {
11 1 unsigned char *s = buffer;
12 1 unsigned long i;
13 1 unsigned int addr;
14 1
15 1 /*-------------------------------------
16 1 If the address is too big, exit.
17 1 --------------------------------------*/
18 1 if (address >= ADI_EEMEM_SIZE)
19 1 return (0UL);
20 1
21 1 /*-------------------------------------
22 1 Otherwise, read the starting page.
23 1 --------------------------------------*/
24 1 addr = (unsigned int) address;
25 1
26 1 EADRL = addr >> 2;
27 1 ECON = ADI_EE_READ_PAGE;
28 1
29 1 for (i = 0; i < len; i++)
30 1 {
31 2
32 2 /*-------------------------------------
33 2 Read the appropriate EE byte.
34 2 --------------------------------------*/
35 2 switch (addr & 0x03)
36 2 {
37 3 case 0: s[i] = EDATA1; break;
38 3 case 1: s[i] = EDATA2; break;
39 3 case 2: s[i] = EDATA3; break;
40 3 case 3: s[i] = EDATA4; break;
41 3 }
42 2
43 2
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
54 1 return (i);
55 1 }
C51 COMPILER V6.03 F_READ 10/07/2000 00:42:35 PAGE 2
56
57 /*---------------------------------------------------------
58 ---------------------------------------------------------*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 250 ----
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 + -