矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2620|回复: 5

请问HEX文件和机器码是什么关系

[复制链接]
     
发表于 2018-2-23 09:09:47 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
     
发表于 2018-2-23 11:06:20 | 显示全部楼层
前面是地址码。 QQ图片20180223110339.png
回复 支持 反对

使用道具 举报

     
发表于 2018-2-23 15:53:48 | 显示全部楼层
机器码只是内存中的二进制序列(常用16进制表示),CPU可以按内存地址直接读取并执行;

内存中的二进制序列(机器码)如需加以保存,则要按一定的规则组织成文件存储在外存中;
存储的规则有多种,比如:BIN文件、HEX文件、文本文件、COM文件、EXE文件等表达。
BIN文件是直接将二进制序列打包成连续的文件,加上文件头尾封装构成,有效载荷与机器码完全相同。但如果中间有大片的空白区域内容相同,BIN也一样要记录,因此要记录1K内存中的的机器码,BIN就要至少1K的容量再加上文件结构占用的消耗。

而HEX文件采取了一种有效的方法,对机器码分段,并在每段前面加上地址码。这样一来,当内存中存在大量空白区域时,HEX文件就不用向BIN那样全部表达,只需要表达有用的部分即可,其它的按照填充规则来处理。

HEX和BIN都可以采取一定的方法固化到系统中称为固件,开机不用加载就可以直接运行。

如果需要操作系统加载运行,就将二进制机器码和运行环境参数(PSP-程序段前缀)进行拼接形成.COM或.EXE文件,操作系统可以调用后根据PSP安排运行条件,并把其中的机器码部分加载到内存执行。

如果需要将机器码或其它文件显示出来给人看,那就可以将机器码里的内容全部转化成ASCII码,这样打开后就可以直接在中端上查看了。

当然差别还很多,用途也各异,反正就是这个意思。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 16:51:15 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 16:51:55 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2018-2-28 15:31:23 | 显示全部楼层
3楼的讲解通俗易懂,看完就明白了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-5-2 12:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表