一 机器码

各种用二进制编码方式表示的指令,叫做机器指令码。开始,人们就用它编写程序,这就是机器语言。

机器语言虽然能够被计算机理解和接受,但和人们的语言差别太大,不易被人们理解和记忆,并且用它编程容易出差错。

用它编写的程序一经输入计算机,CPU 直接读取运行,因此和其他语言编的程序相比,执行速度最快。

机器指令与 CPU 紧密相关,所以不同种类的 CPU 所对应的机器指令也就不同。

二 指令

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

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

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

三 指令集

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

如常见的

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

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

四 汇编语言

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

在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbo1)或标号(Labe1)代替指令或操作数的地址。在不同的硬件平台,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。

由于计算机只认识指令码,所以用汇编语言编写的程序还必须翻译成机器指令码,计算机才能识别和执行。

五 高级语言

为了使计算机用户编程序更容易些,后来就出现了各种高级计算机语言。

高级语言比机器语言、汇编语言更接近人的语言。当计算机执行高级语言编写的程序时,仍然需要把程序解释和编译成机器的指令码。完成这个过程的程序就叫做解释程序或编译程序。

高级语言也不是直接翻译成 机器指令,而是翻译成汇编语言吗,如下面说的C和C++

六 C、C++源程序执行过程

编译过程又可以分成两个阶段:编译和汇编。

编译过程:是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码。

汇编过程:实际上指把汇编语言代码翻译成目标机器指令的过程。

七 字节码

字节码是一种中间状态(中间码)的二进制代码(文件),它比机器码更抽象,需要编译器转译后才能成为机器码。

字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。

字节码的实现方式是通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。

字节码典型的应用为:Java bytecode

机器码、指令、汇编语言相关推荐

  1. 汇编指令对应的机器码_汇编语言输出“welcome to you!”

    基础知识 汇编语言指令组成 汇编指令:机器码的助记符,有对应的机器码. 伪指令:没有对应的机器码,编译器执行,机器不执行. 其他符号:如+-*/有编译器识别,无对应机器码. CPU与外部器件交互需要 ...

  2. 机器码,汇编语言,C语言,C++发展的认识

    计算机是实现计算目的机器.计算?有数值计算(比如1+1等于2),图形计算(比如现在的人脸识别,图像处理),娱乐计算(各种游戏伤害数值的计算,各种精美画面在屏幕上的展示),行星运行轨迹的计算.(个人感觉 ...

  3. LOOP指令——汇编语言学习笔记3

    因为嵌入式系统学习需要,开始学习汇编语言 学习资料是B站的视频:汇编语言程序设计 贺利坚主讲 (P25) 这里写目录标题 一.LOOP功能与格式 二.LOOP指令实例 三.LOOP指令执行的要求 四. ...

  4. 第 12 章 执行引擎

    第 12 章 执行引擎 1.执行引擎概述 执行引擎位置 执行引擎属于JVM的下层,里面包括:解释器.即时编译器.垃圾回收器 1.1.执行引擎概述 执行引擎概述 执行引擎是Java虚拟机核心的组成部分之 ...

  5. 第 11 章 一 执行引擎概述、解释器、JIT编译器-热点代码优化

    第 11 章 执行引擎 Java到底是编译型语言还是解释型语言? 编译程序基本原理 首先Java通过源码编译器 Javac命令将源代码编译为字节码文件(.class文件), 字节码这种二进制流的文件不 ...

  6. JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT

    JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT 第一章:JVM虚拟机的介绍 1.1虚拟机的分类 虚拟机通常分为两类:系统虚拟机和程序虚机.其中,系统虚拟机是指完全对物理计算机的仿真,而程序虚 ...

  7. 王爽老师汇编语言第四版第十章CALL和RET指令——小白笔记

    目录 10.1 ret和retf (1)  ret: (2)retf: 10.2 call指令 10.3依据位移进行转移的CALL指令 10.4 转移的目的地址在指令中的CALL指令 10.5转移地址 ...

  8. 王爽著的《汇编语言》第3版笔记

    王爽著的<汇编语言>(第3版)于2013年出版,虽然是2013年出版的,但书中部分内容感觉已过时: (1). 基于intel 8086 CPU介绍,intel 8086是英特尔公司上个世纪 ...

  9. 汇编语言介绍,内存和总线的初步认识

    1.机器语言和汇编语言 机器语言是机器指令的集合.机器指令展开来说就是一个可以正确执行的命令,电子计算机的机器指令是一列二进制数字,计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行计算 ...

  10. ARM 汇编语言入门

    [翻译]二进制漏洞利用(二)ARM32位汇编下的TCP Bind shell:https://bbs.pediy.com/thread-253511.htm ARM汇编语言入门 From:ARM汇编语 ...

最新文章

  1. c 性能好于java,吐槽一下java的效率。。。比起C差的真的好远。。。
  2. Win7无线网络共享设置方法
  3. PHP中的mb_convert_encoding与iconv函数介绍
  4. 作者:周涛,男,电子科技大学教授。
  5. 【Kafka】Kafka客户端分配方案
  6. Bailian3721 和数【标记】
  7. Chrome 开发工具之 Memory
  8. 变形金刚图纸_变形金刚救援
  9. 基于单片机的电子秤系统设计(电路+流程)
  10. Mock-- Server的使用
  11. Windows10如何在文件夹打开DOS命令窗口
  12. Python用户画像词云图生成并集成到django网站
  13. Vue 自定义移动端的 滑动事件
  14. 一枚namecheap续费可用的优惠码
  15. 千兆网线交叉线接法(有图)
  16. Stm32中英文手册官网免费
  17. SSL/TLS - 什么是SSL?
  18. 【数据结构、字符串、C语言】统计字符串中不同字符出现的频度
  19. 实力赢得信任丨西安珠江新城业主喜迎公元物业
  20. vue中src路径的写法

热门文章

  1. Cordova 调用微信SDK,实现微信支付、微信分享、微信登录、打开微信小程序
  2. Python图像处理库PIL中的convert函数的用法
  3. lepad k1 android 4,软硬齐升级 安卓3.1版联想乐Pad K1评测(7)
  4. 电子时钟制作(瑞萨RA)(3)----使用J-Link烧写程序到瑞萨芯片
  5. 简单几步解决笔记本风扇一直嗡嗡响的问题
  6. LTE:Buffer Status Report(BSR)
  7. ite计算机考试答案,ITEFinal-Exam期末考试(中文)(答案突显版)
  8. 不用软件修复硬盘分区表
  9. php class 构造_PHP 构造一个 ReflectionClass 类
  10. java获取公钥_使用java中的Bouncy Castle从CSR文件中获取公钥CSR