汇编语言(扫盲笔记)

作者 Marlous 日期 2019-03-02
汇编语言(扫盲笔记)

参考:
1、 博文 《处理器、处理器架构与指令集关系》
2、 百度百科:汇编语言
3、 汇编语言入门教程
4、 汇编程序开发环境搭配

一 概念

  1. 概念:
    汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。

  2. 汇编语言特点:

  • 首先,汇编语言的大部分语句直接对应着机器指令,执行速度快,效率高,代码体积小,在那些存储器容量有限,但需要快速和实时响应的场合比较有用,比如仪器仪表和工业控制设备中。

  • 其次,在系统程序的核心部分,以及与系统硬件频繁打交道的部分,可以使用汇编语言。比如操作系统的核心程序段、I/O 接口电路的初始化程序、外部设备的低层驱动程序,以及频繁调用的子程序、动态连接库、某些高级绘图程序、视频游戏程序等等。

  • 再次,汇编语言可以用于软件的加密和解密、计算机病毒的分析和防治,以及程序的调试和错误分析等各个方面。

  • 最后,通过学习汇编语言,能够加深对计算机原理和操作系统等课程的理解。

  1. 原理:
  • 编程语言:高级语言(C、Java 等)-> 汇编语言(不同指令集对应的汇编语言不同)-> 机器语言(二进制代码)
  • 指令集(逻辑、抽象)-> 处理器架构 / 微架构(物理、具体实现)
  1. 指令集与汇编语言:
  • 四大指令集(架构):X86(Intel)、ARM(ARM)、MIPS(MIPS)、PowerPC(IBM)。
  • 特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
  • 我们一般学习的是 X86 汇编(Intel)。

二 工具

  • 使用 Edit + MASM 5.0 编译器 + Linker 连接器
  • 使用 Edit + MASM 5.0 编译器 + Linker 连接器 (简化版)
  • MASM For Windows 集成开发环境
  • 使用 Visual Studio 来实现开发汇编程序
  • MASMPLUS 集成开发环境
  • 轻松汇编集成开发环境(下载链接

三 学习资料