C51 COMPILER V9.52.0.0   TE                                                                12/08/2025 20:07:38 PAGE 1   


C51 COMPILER V9.52.0.0, COMPILATION OF MODULE TE
OBJECT MODULE PLACED IN te.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE te.c BROWSE DEBUG OBJECTEXTEND TABS(2)

line level    source

   1          #include <STC15F2K60S2.H>
   2          #include <absacc.h>
   3          char idata x1 _at_ 0x9C;
   4          char data x2 _at_ 0x30;
   5          char xdata x3 _at_ 0x1130;
   6          void RAM_low128Bdata();//*******访问低128字节RAM数据区
   7          void RAM_hi128Bdata();//*******访问高128字节RAM数据区
   8          void XRAM_fun();//*******访问XRAM
   9          
  10          void main(){
  11   1      
  12   1        
  13   1        RAM_low128Bdata();//*******访问低128字节RAM数据区：向data物理地址0x30写数据0x11
  14   1        
  15   1        RAM_hi128Bdata();//*******访问高128字节RAM数据区：向idata物理地址0x9C写数据0xBB
  16   1        
  17   1        XRAM_fun();//**********访问片外RAM数据区：向xdata物理地址0x1130写数据0xAC
  18   1      
  19   1        
  20   1        
  21   1      }
  22          
  23          
  24          
  25          //*******访问低128字节RAM数据区：向data物理地址0x30写数据0x11
  26          void RAM_low128Bdata(){
  27   1        
  28   1          //方式1：指针
  29   1        char data *p;
  30   1        p = 0x30;
  31   1        *p = 0x11;
  32   1        
  33   1        
  34   1        //方式2：用绝对宏
  35   1        DBYTE[0x30] = 0x11;
  36   1        
  37   1        //方式3：用_at_关键字指定变量在存储空间的绝对地址
  38   1        x2 = 0x11;
  39   1      
  40   1      }
  41          
  42          //*******访问高128字节RAM数据区：向idata物理地址0x9C写数据0xBB
  43          void RAM_hi128Bdata(){
  44   1        
  45   1        //方式1：指针
  46   1        
  47   1        char idata *p;
  48   1        p = 0x9c;
  49   1        *p = 0xAA;
  50   1        
  51   1        //方式2：指针
  52   1      //  char  *p2;
  53   1      //  p2 = (char idata *)0x9C;
  54   1      //  *p2 = 0xAA;
  55   1        
C51 COMPILER V9.52.0.0   TE                                                                12/08/2025 20:07:38 PAGE 2   

  56   1        //方式3：用绝对宏
  57   1      //  DBYTE[0x9C] = 0xAA;
  58   1        
  59   1        //方式4：用_at_关键字指定变量在存储空间的绝对地址
  60   1        x1 = 0xAA;
  61   1        
  62   1      
  63   1      }
  64          
  65          //**********访问片外RAM数据区：向xdata物理地址0x1130写数据0xAC
  66          void XRAM_fun(){
  67   1        
  68   1        //方式1：指针
  69   1        
  70   1        char xdata *p;
  71   1        p = 0x1130;
  72   1        *p = 0xAC;
  73   1        
  74   1        //方式2：指针
  75   1        
  76   1      //  char xdata *pp;
  77   1      //  pp= (char xdata *)0x1130;
  78   1      //  *pp = 0xAC;
  79   1      
  80   1        //方式3：用绝对宏
  81   1      
  82   1        XBYTE[0x1130] = 0xAC;
  83   1        
  84   1        //方式4：用_at_关键字指定变量在存储空间的绝对地址
  85   1        x3 = 0xAC;
  86   1      
  87   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     37    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
