博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
M51文件注释
阅读量:4553 次
发布时间:2019-06-08

本文共 6596 字,大约阅读时间需要 21 分钟。

【转】http://www.cnblogs.com/heiyue/p/3296963.html ;说明:这是1950编译后生成的Keil_1910.M51文件,以此为例来讲解M51文件                                                        12/30/2009  16:15:01  PAGE 1BL51 BANKED LINKER/LOCATER V6.11, INVOKED BY:C:\KEIL\C51\BIN\BL51.EXE 1910base.obj, 1910.obj TO Keil_1910 RAMSIZE (256) STACK (?STACK (0080H))MEMORY MODEL: SMALL WITH FLOATING POINT ARITHMETICINPUT MODULES INCLUDED:  1910base.obj (PROC1910)  1910.obj (1910)  C:\KEIL\C51\LIB\C51FPS.LIB (?C?FPADD)  ………………………………  ;省略类同部分  C:\KEIL\C51\LIB\C51S.LIB (?C?LSTPDATA)LINK MAP OF MODULE:  Keil_1910 (PROC1910);           存储器数据分配情况;           类型    起始地址    长度       类型           段名            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME            -----------------------------------------------------            * * * * * * *   D A T A   M E M O R Y   * * * * * * *  ; 内部数据内存区分配情况,REG代表是常规寄存器,            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"  ; 寄存器类型,从0000H开始,0008H个字节,绝对定位,寄存器BANK0             REG     0008H     0008H     ABSOLUTE     "REG BANK 1"  ; 寄存器类型,从0000H开始,0008H个字节,绝对定位,寄存器BANK1             DATA    0010H     0006H     UNIT         ?DT?1910BL51 BANKED LINKER/LOCATER V6.11                                                      12/30/2009  16:15:01  PAGE 2            DATA    0016H     0005H     UNIT         ?DT?_WRITESLITPARAMETER?1910    ;DATA代表是DATA型数据,可访问地址范围0-128,或者在 128 .. 255 范围内的一个特殊功能寄存器(SFR),以直接寻址方式操作            DATA    001BH     0004H     UNIT         ?DT?_READSLITPARAMETER?1910                    001FH     0001H                  *** GAP ***                     ;代表空余,未用            DATA    0020H     0001H     BIT_ADDR     ?BA?1910            BIT     0021H.0   0001H.4   UNIT         ?BI?1910                        ;BIT代表可以位操作的数据,是在内部数据存储空间中 20H .. 2FH 区域中一个位的地址,或者 8051 位可寻址 SFR 的一个位地址。            BIT     0022H.4   0000H.4   UNIT         _BIT_GROUP_            DATA    0023H     002DH     UNIT         _DATA_GROUP_            IDATA   0050H     001FH     UNIT         _IDATA_GROUP_                   ;IDATA是可访问地址范围 0 to 255 内的数据,以间接寻址方式操作,速度略慢于DATA型数据            IDATA   006FH     0006H     UNIT         ?ID?1910                    0075H     000BH                  *** GAP ***            IDATA   0080H     0001H     UNIT         ?STACK                          ;堆栈区,8051压栈的方式是向上增长,可绝对定位            * * * * * * *  X D A T A   M E M O R Y  * * * * * * *                    ;外部数据内存分配情况,XDATA表示数据存放在外部数据存储器上            XDATA   0000H     0065H     UNIT         ?XD?1910                        ;XDATA是存放在外部数据存储器上的数据,可访问地址范围0-65535,速度最慢            XDATA   0065H     000CH     UNIT         _XDATA_GROUP_            * * * * * * *   C O D E   M E M O R Y   * * * * * * *                    ;程序存储器分配情况,CODE代表是的程序指令            CODE    0000H     0003H     ABSOLUTE                 CODE    0003H     0005H     UNIT         ?PR?RESETWATCHDOGTIMER?1910                    0008H     0003H                  *** GAP ***            CODE    000BH     0003H     ABSOLUTE                ………………………… ;省略类同部分             CODE    000EH     0011H     UNIT         ?PR?_XWRITEPOINTER?1910            CODE    5846H     0039H     UNIT         ?PR?_READPORT?1910            CODE    587FH     0031H     UNIT         ?PR?_X5045_WRITE?1910            CODE    58B0H     0030H     UNIT         ?PR?X5045_READ?1910            CODE    58E0H     002CH     UNIT         ?PR?INITSYSTEM?1910            CODE    590CH     002CH     UNIT         ?PR?_XOUTBYTE?1910            CODE    5938H     0028H     UNIT         ?PR?XINBYTE?1910            CODE    5960H     0025H     UNIT         ?PR?_XREADCHAR?1910            CODE    5985H     0020H     UNIT         ?PR?READSERIALADDRESS?1910            CODE    59A5H     0020H     UNIT         ?CO?1910            CODE    59C5H     0017H     UNIT         ?PR?SETWRITESTATE?1910            CODE    59DCH     000CH     UNIT         ?PR?GETWIPSTATE?1910            CODE    59E8H     000CH     UNIT         ?PR?_ABS?ABSOVERLAY MAP OF MODULE:   Keil_1910 (PROC1910);以下是各函数中的数据分配情况;段名                                       位操作数据起址地址      DATA数据             IDATA数据           XDATA数据SEGMENT                                       BIT_GROUP          DATA_GROUP          IDATA_GROUP         XDATA_GROUP  +--> CALLED SEGMENT                      START    LENGTH     START    LENGTH     START    LENGTH     START    LENGTH----------------------------------------------------------------------------------------------------------------------?C_C51STARTUP                              -----    -----      -----    -----      -----    -----      -----    -----  +--> ?PR?MAIN?1910  +--> ?C_INITSEG  ; main()函数中数据使用情况(下面是调用的函数列表)?PR?MAIN?1910                              -----    -----      0023H    0001H      -----    -----      -----    -----  +--> ?PR?INITSYS?1910  +--> ?PR?SENDBACKACCUMULATEERROR?1910  +--> ?PR?INSTRECEIVEOK?1910  +--> ?PR?EXECUTEINSTRUCTION?1910  +--> ?PR?RESETWATCHDOGTIMER?1910…………………………………;省略类同部分;以下是变量、常量和寄存器等的存储位置分配SYMBOL TABLE OF MODULE:  Keil_1910 (PROC1910);地址            类型          名称  VALUE           TYPE          NAME  ----------------------------------  -------         MODULE        PROC1910  C:55B0H         SEGMENT       ASMFUNCTIONS              ;C:55B0H--C代表是在Code区,即存在程序存储器(ROM)上,55B0H是地址  C:55C1H         PUBLIC        DETERMINEBAUDRATE  ……………………………………;省略类同部分    D:00A8H         SYMBOL        IE                        ;D代表DATA型数据,存在RAM上0-127之间,或者在 128 .. 255 范围内的一个特殊功能寄存器(SFR),  ……………………………………;类同部分省略  N:0000H         SYMBOL        PROC1910  ……………………………………;  B:0088H.4       SYMBOL        TR0                       ;B代表可以位寻址的数据或寄存器  B:0088H.6       SYMBOL        TR1  ……………………………………;  C:0000H         SYMBOL        _ICE_DUMMY_     X:0000H         PUBLIC        LampMotorCurrentPhase     ;X代表存放在外部存储器XRAM区的数据  C:4E55H         PUBLIC        SendBack  …………………………………;  C:0026H         PUBLIC        ExecuteInstruction        ;C代表村放在CODE驱动的数据或指令  D:00B0H         PUBLIC        P3  C:4ADEH         PUBLIC        _ReadAD  C:568AH         PUBLIC        InstReceiveOK  ……………………………………;  I:0071H         PUBLIC        ScanEndWaveLength         ;I 代表可以IDATA型数据  …………………………………  C:41E9H         PUBLIC        _CheckLampEnergy  X:0049H         PUBLIC        FilterMotorCurrentPhase  ……………………………………;省略;以下是编译结果*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS    SEGMENT: ?PR?_WRITESLITPARAMETER?1910*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS    SEGMENT: ?PR?ASSIGNSLITPARAMETER?1910Program Size: data=117.0 xdata=113 code=23021LINK/LOCATE RUN COMPLETE.  2 WARNING(S),  0 ERROR(S)

转载于:https://www.cnblogs.com/zzmx/p/4227843.html

你可能感兴趣的文章
imx6 system boot
查看>>
[SDOI2017]硬币游戏
查看>>
Azure 网站、云服务和虚拟机比较
查看>>
Windows 10在2018四月更新中默认安装了OpenSSH客户端
查看>>
jQuery常用函数
查看>>
一个忙着找实习工作的大三在校生的真实感受!!!
查看>>
Linux 下的 scp
查看>>
理解同步,异步和延迟脚本
查看>>
MMS源码中异步处理简析
查看>>
XMind 6 如何画流程图
查看>>
final发布评价
查看>>
DLL远程注入与卸载
查看>>
Jmeter-ForEach控制器
查看>>
Checklist: 2019 05.01 ~ 06.30
查看>>
Binary XML file : Error inflating class com.esri.android.map.MapView
查看>>
grep,awk和sed
查看>>
.NET Core WebAPI IIS 部署问题
查看>>
SystemTap 静态探针安装包
查看>>
数据模型
查看>>
[LeetCode&Python] Problem 371. Sum of Two Integers
查看>>