提示:主要内容来源===>汇编语言基础教程(主编:谈文蓉、副主编:姜玥)教材第一、二、三章
汇编语言基础
汇编语言基础
一、汇编语言基础知识
(1)CPU 指令
(2)计算机程序设计语言
- 计算机程序设计语言:机器语言 ===> 汇编语言 ===> 高级语言
- 用其他语言编写的程序必须转换成机器语言程序,即目标程序。目标程序就是为源程序经编译可直接被计算机允许的机器码集合,在计算机文件上以 .obj 作扩展名。
- 人们将机器指令符号化,用描述指令功能的符号来表示机器指令,这些符号称为指令助记符。
- 汇编语言编写的程序就是汇编语言源程序,扩展名为 “.asm” 。汇编程序将汇编语言程序 “汇编” 成机器代码目标模块的程序,扩展名为 “.obj” 。
(3)汇编语言的特点
- 与机器相关
- 汇编语言的通用性和可移植性要比高级语言程序低。
- 执行的高效率
- 编写程序和调试的复杂性
(4)数据表示
- 计算机中,带符号数默认采用补码表示,因为利用补码进行减法运算比原码方便。
- 使用补码可以带来以下好处:
- 加法和减法可以用同一个运算器实现;
- 无符号数和带符号数的运算可以用同一个运算器实现,从而大大简化计算机运算器电路,简化指令系统。
- 正数的原码、反码、补码相同。
- 负数的反码表示是正数的补码按位取反(包括符号位)。
- 负数的补码表示是对应正数的原码按位取反(包括符号位),末位加 1 构成。
- 补码再求一次补码即可得到源码。
(5)ASCII 码(America Standard Code for Informatin Interchange)
- ASCII 码对照表
- 常用的ASCII码对照表:
Dec | Hex | 字符/缩写 | 解释 |
---|---|---|---|
0 | 00 | NUL(null) | 空字符 |
7 | 07 | BEL(bell) | 响铃 |
9 | 09 | HT(horizon-tal tab) | 水平制表符 |
10 | 0A | LF(NL line feed, new line) | 换行 |
13 | 0D | CR(carriage return) | 回车 |
32 | 20 | 无 | 空格 |
36 | 24 | $ | 无 |
48 | 30 | 0 | 无 |
65 | 41 | A | 无 |
97 | 61 | a | 无 |
二、存储程序的计算机和指令系统结构
(1)存储程序的计算机结构
- 存储程序和程序控制原理的要点是,程序输入到计算机中,存储在内存储器中,(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令(程序控制)。
- 计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。
1.冯 · 诺依曼结构
- 冯 · 诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
- 程序指令存储器地址和数据存储器地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。
- 冯 · 诺依曼结构的设计思想简要概括为以下三大点:
- 计算机包括运算器、存储器、控制器、输入和输出设备五大基础部件。
- 计算机内部采用二进制来表示指令和数据。
- 将编好的程序和原始数据输入内存储器中,然后启动计算机工作,计算机应在不需要操作人员干预的情况下,自动逐条取出指令,执行任务。
2.哈弗结构
- 哈弗结构是一种将程序指令存储和数据存储分开的存储器结构。是一种并行结构。
- 程序指令存储器和数据存储器是两个独立的存储器,每个存储器模块都不允许指令和数据并存;每个存储器独立编址、独立访问。
(2)指令系统结构
1.CISC(Complex Instruction Set Computer)
- 微处理器在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计称为复杂指令集计算机结构。
2.RISC(Reduced Instruction Set Computre)
- 指令系统应当只包含那些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语言,按照这个原则发展而成的计算机被称为精简指令集计算。
三、主流的处理器结构
(1)MIPS 系列
- MIPS 架构采用了冯 · 诺依曼结构;使用的是 RISC 的CPU。
- MIPS 应用在住宅网关、线缆调制器、线缆机顶盒等。
(2)X86 系列
- x86 架构采用了冯 · 诺依曼结构;使用的是 CISC 的CPU。
(3)ARM 系列
- ARM 架构采用了冯 · 诺依曼结构;使用的是 RISC 的CPU。
- ARM 应用在手机等便携式领域。