第三章 江编序
第 三 章 汇 编 语 言 程 序 格 式 1 封面
第三章汇编语言程序格式 概 述 3.1汇编语言程序的开发 3.2参数、变量和标号 3.3程序段的定义和属性 3.4复杂数据结构 要点及习题分析
第 三 章 汇 编 语 言 程 序 格 式 第三章汇编语言程序格式 2 第三章 汇编语言程序格式 概 述 3.1 汇编语言程序的开发 3.2 参数、变量和标号 3.3 程序段的定义和属性 3.4 复杂数据结构 要点及习题分析
概述 1.“汇编”的含义?手工汇编机器汇编 2.什麽是汇编程序? 3什麽是伪指令?伪指令的作用; 伪指令与机器无关,取决于汇编程序的版本, 版本越高,提供的伪指令数目增加,功能增强;如 MASM6.0提供了.IF/. ENDIF等语句,使汇编语言程序设 计类似高级语言的形式
第 三 章 汇 编 语 言 程 序 格 式 3 概述1 概 述 1.“汇编”的含义?手工汇编 机器汇编 2.什麽是汇编程序? 3.什麽是伪指令?伪指令的作用; 伪指令与机器无关,取决于汇编程序的版本, 版本越高,提供的伪指令数目增加,功能增强;如 MASM6.0提供了.IF/.ENDIF等语句,使汇编语言程序设 计类似高级语言的形式
4.教材的“硬指令”:指的是CPU指令集中的指令。 硬指令的条数和功能取决于CPU,和汇编程序无关;但 是,用汇编指令(符号指令)表示的硬指令,能否被 汇编程序识别并翻译成机器指令,则与汇编程序的版 本有关,如4.0以下的版本不支持386的32位指令,5.0 开始支持32位指令,6.11版支持 Pentium(但还不支持 MMX指令6.12支持M指令)。 本章以MASM6.X为蓝本,介绍常用伪指令、操作符, 汇编、连接、运行程序的过程,以及修改调试方法。 回第三章
第 三 章 汇 编 语 言 程 序 格 式 4 概述2 4.教材的“硬指令”:指的是CPU指令集中的指令。 硬指令的条数和功能取决于CPU,和汇编程序无关;但 是,用汇编指令(符号指令)表示的硬指令,能否被 汇编程序识别并翻译成机器指令,则与汇编程序的版 本有关,如4.0以下的版本不支持386的32位指令,5.0 开始支持32位指令,6.11版支持Pentium(但还不支持 MMX指令6.12支持MMX指令)。 本章以MASM6.X为蓝本,介绍常用伪指令、操作符, 汇编、连接、运行程序的过程,以及修改调试方法。 回第三章
3.1汇编语言程序的开发 3.1.1汇编语言程序的语句格式 1)执行性语句2)说明性语句 3.1.2汇编语言的程序格式 1)简化段定义格式2)完整段定义格式 3.1.3汇编语言程序的开发过程 源程序的编辑、汇编、连接、调试 返 回第三章
第 三 章 汇 编 语 言 程 序 格 式 5 3.1(目录)汇编语言程序的开发 3.1汇编语言程序的开发 3.1.1 汇编语言程序的语句格式 1)执行性语句 2)说明性语句 3.1.2 汇编语言的程序格式 1)简化段定义格式 2)完整段定义格式 3.1.3 汇编语言程序的开发过程 源程序的编辑、汇编、连接、调试 返回第三章
3.1.1汇编语言程序的语句格式 两类语句:1)执行性语句2)说明性语句 1)执行性语句(硬指令、代码段) [标号:]硬指令助记符操作数[,操作数][;注释 标号(冒号是标号的一部分):代表该指令的逻 辑地址,为分支、循环、调用等指令提供转移的 目的地址。是用户自定义的标识符。定义规则 最多31个字母、数字及特殊符号,不能以数字打 头;默认情况下,不区别大小写;不能使用保留 字。标号定义只可能出现在代码段
第 三 章 汇 编 语 言 程 序 格 式 6 3.1.1汇编语言程序的语句格式 3.1.1 汇编语言程序的语句格式 两类语句:1)执行性语句 2)说明性语句 1)执行性语句(硬指令、代码段) ❖标号(冒号是标号的一部分):代表该指令的逻 辑地址,为分支、循环、调用等指令提供转移的 目的地址。是用户自定义的标识符。定义规则: 最多31个字母、数字及特殊符号,不能以数字打 头;默认情况下,不区别大小写;不能使用保留 字。标号定义只可能出现在代码段。 [标号:]硬指令助记符 操作数[,操作数] [;注释]
语言翟席格 [标号:]硬指令助记符操作数[,操作数][;注释] 硬指令助记符 任何一条处理器指令或宏指令。 冷操作数: 立即数、寄存器、存储单元;无操作数、单操 作数和双操作数。 注释(分号是注释的一部分): 增加程序的可读性。注释不应是指令功能的重 复。如对于指令“moⅴcx,25”,“25送入寄存器CX 毫无意义,可能应该写成“设置循环次数
第 三 章 汇 编 语 言 程 序 格 式 7 执行性语句 ❖硬指令助记符: 任何一条处理器指令或宏指令。 ❖操作数: 立即数、寄存器、存储单元;无操作数、单操 作数和双操作数。 ❖注释(分号是注释的一部分): 增加程序的可读性。注释不应是指令功能的重 复。如对于指令“mov cx,25” , “25送入寄存器CX” 毫无意义,可能应该写成“设置循环次数” 。 [标号:]硬指令助记符 操作数[,操作数] [;注释]
语言翟席格 2)说明性语句(伪指令、可位于任何段) 名字伪指令助记符参数,参数…;注释 名字: 可以是变量名、段名、子程序名或宏名,这 些名字既反映逻辑地址,又具有自身的各种属性 对不同的说明性语句,其中的名字具有不同的属 性,具体内容在介绍伪指令时介绍。名字也可以 是一个常数或一个符号的代号,可称其为“符号 名”,这种名字仅仅具有标识的作用 名字与标号的区别:无冒号;可以在任何段定 义(严格来说是变量名和符号名)。 名字的定义规则与标号相同
第 三 章 汇 编 语 言 程 序 格 式 8 说明性语句 2)说明性语句(伪指令、可位于任何段) 名字 伪指令助记符 参数,参数…;注释 ❖名 字: 可以是变量名、段名、子程序名或宏名,这 些名字既反映逻辑地址,又具有自身的各种属性; 对不同的说明性语句,其中的名字具有不同的属 性,具体内容在介绍伪指令时介绍。名字也可以 是一个常数或一个符号的代号,可称其为“符号 名”,这种名字仅仅具有标识的作用。 名字与标号的区别:无冒号;可以在任何段定 义(严格来说是变量名和符号名)。 名字的定义规则与标号相同
语言翟席格 名字伪指令助记符参数,参数…;注释 令伪指令助记符:本章主要内容。 令参数:伪指令要求的内容,常数、变量、表达 式 ◆注释:增加可读性。 两种语句的四部分要用分割符分开,操作数和参 数用逗号,其他用空格或制表符。 返回3.1
第 三 章 汇 编 语 言 程 序 格 式 9 说明性语句(e) ❖伪指令助记符:本章主要内容。 ❖参数:伪指令要求的内容,常数、变量、表达 式… ❖注释:增加可读性。 两种语句的四部分要用分割符分开,操作数和参 数用逗号,其他用空格或制表符。 返回3.1 名字 伪指令助记符 参数,参数…;注释
语言翟席格 3.1.2汇编语言的程序格式 使用汇编语言编写程序时必须遵循的语法规则。 完整的汇编语言源程序由段组成:若干个代码段 数据段、附加段或堆栈段;独立运行的程序必须包含 个代码段,并指出程序的启动语句;所有的执行语 句必须位于某一个代码段内,说明性语句可根据需要 位于任一段内;堆栈段不是必须的,但最好设置堆栈 段 编写汇编语言源程序通常应遵循所谓“标准格 式”,本书介绍标准格式的两种表示形式,一种符合 MASM5.0及更新版本的语法规则,称为“简化段定义 格式”;另一种符合早期版本的语法规则,称为“完 整段定义格式”(5.0及以后的版本也支持)
第 三 章 汇 编 语 言 程 序 格 式 10 3.1.2程序格式 3.1.2 汇编语言的程序格式 使用汇编语言编写程序时必须遵循的语法规则。 完整的汇编语言源程序由段组成:若干个代码段、 数据段、附加段或堆栈段;独立运行的程序必须包含 一个代码段,并指出程序的启动语句;所有的执行语 句必须位于某一个代码段内,说明性语句可根据需要 位于任一段内;堆栈段不是必须的,但最好设置堆栈 段。 编写汇编语言源程序通常应遵循所谓“标准格 式”,本书介绍标准格式的两种表示形式,一种符合 MASM 5.0及更新版本的语法规则,称为“简化段定义 格式”;另一种符合早期版本的语法规则,称为“完 整段定义格式”(5.0及以后的版本也支持)