|
发表于 2023-12-7 21:13:50
|
显示全部楼层
单片机能直接执行的代码就是机器码,它也只认识机器码。
人可以直接写机器码,如果用二进制表示就是很多的0和1,
如果用16进制表示,就是很多由 0到F 构成的"乱码"。
机器码太难记了,可读性差,也容易出错,出错了还不好检查。
为了方便,提高代码可读性,汇编就诞生了。
汇编指令就是一些英文单词或其缩写,不同的汇编指令有不同的用法和规则。
不同类型的单片机,对应的汇编指令也不一样。也就是说汇编是跟单片机硬件直接相关的。
用汇编指令写的代码就是汇编代码了。
汇编代码与机器码是最接近的,可以说是一一对应的关系。
只要你熟悉各个汇编指令对应的机器码,你就可以把汇编代码翻译成机器码,或者反之。
不过现在如果要写汇编代码完成单片机项目,可以直接由软件(编译器)自动完成这个翻译工作,不需要人工翻译。
同样的由机器码翻译成汇编代码(简称反汇编)也有对应的软件可以完成。
hex是一种标准的文件格式,很多单片机项目编译完成后就是生成这个文件,后面要烧入单片机的也就是这个文件。
然后关于hex文件的内容,网上可以搜到,有介绍的,简单说就是在机器码的基础上附加了一些地址、校验码什么的数据。
另外一种常见的文件格式是bin,里面的内容可以说就直接是机器码了,没有附加的数据,
一般从单片机或者存储器里面读出数据后保存的文件就是这个格式。
当然也可以用软件将hex文件转换为hin文件,反之bin也能转换为hex。
bin文件也可以直接烧入到单片机。
以上内容玩过单片机的估计都不会太陌生,帖主大大需要从基础的学起啊。 |
|