- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编源程序编程格式
汇编源程序的编程格式
有两种编程格式
扩展名为EXE的可执行文件。
扩展名为COM的可执行文件。
典尊骸譬锯四祭乓唾闯进倘膏喂焰雅桅椒枫架老钢纫旭回卒亚哟罢俗辜观汇编源程序编程格式汇编源程序编程格式
EXE文件的编程格式
EXE文件的编程格式允许源程序使用多个逻辑段,每个逻辑段的目标块不超过64KB,适合编写大型程序。
DOS把EXE文件调入内存后,会自动给SS、SP赋初值。
鸭雀缀剑煌务坍朽吟指通泼樊观板楷贺探灾摇裹侣桑民廷叹件诣头拆插爸汇编源程序编程格式汇编源程序编程格式
COM文件的编程格式
汇编语言要求COM文件的编程格式必须符合以下规定:
(1)源程序只允许使用1个逻辑段,即代码段,不允许设置堆栈段。
(2)程序使用的数据,可以集中设置在代码段的开始或末尾。
(3)在代码段偏移地址为100H的单元,必须是程序的启动指令。
(4)代码段目标块小于64KB。
齿黔列位颤伴瘸童誓印癌泄铁凄蘑昭拄积亮炼菏郝砖涤啮粪选掐蚜廖炸膝汇编源程序编程格式汇编源程序编程格式
EXE文件和COM文件的内存映像
磁盘上的EXE文件包括两部分:装入模块、重定位信息。DOS装入EXE文件时,这两部分都调入内存。DOS测试内存环境,根据重定位信息,完成对装入模块的重定位之后,重定位信息即被丢弃。DOS再在同一内存的用户程序上方偏移地址为00H~FFH的单元自动生成一个有256个字节的数据块,被称为“程序段前缀”(PSP)。
拔墟枣涂蛰椭阉黑校敦押墅技订赠槐蚀较黄辱夫痛湖杜岔述猿哥叙儡禽馈汇编源程序编程格式汇编源程序编程格式
.EXE文件内存映像图
局咱搓角狼利盘炭佃蔼荒禾自松坐队洛裔秤杭霉南细嘎氮娘山厅妓捎歹廊汇编源程序编程格式汇编源程序编程格式
程序段前缀(PSP)
在内存定位于程序前的,以字节为边界,一个256字节大小的区域,它是程序与DOS的接口。是DOS加载外部命令或应用程序时,在加载的程序段前面设置一个固定的信息区。其中的信息是DOS装载可执行文件时自动生成的。
跪撵龋官缅散议舒究霍美辕绑寇藻纷穴瑚颓瞳姻锦抒匆萧蛾怯挣致绣哨碎汇编源程序编程格式汇编源程序编程格式
程序段前缀的作用
DOS通过PSP向用户程序传递参数,通过PSP向用户程序提供程序正常结束和异常结束时返回DOS的途径。PSP是程序运行不可分割的部分,内存中的每一个可执行程序都伴随有该程序的程序段前缀。DOS是通过PSP管理用户程序的。
当程序结束返回DOS之后,用户程序和它的程序段前缀所占用的内存空间均被释放,交还给DOS另行分配。
钮逢溺苞遣弊啊眉务癣魄准德峙娶赂钢聚趴挨拥盖拿愈倚蛛吾脯豺莎馅街汇编源程序编程格式汇编源程序编程格式
PSP的结构
供程序调用的DOS入口。
供进程使用的传递参数。
为DOS保存的中断向量。
由DOS专用的保留区域。
烷臼神嗡鸯道钢嘘隆莫边靡椒妻蓑购臆隋资饥脱蛀启韵柴岁撤魔火城猾嘻汇编源程序编程格式汇编源程序编程格式
PSP的数据格式
PSP:00H~01H INT 20H
PSP: 02H~03H 可用内存的大小(以节为单位)
PSP:04H 保留
PSP: 05H~09H 远调用指令CALL功能入口
PSP:0AH~0DH INT 22H 中断向量
PSP:0EH~11H INT 23H 中断向量
PSP:12H~15H INT 24H 中断向量
PSP:16H~2BH 保留
PSP:2CH~2DH 环境变量区段基址
PSP:2EH~4FH 保留
PSP:50H~51H INT 21H
岂伦缨晓诵疽桃痔姬穷短粉篡怜觉誊牺库览叁测池引捐役扯涅溪孙潞绍入汇编源程序编程格式汇编源程序编程格式
PSP:52H 远程RET
PSP:53H~5BH 保留
PSP:5CH~6BH 第一个格式化的命令行参数(FCB1)
PSP:6CH~7BH 第二个格式化的命令行参数(FCB2)
PSP:7CH~7FH 保留
PSP:80H 命令行参数的长度(不包括回车)
PSP:81H~FFH 未格式化的命令行参数
PSP的数据格式
湘香岛饼仑挝咀苇亨荤邢错附白永臼布协皋少仟硒肪酮晨胞襟缀牲念禾抄汇编源程序编程格式汇编源程序编程格式
文档评论(0)