第一章 汇编语言基础 1.1机器语言与汇编语言 1.2数制与数制之间的转换 1.3有符号数与无符号数 1.4原码、反码、补码 1.5ASCⅡ码
第一章 汇编语言基础 1.1 机器语言与汇编语言 1.2 数制与数制之间的转换 1.3 有符号数与无符号数 1.4 原码、反码、补码 1.5 ASCⅡ 1.5 ASCⅡ码 1
1.1机器语言与汇编语言 计算机语言:机器语言、汇编语言、高级语言 机器语言:是用二进制代码表示的计算机能直接识别和 执行的一种机器指令的集合。 机器指令:是指挥计算机完成某一基本操作的命令,每 一条机器指令的执行都对应着CPU的一种具体操作。 机器指令格式: 操作码和地址码均是由0和1组成的二进制代码 操作码 地址码
1.1 机器语言与汇编语言 计算机语言:机器语言 、汇编语言 、高级语言 机器语言:是用二进制代码表示的计算机能直接识别和 执行的一种机器指令的集合 。 机器指令:是指挥计算机完成某一基本操作的命令,每 一条机器指令的执行都对应着CPU的一种具体操作 。 机器指令格式: 操作码和地址码均是由 0 和 1组成的二进制代码 操作码 地址码 2
1.1机器语言与汇编语言 机器指令长度:计算机字长。 机器指令也常常被称为硬指令,它是面向机器硬件 的,即每台计算机都规定了自己所特有的、一定 数量的基本指令,这批指令的全体即为计算机的 指令系统,这种机器指令的集合就是机器语言。 机器语言是最低级的语言,是用二进制代码表示的 计算机能直接识别和执行的一种机器指令的集合。 用机器语言编写的、计算机能直接执行的程序称 为机器语言程序
1.1 机器语言与汇编语言 机器指令长度:计算机字长 。 机器指令也常常被称为硬指令,它是面向机器硬件 的,即每台计算机都规定了自己所特有的 、一定 数量的基本指令,这批指令的全体即为计算机的 指令系统,这种机器指令的集合就是机器语言 。 机器语言是最低级的语言,是用二进制代码表示的 计算机能直接识别和执行的一种机器指令的集合 。 用机器语言编写的、计算机能直接执行的程序称 为机器语言程序 。 3
1.1机器语言与汇编语言 机器指令举例: 将变量x的内容加2,结果仍保留在x存储单元中,其中变 量x的偏移地址为1000H,且为字类型存储单元。指令 码如下: 10000011 第1、2行中的两个8位二进制数是操 00000110 作码,表示要进行“加”操作,第3、 00000000 4行中的两个8位二进制数指出了第 00010000 一个加数(称目的操作数)所存放 00000010 的偏移地址1000H,相加的结果也送 入该存储单元中。第5个字节的8位 ● 二进制数指出了第二个加数(称源 操作数)是2。 ●●
1.1 机器语言与汇编语言 机器指令举例: 将变量x的内容加2,结果仍保留在x存储单元中,其中变 量x的偏移地址为1000H,且为字类型存储单元。指令 码如下: 10000011 00000110 第1、2行中的两个8位二进制数是操 00000110 作码,表示要进行 “ 加 ”操作,第 3 、 00000000 00010000 作码,表示要进行 “ 加 ”操作,第 3 、 4行中的两个8位二进制数指出了第 00010000 一个加数 (称目的操作数 )所存放 00000010 一个加数 (称目的操作数 )所存放 的偏移地址1000H,相加的结果也送 入该存储单元中。第5个字节的8位 二进制数指出了第二个加数(称源 操作数)是2。 4
机器语言的优缺点 优点: 执行速度快,直接执行指令码。 缺点: 机器指令是用许多二进制数表示的,用机器语言 编程必然很繁琐,非常消耗精力和时间,难记忆,易 弄错,并且难以检查程序和调试程序,工作效率低。 作为用户该怎么办?
机器语言的优缺点 优点: 执行速度快,直接执行指令码。 缺点: 机器指令是用许多二进制数表示的,用机器语言 编程必然很繁琐 编程必然很繁琐,非常消耗精力和时间 非常消耗精力和时间,难记忆,易 弄错,并且难以检查程序和调试程序,工作效率低。 作为用户该怎么办? 5
汇编语言的产生 因为机器指令是用二进制表示的,编写程序相当麻烦,而且 写出的程序也难以阅读和调试,所以为了克服这些缺点, 人们就想出了用“助记符”表示机器指令的操作码,用 “变量”代替操作数的存放地址,另外还可以在指令前加 上标号,用来代表该指令的存放地址等。 这种用符号书写的、其主要操作与机器指令基本一一对应的、 并遵循一定语法规则的计算机语言就是汇编语言,用汇编 语言编写的程序称为汇编源程序
汇编语言的产生 因为机器指令是用二进制表示的,编写程序相当麻烦,而且 写出的程序也难以阅读和调试,所以为了克服这些缺点, 人们就想出了用 人们就想出了用“助记符”表示机器指令的操作码 表示机器指令的操作码,用 “变量”代替操作数的存放地址,另外还可以在指令前加 上标号,用来代表该指令的存放地址等。 这种用符号书写的、其主要操作与机器指令基本一一对应的、 并遵循一定语法规则的计算机语言就是汇编语言,用汇编 语言编写的程序称为汇编源程序。 6
汇编语言的实质 汇编语言也是低级语言, 是面向机器的语言, 实质是机器语言的符号化
汇编语言的实质 汇编语言也是低级语言, 是面向机器的语言, 实质是机器语言的符号化。 7
例题改写 前面的例题用汇编语言来写: ADD WORD PTR DS:[1000],2 其中,“ADD”为加指令的助记符,“DS:[1000]”表示在 当前数据段中、偏移地址为1000H存储单元中的内容, 是目的操作数,“WORD PTR”说明了这个目的操作数是 字类型,而源操作数是2,相加的结果送入目的操作数 所在的原存储单元中
例题改写 前面的例题用汇编语言来写: ADD WORD PTR DS WORD PTR DS:[1000],2 其中,“ADD”为加指令的助记符,“DS:[1000]”表示在 当前数据段中、偏移地址为1000H存储单元中的内容, 是目的操作数,“WORD PTR”说明了这个目的操作数是 字类型,而源操作数是2,相加的结果送入目的操作数 所在的原存储单元中。 8
汇编与编译 由于汇编语言是为了方便用户而设计的一种符号语言, 因此,用它编写的源程序并不能直接被计算机所识别, 必须将它“翻译”成由机器指令组成的机器语言程序 后,计算机才能执行。这种由汇编源程序经过“翻译” 转换成的机器语言程序也称为目标程序,目标程序中 的二进制代码(即机器指令)称为目标代码,一般以 0BJ作为文件扩展名。这个“翻译”工作又称为“汇 编”,在高级语言中又称为“编译
汇编与编译 由于汇编语言是为了方便用户而设计的一种符号语言, 因此,用它编写的源程序并不能直接被计算机所识别, 必须将它“翻译”成由机器指令组成的机器语言程序 后,计算机才能执行。这种由汇编源程序经过“翻译” 转换成的机器语言程序也称为目标程序,目标程序中 的二进制代码(即机器指令)称为目标代码,一般以 OBJ作为文件扩展名。这个“翻译”工作又称为“汇 编”,在高级语言中又称为 在高级语言中又称为“编译”。 9
装配与连接 汇编源程序经汇编后生成的目标代码,还不能直 接交给计算机去执行,还需要通过连接程序的 装配才具备可执行性,装配结果称为“执行文 件”,一般以EXE作为文件的扩展名。同时, 连接程序还具有把多个目标程序装配在一起的 功能,或者把目标程序与预先编写好的子程序 库中的子程序连接在一起,构成较大的执行文 件。 10
装配与连接 汇编源程序经汇编后生成的目标代码,还不能直 接交给计算机去执行,还需要通过连接程序的 装配才具备可执行性,装配结果称为“执行文 件”,一般以EXE作为文件的扩展名。同时, 连接程序还具有把多个目标程序装配在一起的 功能,或者把目标程序与预先编写好的子程序 库中的子程序连接在一起,构成较大的执行文 件。 10