;說明:這是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)
; 存儲器數(shù)據(jù)分配情況
; 類型 起始地址 長度 類型 段名
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * * ; 內(nèi)部數(shù)據(jù)內(nèi)存區(qū)分配情況,REG代表是常規(guī)寄存器,
REG 0000H 0008H ABSOLUTE "REG BANK 0" ; 寄存器類型,從0000H開始,0008H個字節(jié),絕對定位,寄存器BANK0
REG 0008H 0008H ABSOLUTE "REG BANK 1" ; 寄存器類型,從0000H開始,0008H個字節(jié),絕對定位,寄存器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型數(shù)據(jù),可訪問地址范圍0-128,或者在 128 .. 255 范圍內(nèi)的一個特殊功能寄存器(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代表可以位操作的數(shù)據(jù),是在內(nèi)部數(shù)據(jù)存儲空間中 20H .. 2FH 區(qū)域中一個位的地址,或者 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 內(nèi)的數(shù)據(jù),以間接尋址方式操作,速度略慢于DATA型數(shù)據(jù)
IDATA 006FH 0006H UNIT ?ID?1910
0075H 000BH *** GAP ***
IDATA 0080H 0001H UNIT ?STACK ;堆棧區(qū),8051壓棧的方式是向上增長,可絕對定位
* * * * * * * X D A T A M E M O R Y * * * * * * * ;外部數(shù)據(jù)內(nèi)存分配情況,XDATA表示數(shù)據(jù)存放在外部數(shù)據(jù)存儲器上
XDATA 0000H 0065H UNIT ?XD?1910 ;XDATA是存放在外部數(shù)據(jù)存儲器上的數(shù)據(jù),可訪問地址范圍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)
;以下是各函數(shù)中的數(shù)據(jù)分配情況
;段名 位操作數(shù)據(jù)起址地址 DATA數(shù)據(jù) IDATA數(shù)據(jù) XDATA數(shù)據(jù)
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()函數(shù)中數(shù)據(jù)使用情況(下面是調(diào)用的函數(shù)列表)
?PR?MAIN?1910 ----- ----- 0023H 0001H -





