在学习汇编语言的过程中,我遇到的严重问题之一就是找不到足够的汇编语言(中文)教程,另一个问题则是内容过多难以记忆。因此,我尝试通过本文,以一个初学者的视角找到一个入门汇编语言的简单通路,同时也帮助自己更好地理解和反思学习过的内容。
根据我一贯以来的学习习惯,我希望以需求为导向进行语言的学习。因此本文可能会与参考资料的顺序存在较大的偏差,同时可能由于知识的漏洞存在不精准的地方。
本文实际上也是 2019-2020 学年春夏学期专业课《汇编语言》的学习笔记。本文的记录建立在简要学习了 C 语言的基础之上。
本文主要参考了:
汇编语言简介
- 计算机程序设计语言可分为机器语言、高级语言和汇编语言三类。
- 机器语言:将 命令 和 数据 用二进制数码表示。其运行速度最快,程序长度最短,但不便于理解;
- 高级语言:使用类似自然语言的语句编程。其程序设计简单,但效率(代码长度与运行速度)较低;
- 汇编语言:用字母和符号来表示机器语言的 命令,用十进制或十六进制数来表示 数据 的程序设计语言。满足部分需要高效率的编程场合。
- 在计算机系统中,某些功能必须用汇编语言程序来实现。
- 一条汇编语言的语句与一条机器语言的指令对应,其效率相同。
- 不同类型计算机有不同的机器指令系统和汇编语言描述。
内容目录
- 0 - 常用语法总结 :总结学习过程中用到的指令、中断等。
- 1 - 开始之前 :本文。
- 2 - 汇编语言代码基本结构 :从 Hello, world! 学习汇编语言的 基本结构,以及 mov 语句 和 中断 的基本知识。
- 3 - 分支与循环 : 从模拟 C 语言中的 getline() 和 puts() 来学习汇编语言中 分支 和 循环 的实现方法(转移指令、标志寄存器)。
- 4 - 通过显存实现打印 :在文本模式和图形模式下直接通过显存在屏幕上进行输出,并由此学习 ptr 的相关知识。