本章主要教学内容 汇编语言和汇编程序的基本概念 汇编语言源程序书写规则、语句格式及程序分段 伪指令语句的格式、功能及应用 汇编语言源程序的建立、汇编、连接、调试及运行
本章主要教学内容 l 汇编语言和汇编程序的基本概念 l 汇编语言源程序书写规则、语句格式及程序分段 l 伪指令语句的格式、功能及应用 l 汇编语言源程序的建立、汇编、连接、调试及运行 第5章 汇编语言的基本表达及其运行
本章教学目的及要求 理解汇编语言和汇编程序的概念、特点及其应用 掌握汇编语言源程序的书写规则、语句的基本格式、 程序的分段结构。 熟悉汇编语言的基本表达、伪指令语句及其应用 ●熟悉汇编语言程序的上机运行、调试过程,掌握 基本操作技能
第5章 汇编语言的基本表达及其运行 本章教学目的及要求 l 理解汇编语言和汇编程序的概念、特点及其应用。 l 掌握汇编语言源程序的书写规则、语句的基本格式、 程序的分段结构。 l 熟悉汇编语言的基本表达、伪指令语句及其应用。 l 熟悉汇编语言程序的上机运行、调试过程,掌握 基本操作技能
5.1汇编语言和汇编程序的基本概念 5,2汇编语言源程序书写格式 538086汇编语言中的标识符、表达式和运算符 54伪指令语句 5.5汇编语言程序上机过程 5.6汇编语言程序运行实例
5.1 汇编语言和汇编程序的基本概念 第5章 汇编语言的基本表达及其运行 5.2 汇编语言源程序书写格式 5.3 8086汇编语言中的标识符、表达式和运算符 5.5 汇编语言程序上机过程 5.4 伪指令语句 5.6 汇编语言程序运行实例
5.1汇编语言和汇编程序的基本概念 5.1.1汇编语 汇编语言是一种面向CPU指令系统的程序设计语言,它采 用指令系统的助记符来表示操作码和操作数,用符号地址表 示操作数地址,因而易记、易读、易修改,给编程带来很大 方便。 用汇编语言编写的程序能够直接利用硬件系统的特性, 直接对位、字节、字寄存器、存储单元、IO端口等进行处理, 同时也能直接使用CPU指令系统和指令系统提供的各种寻址 方式编制出高质量的程序,这种程序不但占用内存空间少, 而且执行速度快
5.1 汇编语言和汇编程序的基本概念 5.1.1 汇编语言 汇编语言是一种面向CPU指令系统的程序设计语言,它采 用指令系统的助记符来表示操作码和操作数,用符号地址表 示操作数地址,因而易记、易读、易修改,给编程带来很大 方便。 用汇编语言编写的程序能够直接利用硬件系统的特性, 直接对位、字节、字寄存器、存储单元、I/O端口等进行处理, 同时也能直接使用CPU指令系统和指令系统提供的各种寻址 方式编制出高质量的程序,这种程序不但占用内存空间少, 而且执行速度快
512汇编程序 用汇编语言编写的源程序在输入计算机后,需要将其翻 译成目标程序,计算机才能执行相应指令,这个翻译过程称 为汇编,完成汇编任务的程序称为汇编程序。 有基本汇编ASM( Assembler)和宏汇编MASM ( Macroassembler)两种。 汇编程序以汇编语言源程序文件作为输入,并由它产生 两种输出文件:目标程序文件和源程序列表文件。 目标程序文件经连接定位后由计算机执行; 源程序列表文件将列出源程序、目标程序的机器语言 代码及符号表
5.1.2 汇编程序 用汇编语言编写的源程序在输入计算机后,需要将其翻 译成目标程序,计算机才能执行相应指令,这个翻译过程称 为汇编,完成汇编任务的程序称为汇编程序。 有 基 本 汇 编 A S M ( A s s e m b l e r ) 和 宏 汇 编 M A S M (MacroAssembler)两种。 汇编程序以汇编语言源程序文件作为输入,并由它产生 两种输出文件:目标程序文件和源程序列表文件。 Ø 目标程序文件经连接定位后由计算机执行; Ø 源程序列表文件将列出源程序、目标程序的机器语言 代码及符号表
5.2汇编语言源程序书写格式 5.21汇编语言源程序的分段结构 通常,一个汇编源程序一般应该由3个逻辑段组成,即 数据段、堆栈段和代码段。每个逻辑段以 SEGMEN语句开始, 以ENDS语句结束。整个源程序以END语句结束 数据段用来在内存中建立一个适当容量的工作区,以 存放常数、变量等操作数据。 堆栈段用来在内存中建立一个适当的堆栈区,以便在 中断、子程序调用时使用。 代码段包括了许多以符号表示的指令,其内容就是程 序要执行的指令
5.2 汇编语言源程序书写格式 5.2.1 汇编语言源程序的分段结构 通常,一个汇编源程序一般应该由3个逻辑段组成,即 数据段、堆栈段和代码段。每个逻辑段以SEGMENT语句开始, 以ENDS语句结束。整个源程序以END语句结束。 Ø 数据段用来在内存中建立一个适当容量的工作区,以 存放常数、变量等操作数据。 Ø 堆栈段用来在内存中建立一个适当的堆栈区,以便在 中断、子程序调用时使用。 Ø 代码段包括了许多以符号表示的指令,其内容就是程 序要执行的指令
5.2.2汇编语言源程序的语句类型和语句格式 1.语句类型 8086宏汇编MASM使用的语句可以分成3种类型: 指令语句:这类指令能够产生目标代码,是CPU可以执行 的能够完成特定功能的语句,主要由机器指令组成。在汇编时 条指令语句被翻译成对应的机器码,对应着特定的操作 伪指令语句:伪指令语句是为汇编程序和连接程序提供 些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过 程中告诉汇编程序应如何汇编,并完成相应的伪操作 宏指令语句:宏指令语句是由编程者按照一定的规则来定 义的一种较“宏大”的指令,可包括多条指令或伪指令
5.2.2 汇编语言源程序的语句类型和语句格式 1.语句类型 8086宏汇编MASM使用的语句可以分成3种类型: Ø 指令语句:这类指令能够产生目标代码,是CPU可以执行 的能够完成特定功能的语句,主要由机器指令组成。在汇编时 一条指令语句被翻译成对应的机器码,对应着特定的操作。 Ø 伪指令语句:伪指令语句是为汇编程序和连接程序提供一 些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过 程中告诉汇编程序应如何汇编,并完成相应的伪操作。 Ø 宏指令语句:宏指令语句是由编程者按照一定的规则来定 义的一种较“宏大”的指令,可包括多条指令或伪指令
2.语句格式 般情况下,汇编语言的语句可以由以下几部分组成: [名字]操作符[操作数][;注释] 名字是一个符号,它表示本条语句的符号地址。一般 来说,名字可以是标号和变量,统称为标识符 注意:标号和变量都具备3种属性—段属性、偏移属性及 类型属性 操作符可以是机器指令、伪指令和宏指令的助记符 操作数字段是操作符的操作对象。操作符在完成相应 的操作时要求有一系列的操作数。当有两个或两个以上的 操作数时,各操作数之间用逗号隔开 注释字段是以“;”开头的说明部分,可以用英文或 者中文书写。注释字段是语句的非执行部分
2.语句格式 一般情况下,汇编语言的语句可以由以下几部分组成: [名字] 操作符 [操作数] [;注释] Ø 名字是一个符号,它表示本条语句的符号地址。一般 来说,名字可以是标号和变量,统称为标识符。 注意:标号和变量都具备3种属性——段属性、偏移属性及 类型属性。 Ø 操作符可以是机器指令、伪指令和宏指令的助记符。 Ø 操作数字段是操作符的操作对象。操作符在完成相应 的操作时要求有一系列的操作数。当有两个或两个以上的 操作数时,各操作数之间用逗号隔开。 Ø 注释字段是以“ ; ”开头的说明部分,可以用英文或 者中文书写。注释字段是语句的非执行部分
5.38086汇编语言中的标识符、表达式和运算符 5.31标识符 汇编语言每条语句的第一个字段是它的名字字段,名 字可以是标号或变量,这两者又称为标识符 重点是要掌握其组成规则和它的3个属性。 532表达式和运算符 在表达式中,运算符充当着重要的角色 8086宏汇编有算术运算符、逻辑运算符、关系运算符、 分析运算符和综合运算符共5种。 下面分别讨论5种运算符的作用:
5.3 8086汇编语言中的标识符、表达式和运算符 5.3.1 标识符 汇编语言每条语句的第一个字段是它的名字字段,名 字可以是标号或变量,这两者又称为标识符。 重点是要掌握其组成规则和它的3个属性。 5.3.2 表达式和运算符 在表达式中,运算符充当着重要的角色。 8086宏汇编有算术运算符、逻辑运算符、关系运算符、 分析运算符和综合运算符共5种。 下面分别讨论5种运算符的作用:
(1)算术运算符用于完成算术运算,有+ (加法) (减法)、×(乘法) (除法) MOD(求余)、SHL(左移)、SHR(右移)共7 种运算 (2)逻辑运算符的作用是对其操作数进行按 位操作。逻辑运算符有AND(与)、OR(或)、XOR (异或)和NOT(非)。 (3)关系运算符的运算对象是两个性质相同 的项目。其结果为:关系成立或不成立。有EQ(相 等)、NE(不相等)、LT(小于)、GT(大于) E(小于或等于)、GE(大于或等于)共6种
(1)算术运算符用于完成算术运算,有+ (加法)、-(减法)、×(乘法)、/(除法)、 MOD(求余)、SHL(左移)、SHR(右移)共7 种运算。 (2)逻辑运算符的作用是对其操作数进行按 位操作。逻辑运算符有AND(与)、OR(或)、XOR (异或)和NOT(非)。 (3)关系运算符的运算对象是两个性质相同 的项目。其结果为:关系成立或不成立。有EQ(相 等)、NE(不相等)、LT(小于)、GT(大于)、 LE(小于或等于)、GE(大于或等于)共6种