***.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-
推荐阅读
- 卫浴安装钢化玻璃材质淋浴门 详细的安装步骤
- STM32 keil 添加.h文件方法
- 打破大陆市场空白!详细解析COF封装技术
- 水电验收流程的详细介绍 水电验收怎么做的
- 最详细的青石板铺装攻略_二
- 三室两厅两卫装修设计 详细设计攻略分享
- 三室两厅两卫装修流程详细装修步骤分享
- 三室二厅二卫装修水电 详细水电施工分享
- 三室两厅两卫装修预算 详细报价表
- 三室一厅一厨一卫装修报价详细报价分享