***.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)


;存储器数据分配情况
;类型起始地址长度类型段名
TYPEBASELENGTHRELOCATIONSEGMENT NAME
-----------------------------------------------------


* * * * * * *D A T AM E M O R Y* * * * * * * ; 内部数据内存区分配情况,REG代表是常规寄存器,
REG0000H0008HABSOLUTE"REG BANK 0" ; 寄存器类型,从0000H开始,0008H个字节,绝对定位,寄存器BANK0
REG0008H0008HABSOLUTE"REG BANK 1" ; 寄存器类型,从0000H开始,0008H个字节,绝对定位,寄存器BANK1
DATA0010H0006HUNIT?DT?1910




BL51 BANKED LINKER/LOCATER V6.1112/30/2009 16:15:01 PAGE 2




DATA0016H0005HUNIT?DT?_WRITESLITPARAMETER?1910;DATA代表是DATA型数据,可访问地址范围0-128,或者在 128 .. 255 范围内的一个特殊功能寄存器(SFR),以直接寻址方式操作
【***.M51文件详细注释】DATA001BH0004HUNIT?DT?_READSLITPARAMETER?1910
001FH0001H*** GAP ***;代表空余,未用
DATA0020H0001HBIT_ADDR?BA?1910
BIT0021H.00001H.4UNIT?BI?1910;BIT代表可以位操作的数据,是在内部数据存储空间中 20H .. 2FH 区域中一个位的地址,或者 8051 位可寻址 SFR 的一个位地址 。
BIT0022H.40000H.4UNIT_BIT_GROUP_
DATA0023H002DHUNIT_DATA_GROUP_
IDATA0050H001FHUNIT_IDATA_GROUP_;IDATA是可访问地址范围 0 to 255 内的数据,以间接寻址方式操作,速度略慢于DATA型数据
IDATA006FH0006HUNIT?ID?1910
0075H000BH*** GAP ***
IDATA0080H0001HUNIT?STACK;堆栈区,8051压栈的方式是向上增长,可绝对定位


* * * * * * * X D A T AM E M O R Y * * * * * * *;外部数据内存分配情况,XDATA表示数据存放在外部数据存储器上
XDATA0000H0065HUNIT?XD?1910;XDATA是存放在外部数据存储器上的数据,可访问地址范围0-65535,速度最慢
XDATA0065H000CHUNIT_XDATA_GROUP_


* * * * * * *C O D EM E M O R Y* * * * * * *;程序存储器分配情况,CODE代表是的程序指令
CODE0000H0003HABSOLUTE
CODE0003H0005HUNIT?PR?RESETWATCHDOGTIMER?1910
0008H0003H*** GAP ***
CODE000BH0003HABSOLUTE
………………………… ;省略类同部分
CODE000EH0011HUNIT?PR?_XWRITEPOINTER?1910
CODE5846H0039HUNIT?PR?_READPORT?1910
CODE587FH0031HUNIT?PR?_X5045_WRITE?1910
CODE58B0H0030HUNIT?PR?X5045_READ?1910
CODE58E0H002CHUNIT?PR?INITSYSTEM?1910
CODE590CH002CHUNIT?PR?_XOUTBYTE?1910
CODE5938H0028HUNIT?PR?XINBYTE?1910
CODE5960H0025HUNIT?PR?_XREADCHAR?1910
CODE5985H0020HUNIT?PR?READSERIALADDRESS?1910
CODE59A5H0020HUNIT?CO?1910
CODE59C5H0017HUNIT?PR?SETWRITESTATE?1910
CODE59DCH000CHUNIT?PR?GETWIPSTATE?1910
CODE59E8H000CHUNIT?PR?_ABS?ABS






OVERLAY MAP OF MODULE:Keil_1910 (PROC1910)


;以下是各函数中的数据分配情况
;段名位操作数据起址地址DATA数据IDATA数据XDATA数据
SEGMENTBIT_GROUPDATA_GROUPIDATA_GROUPXDATA_GROUP
+--> CALLED SEGMENTSTARTLENGTHSTARTLENGTHSTARTLENGTHSTARTLENGTH
----------------------------------------------------------------------------------------------------------------------
?C_C51STARTUP----------------------------------------
+--> ?PR?MAIN?1910
+--> ?C_INITSEG
; main()函数中数据使用情况(下面是调用的函数列表)
?PR?MAIN?1910----------0023H0001H-

    推荐阅读