最近我编程要用到.com文件的结构
但是网上相关资料不多,希望各路高人指点一下
------解决方案--------------------------------------------------------
其实com文件没有结构,就是源代码的机器码的集合,但它又和二进制obj文件不同,区别就是com文件为ORG 这样的伪指令留出了空间。
------解决方案--------------------------------------------------------
我不知道你要如何处理.com文件,但是单从结构来说.com是十分简单的一个偏移100,
不分段的存储方式。
------解决方案--------------------------------------------------------
同意楼上,com型文件将数据部分定义与代码不分间隔地混装在一个可执行文件(段)中,不区分任何代码,堆栈,数据段。
就连系统装载器在加载com文件时也是采用全体读入的方法,不会(也无法)区分数据定义部分和代码部分并为其进行相应的内存分段映射。
------解决方案--------------------------------------------------------
理器指令和内存中的数据,MS-DOS通过直接把该映象从文件拷贝到内存而加载.COM程序,它不。为加载一个.COM程序,MS-DOS首先试图分配内存,因为.COM程序必须位于一个.如果MS-DOS不能为程序、一个PSP、一个起始堆栈分配足够内存,则分。否则,MS-DOS分配尽可能多的内存(直至所有保留内存),即使.COM程序本身不能。在试图运行另一个程序或分配另外的内存之前,大部分.COM程序释放任何不需要的内。把控制传递偏移100h处的指令而启动程序.程序设计者必须保证.COM文件的第一条指令是程序。
------解决方案--------------------------------------------------------
http://www.begin.org.cn/tran/COM.TXT
以前翻译的一点文章,com结构就是纯指令结构