***.M51文件详细注释
扫描二维码
随时随地手机看文章
;说明:这是1950编译后生成的Keil_1910.M51文件,以此为例来讲解M51文件
12/30/2009 16:15:01 PAGE 1
BL51 BANKED LINKER/LOCATER V6.11, INVOKED BY:
C:KEILC51BINBL51.EXE 1910base.obj, 1910.obj TO Keil_1910 RAMSIZE (256) STACK (?STACK (0080H))
MEMORY MODEL: SMALL WITH FLOATING POINT ARITHMETIC
INPUT MODULES INCLUDED:
1910base.obj (PROC1910)
1910.obj (1910)
C:KEILC51LIBC51FPS.LIB (?C?FPADD)
……………………………… ;省略类同部分
C:KEILC51LIBC51S.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?1910
BL51 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?ABS
OVERLAY 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 -