文档介绍:是的简称,可译为计算机汇编语言
系统。
由于汇编语言因计算机不同而异,所以当计算机的更新换代时就会使得汇编
语言随之而改变,因此造成汇编语言在使用时效上比高级语言短得多。汇编语言
是建立在一个名为假想计算机上的汇编语言系统,因此它在很大程度上克服了
汇编语言使用时效短的问题。加之集中了当今主流所使用的汇编系统的主要
功能及指令形式,所以学习与使用当今是紧密相关的。掌握了程序设
计,可以打下良好的汇编语言程序设计基础,具备了基础,可以迅速学会当今建立
在任何计算机上的汇编语言系统。因此可以说学习即有广泛意义,又有现实
意义。
汇编语言对计算机硬件有很大的依赖性, 也不例外。因此学习就需要
了解计算机,这就是的硬件背景,而有关的表述形式,指令格式,
数的使用与表达等,这些内容则称为的软件环境。的硬件背景与软件环境
就是本章要介绍的程序设计环境。
的硬件背景
计算机的结构
是一个位机,每一个单元长度为两个字节。在上可以进行
位的定点整数运算,逻辑运算,码制变换及字符处理等。
的组成有、内存、外部设备等大部分,它与当今的个人计算机
)很相似,其结构示意图如图所示。
的
)是中央处理器的简称。与有关的部件有
通用寄存器、指令计数器、标志寄存器、栈指针等。指令操作部件在的描述中
并不出现。
图假想机结构
)通用寄存器
的设置了个通用寄存器,它们分别是
这个寄存器均在指令中出现。
通用寄存器在中既是一个存储空间,又是一个处理部件,使用它可以存储参
加运算的数据,保留运算或处理的中间结果或最后结果。在运算或处理中,它可以作为累
加器、移位运算器及个数计数器等。所有指令的描述几乎都与通用寄存器有关。
通用寄存器的空间长度为两个字节, 位,它与内存单元的长度一样。因此,寄存器
与单元相互交换数据十分方便。寄存器表示无符号数的范围为,这个值
正好是内存单元的地址范围。
通用寄存器可以作为地址寄存器及变址寄存器,但不允许用作变址寄存器。
)指令计数器
指令计数器也叫程序计数器,程序计数器记录着当前被执行的指令的地址。由于
指令长度为个字节, 位,占两个内存单元,所以执行完一条指令,指令计数器
的内容自动加,表示为( ,而遇到转子、转移指令时除外。
)标志寄存器
标志寄存器也叫标志寄存器,它的作用是记录指令执行后的状态。在指令系
统中有条指令执行后都会对标志寄存器产生影响,或者说标志寄存器对这条指令
执行后的状态都予以记录。
标志寄存器的长度为两位,两位所能表示的状态最多为种,这种状态为
这种状态不使用,所以只有种状态用于指令执行后的状态标志,具体规定如
表。此外,两位标志寄存器,左侧的一位表示符号, 为正, 为负。
栈指针
数据栈也称堆栈,是一种特定的内存空间。在这个空间中可以存储数据,也可以取出
存入的数据。存入数据叫数据进栈,取出数据叫数据出栈。数据栈的特定性能是“先进后
出”或“后进先出”。这个性能通俗地说就是,最先进入数据栈的数据,最后才能出栈。数
据栈的这种有序出、入数据,不但体现出栈的空间含义,而且包含了一个先、后的时序
概念。
表种用于指令执行后的状态标志规定
栈指针也叫栈顶指针,它在数据栈的操作过程中所描写的是数据栈的存数状况。数
据进栈,栈顶上升,栈指针上浮;数据出栈,栈顶下降,栈指针下沉。但不管数据栈的数据
怎样变化,栈指针永远指示着栈顶所在的单元地址。
在中,栈指针规定用寄存器。用圆括号表示的内容,则( 表示
栈顶地址。而数据进栈,则有( ;数据出栈,栈指针变化为(
的内存储器
的内存容量
的内存容量为个字,即字( 。一个字的长度,即字长
为两个字节, 位。位的编号如下:
在位的一个字长中,第位为最高位,在表示有符号数时为数的符号位,第位为最
低位。
用一个字位存储无符号数时,表示范围为,用十六进制表示时为
用一个字位存放有符号数的补码时,表示范围为,即
用一个字位存储一个字符的常数时,高位为,低位中的位为美国信息交换
标准代码
内存单元与地址
一个单位的存储空间称为一个单元, 个字,即个单元。由于单元编号,
即地址从开始,因此地址的表示范围为,用十六进制表示这个地址范围为
。在中,内存单元地址使用标号地址,当表示连续的若干单元的地
址时,只需要一个首地址。例如图所示。
图内存单元与地址
图中是在中使用的内存单元地址,由标号名表示,它很像高级语言中
的变量名。而是在中使用的连续单元的首地址,它们很像高级语言中
的数组名。为首地址的连续单元中的每一个单元地址很像数组元素名。怎
样命名标号,如何定义内存单元将