⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 block1.lst

📁 一种用SST89系列单片机的用户程序存储量达到72K的方法,开发大的系统时,工程师就不用想法设法将代码空间缩小到64K之内了.
💻 LST
字号:
C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE BLOCK1
OBJECT MODULE PLACED IN Block1.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Block1.C BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

line level    source

   1          #include <SST89X5XXRD2.H>
   1      =1  /*  BYTE Registers  */
   2      =1  sfr P0    = 0x80;
   3      =1  sfr P1    = 0x90;
   4      =1  sfr P2    = 0xA0;
   5      =1  sfr P3    = 0xB0;
   6      =1  sfr PSW   = 0xD0;
   7      =1  sfr ACC   = 0xE0;
   8      =1  sfr B     = 0xF0;
   9      =1  sfr SP    = 0x81;
  10      =1  sfr DPL   = 0x82;
  11      =1  sfr DPH   = 0x83;
  12      =1  sfr PCON  = 0x87;
  13      =1  sfr TCON  = 0x88;
  14      =1  sfr TMOD  = 0x89;
  15      =1  sfr TL0   = 0x8A;
  16      =1  sfr TL1   = 0x8B;
  17      =1  sfr TH0   = 0x8C;
  18      =1  sfr TH1   = 0x8D;
  19      =1  sfr IE    = 0xA8;
  20      =1  sfr IP    = 0xB8;
  21      =1  sfr SCON  = 0x98;
  22      =1  sfr SBUF  = 0x99;
  23      =1  
  24      =1  /*  8052 Extensions */
  25      =1  sfr T2CON  = 0xC8;
  26      =1  sfr T2MOD  = 0xC9;
  27      =1  sfr RCAP2L = 0xCA;
  28      =1  sfr RCAP2H = 0xCB;
  29      =1  sfr TL2    = 0xCC;
  30      =1  sfr TH2    = 0xCD;
  31      =1  
  32      =1  /*  89x5xxRD2 Extensions */
  33      =1  sfr IPA   = 0xF8;
  34      =1  sfr IEA   = 0xE8;
  35      =1  sfr SADDR = 0xA9;
  36      =1  sfr SADEN = 0xB9;
  37      =1  sfr SPSR  = 0xAA;
  38      =1  sfr AUXR1 = 0xA2;
  39      =1  sfr AUXR  = 0x8E;
  40      =1  sfr WDTD  = 0x85;
  41      =1  sfr WDTC  = 0xC0;
  42      =1  sfr SPDR  = 0x86;
  43      =1  sfr SFCF  = 0xB1;
  44      =1  sfr SFCM  = 0xB2;
  45      =1  sfr SFAL  = 0xB3;
  46      =1  sfr SFAH  = 0xB4;
  47      =1  sfr SFDT  = 0xB5;
  48      =1  sfr SFST  = 0xB6;
  49      =1  sfr IPH   = 0xB7;
  50      =1  sfr SPCR  = 0xD5;
  51      =1  sfr IPAH  = 0xF7;
  52      =1  sfr P4    = 0xA5;
  53      =1  sfr XICON = 0xAE;
  54      =1  
C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 2   

  55      =1  /*  PCA   */
  56      =1  sfr CCON  = 0xD8;
  57      =1  sfr CMOD  = 0xD9;
  58      =1  sfr CL    = 0XE9;
  59      =1  sfr CH    = 0xF9;
  60      =1  
  61      =1  sfr CCAPM0= 0XDA;
  62      =1  sfr CCAPM1= 0XDB;
  63      =1  sfr CCAPM2= 0XDC;
  64      =1  sfr CCAPM3= 0XDD;
  65      =1  sfr CCAPM4= 0XDE;
  66      =1  
  67      =1  sfr CCAP0L= 0XEA;
  68      =1  sfr CCAP1L= 0XEB;
  69      =1  sfr CCAP2L= 0XEC;
  70      =1  sfr CCAP3L= 0XED;
  71      =1  sfr CCAP4L= 0XEE;
  72      =1  
  73      =1  sfr CCAP0H= 0XFA;
  74      =1  sfr CCAP1H= 0XFB;
  75      =1  sfr CCAP2H= 0XFC;
  76      =1  sfr CCAP3H= 0XFD;
  77      =1  sfr CCAP4H= 0XFE;
  78      =1  
  79      =1  
  80      =1  
  81      =1  /*  BIT Registers  */
  82      =1  /*  PSW  */
  83      =1  sbit CY    = PSW^7;
  84      =1  sbit AC    = PSW^6;
  85      =1  sbit F0    = PSW^5;
  86      =1  sbit RS1   = PSW^4;
  87      =1  sbit RS0   = PSW^3;
  88      =1  sbit OV    = PSW^2;
  89      =1  sbit P     = PSW^0; 
  90      =1  
  91      =1  /*  TCON  */
  92      =1  sbit TF1   = TCON^7;
  93      =1  sbit TR1   = TCON^6;
  94      =1  sbit TF0   = TCON^5;
  95      =1  sbit TR0   = TCON^4;
  96      =1  sbit IE1   = TCON^3;
  97      =1  sbit IT1   = TCON^2;
  98      =1  sbit IE0   = TCON^1;
  99      =1  sbit IT0   = TCON^0;
 100      =1  
 101      =1  /*  IE  */
 102      =1  sbit EA    = IE^7;
 103      =1  sbit EC    = IE^6;
 104      =1  sbit ET2   = IE^5; 
 105      =1  sbit ES    = IE^4;
 106      =1  sbit ET1   = IE^3;
 107      =1  sbit EX1   = IE^2;
 108      =1  sbit ET0   = IE^1;
 109      =1  sbit EX0   = IE^0;
 110      =1  
 111      =1  /*  IP  */
 112      =1  sbit PPC   = IP^6;
 113      =1  sbit PT2   = IP^5;
 114      =1  sbit PS    = IP^4;
 115      =1  sbit PT1   = IP^3;
 116      =1  sbit PX1   = IP^2;
C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 3   

 117      =1  sbit PT0   = IP^1;
 118      =1  sbit PX0   = IP^0;
 119      =1  
 120      =1  /*  P3  */
 121      =1  sbit RD    = P3^7;
 122      =1  sbit WR    = P3^6;
 123      =1  sbit T1    = P3^5;
 124      =1  sbit T0    = P3^4;
 125      =1  sbit INT1  = P3^3;
 126      =1  sbit INT0  = P3^2;
 127      =1  sbit TXD   = P3^1;
 128      =1  sbit RXD   = P3^0;
 129      =1  
 130      =1  /*  SCON  */
 131      =1  sbit SM0   = SCON^7;
 132      =1  sbit FE    = SCON^7;
 133      =1  sbit SM1   = SCON^6;
 134      =1  sbit SM2   = SCON^5;
 135      =1  sbit REN   = SCON^4;
 136      =1  sbit TB8   = SCON^3;
 137      =1  sbit RB8   = SCON^2;
 138      =1  sbit TI    = SCON^1;
 139      =1  sbit RI    = SCON^0;
 140      =1  
 141      =1  /*  P1  */
 142      =1  sbit CEX4  = P1^7;
 143      =1  sbit CEX3  = P1^6;
 144      =1  sbit CEX2  = P1^5;
 145      =1  sbit CEX1  = P1^4;
 146      =1  sbit CEX0  = P1^3;
 147      =1  sbit ECI   = P1^2;
 148      =1  sbit T2EX  = P1^1; 
 149      =1  sbit T2    = P1^0; 
 150      =1               
 151      =1  /*  T2CON  */
 152      =1  sbit TF2    = T2CON^7;
 153      =1  sbit EXF2   = T2CON^6;
 154      =1  sbit RCLK   = T2CON^5;
 155      =1  sbit TCLK   = T2CON^4;
 156      =1  sbit EXEN2  = T2CON^3;
 157      =1  sbit TR2    = T2CON^2;
 158      =1  sbit C_T2   = T2CON^1;
 159      =1  sbit CP_RL2 = T2CON^0;
 160      =1  
 161      =1  /*   CCON   */
 162      =1  sbit CF     = CCON^7;
 163      =1  sbit CR     = CCON^6;
 164      =1  sbit CCF4   = CCON^4;
 165      =1  sbit CCF3   = CCON^3;
 166      =1  sbit CCF2   = CCON^2;
 167      =1  sbit CCF1   = CCON^1;
 168      =1  sbit CCF0   = CCON^0;
 169      =1  
 170      =1  /*   WDTC   */
 171      =1  sbit WDOUT  = WDTC^4;
 172      =1  sbit WDRE   = WDTC^3;
 173      =1  sbit WDTS   = WDTC^2;
 174      =1  sbit WDT    = WDTC^1;
 175      =1  sbit SWDT   = WDTC^0;
 176      =1  
 177      =1  /*   IEA    */
 178      =1  sbit EBO    = IEA^3;
C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 4   

 179      =1  
 180      =1  /*   IPH    */
 181      =1  sbit PBO    = IPA^3;
 182      =1  
   2          
   3          /*********************************************************************************************************
             -**
   4          * 字节编程函数---Flash_Block0_byte_program()            //对MCU内部FLASH的BLOCK0区域单字节编程函数
   5          * 输入参数:     dataAddr---编程的字节地址
   6          * 输入参数:     dataByte---编程的数据
   7          **********************************************************************************************************
             -*/
   8          extern void Flash_Block0_byte_program(unsigned short int dataAddr, unsigned char dataByte)
   9          {
  10   1              unsigned short int destAddr = dataAddr;
  11   1              SFCF = SFCF | 0x40; // SFCF.6=1: IAP功能使能,
  12   1              SFCF = SFCF & ~0x01; // SFCF.0=0: 选择Block0
  13   1              SFAH = destAddr>>8; // 将扇区地址的高8位装入FLASH的高8位地址寄存器(SFAH)中
  14   1              SFAL = destAddr;        // 将扇区地址的低8位装入FLASH的低8位地址寄存器(SFAL)中
  15   1              SFDT = dataByte;        // 在FLASH的数据寄存器(SFDT)中填入编程的数据--dataByte
  16   1              SFCM = 0x0e;    // 在FLASH的命令寄存器(SFCM)中填入字节编程命令--SFCM_PB=0X0E
  17   1              while (SFST&0x04);              //SFST.2=0:IAP操作完成
  18   1              SFCF = SFCF & ~0x40; // SFCF.6=0: IAP功能禁止
  19   1              SFDT = 0;                               //清除原来的FLASH数据寄存器,
  20   1      }
  21          
  22          
C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 5   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _Flash_Block0_byte_program (BEGIN)
                                           ; SOURCE LINE # 8
;---- Variable 'dataByte' assigned to Register 'R5' ----
;---- Variable 'dataAddr' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 9
                                           ; SOURCE LINE # 10
;---- Variable 'destAddr' assigned to Register 'R2/R3' ----
0000 AB07              MOV     R3,AR7
0002 AA06              MOV     R2,AR6
                                           ; SOURCE LINE # 11
0004 43B140            ORL     SFCF,#040H
                                           ; SOURCE LINE # 12
0007 53B1FE            ANL     SFCF,#0FEH
                                           ; SOURCE LINE # 13
000A 8AB4              MOV     SFAH,R2
                                           ; SOURCE LINE # 14
000C 8BB3              MOV     SFAL,R3
                                           ; SOURCE LINE # 15
000E 8DB5              MOV     SFDT,R5
                                           ; SOURCE LINE # 16
0010 75B20E            MOV     SFCM,#0EH
0013         ?C0001:
                                           ; SOURCE LINE # 17
0013 E5B6              MOV     A,SFST
0015 20E2FB            JB      ACC.2,?C0001
0018         ?C0002:
                                           ; SOURCE LINE # 18
0018 53B1BF            ANL     SFCF,#0BFH
                                           ; SOURCE LINE # 19
001B E4                CLR     A
001C F5B5              MOV     SFDT,A
                                           ; SOURCE LINE # 20
001E 22                RET     
             ; FUNCTION _Flash_Block0_byte_program (END)

C51 COMPILER V7.50   BLOCK1                                                                11/17/2005 23:12:26 PAGE 6   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
SFAH . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B4H  1
SFCF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B1H  1
CCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D8H  1
SFAL . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B3H  1
SFCM . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B2H  1
SFDT . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B5H  1
WDTC . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C0H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
SFST . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B6H  1
_Flash_Block0_byte_program . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dataAddr . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  dataByte . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  destAddr . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
IEA. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E8H  1
IPA. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00F8H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     31    ----
   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)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -