ASM16

汇编语言基础知识

什么是汇编语言

汇编语言的主要特点:

  • ​ 汇编语言程序与处理器指令系统密切相关
  • ​ 程序员可直接、有效地控制系统硬件
  • ​ 形成的可执行文件运行速度快、占用主存容量少

由于机器码的复杂(0001 0010 0011 0100 ….)使用助记符来辅助

汇编语言助记符是用于表示汇编指令的简短符号。它们是由程序员选择的,用以代替机器语言中复杂的二进制指令码。这些助记符使代码更加容易理解和记忆,同时便于汇编器将其翻译成机器语言。

汇编语言的种类:

汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令。不同架构的CPU指令并不相同,如x86,powerpc,arm各有各的指令系统;甚至同一种架构的CPU有几套指令集,典型的如arm除了有32位的指令集外,还有一套16位的thumb指令集。但是作为开发语言的汇编,本质上是一套语法规则和助记符的集合,它可以包容不同的指令集。如果从CPU体系来划分,常见的汇编有两种:IBM PC汇编和ARM汇编。

汇编语言和高级语言

  • 汇编语言与处理器密切相关:

    • 汇编语言程序的通用性、可移植性较差
  • 高级语言与具体计算机无关:

    • 高级语言程序可以在多种计算机上编译后执行
  • 汇编语言功能有限、涉及硬件细节:

    • 编写程序比较繁琐,调试起来也比较困难
  • 高级语言提供了强大的功能,不必关心琐碎问题:

    • 类似自然语言的语法,易于掌握和应用
  • 汇编语言本质上就是机器语言:

    • 可以直接、有效地控制计算机硬件
    • 易于产生速度快、容量小的高效率目标程序
  • 高级语言不针对具体计算机系统

    • 不易直接控制计算机的各种操作
    • 目标程序比较庞大、运行速度较慢
  • 汇编语言的优点:

    • 直接控制计算机硬件部件
    • 可以编写在“时间”和“空间”两方面最有效的程序
  • 汇编语言的缺点:

    • 与处理器密切有关
    • 需要熟悉计算机硬件系统、考虑许多细节
    • 编写繁琐,调试、维护、交流和移植困难
  • 汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的

  • 汇编语言的缺点使得人们主要采用高级语言进行程序开发工作

  • 有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题

  • 汇编语言的应用场合

    • 程序要具有较快的执行时间,或者只能占用较小的存储容量
    • 程序与计算机硬件密切相关,程序要直接、有效地控制硬件
    • 大型软件需要提高性能、优化处理的部分
    • 没有合适的高级语言、或只能采用汇编语言的时候
    • 分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等等
  • 微机系统祖成:

    • 软件(Software)
      • 系统软件
      • 应用软件
    • 硬件(Hardware)
      • 控制器、运算器
      • 存储器
      • 输入设备和输出设备

image-20240726202729675

1
2
3
4
主存一般就是指内存。
CPU对内存的操作有两种:
读操作: CPU将内存单元的内容读入CPU内部,
写操作: CPU将其内部信息送到内存单元保存起来。

运行程序所经历的步骤:

img

高速缓存:

img

缓存结构:

img

16/32位PC机:

  • 16位PC机是指采用16位CPU的PC机
  • 32位PC机是指采用32位CPU而形成的PC机
  • 人们日常谈论的PC机或微机是上述微型计算机系统的统称

微机的硬件: