博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器码 指令 汇编语言 的关系
阅读量:7045 次
发布时间:2019-06-28

本文共 632 字,大约阅读时间需要 2 分钟。

机器码

一组特定硬件(不光是计算机,手机、嵌入式系统等)能够执行的代码,它是由0和1组成的二进制序列。

不同的硬件平台,执行同一个操作,对应的机器码可能不同

指令

由于机器码是有0和1组成的二进制序列,可读性实在太差,于是人们发明了指令。

指令就是把机器码中特定的0和1序列,简化成对应的指令(一般为英文简写,如mov,inc等),可读性稍好

由于 不同的硬件平台,执行同一个操作,对应的机器码可能不同,所以 不同的硬件平台的同一种指令(比如mov),对应的机器码也可能不同。

指令集

不同的硬件平台,各自支持的指令,是有差别的。因此每个平台所支持的指令,称之为对应平台的指令集。 如常见的

  • x86指令集,对应的是x86架构的平台
  • ARM指令集,对应的是ARM架构的平台

汇编语言

由于 指令 的可读性还是太差,于是人们又发明了汇编语言。

在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label) 代替指令或操作数的地址

在不同的硬件平台,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

三者关系

简单理解就是

  • 每一种硬件平台对应一种机器码
  • 每一种机器码对应一套指令集
  • 每一套指令集对应一种汇编语言

转载于:https://juejin.im/post/5ccc79e4518825418f6f2642

你可能感兴趣的文章
人工智能教程017:创建卷积神经网络进阶(8)
查看>>
test
查看>>
python 创建PDF文件
查看>>
rfld识别读写器的设计与实现
查看>>
src 和 href 的区别
查看>>
Java堆中对象创建、布局、访问全过程
查看>>
JavaScript跨域原因分析与解决办法
查看>>
linux操作系统在启动过程中的故障排除
查看>>
如何修改linux的TTL值
查看>>
干货分享——Javascript 的开源功能插件和框架集锦
查看>>
Oracle数据库性能模型
查看>>
MySQL Study之--MySQL关闭自动commit(autocommit)
查看>>
Linux进程及作业管理
查看>>
2017 7--5------所学
查看>>
Jenkins持续集成实战总结
查看>>
JavaScript学习笔记:字符串处理
查看>>
[日更-2019.3.30]ADB使用WiFi链接Android设备
查看>>
postfix+mysql+dovecot邮件平台
查看>>
UCS Manager登录故障之“TLSv1.2 SSLContext no available”
查看>>
我的友情链接
查看>>