教学重点 学习了8086硬指令,接着 绍MASM基本的伪指令 程序的格式、开发方法 参数的表达、变量的定义 变量和标号的属性
教学重点 学习了8086硬指令,接着 介绍MASM基本的伪指令。 重点掌握: ✓程序的格式、开发方法 ✓参数的表达、变量的定义 ✓变量和标号的属性
硬指令和伪指令 硬指令——使CPU产生动作、并在程序执行时 才处理的语句,就是我们刚刚学习的处理器指 伪指令( Directive)—不产生CPU动作、在 和出和应T、从、1 米本课程采用微软宏汇编程序MAsM611 呈 序的版本有关
硬指令和伪指令 ◼ 硬指令——使CPU产生动作、并在程序执行时 才处理的语句,就是我们刚刚学习的处理器指 令 ◼ 伪指令(Directive)——不产生CPU动作、在 程序执行前由汇编程序处理的说明性语句,例 如,数据说明、变量定义等等 ◼ 伪指令与具体的处理器类型无关,但与汇编程 序的版本有关 本课程采用微软宏汇编程序 MASM 6.11
汇编语言程序的开发 本节从汇编语言程序的语句格式出发, 给出第一个示范性的汇编语言源程序, 并演示汇编语言程序的过程: 编辑汇编连接调试 即汇编语言程序的开发方法
汇编语言程序的开发 ◼ 本节从汇编语言程序的语句格式出发, 给出第一个示范性的汇编语言源程序, 并演示汇编语言程序的过程: 编辑 汇编 连接 调试 ◼ 即汇编语言程序的开发方法
语式 执行 由硬指令构成的语句,它通常 对应一条机器指令,出现在程序的代码段中 标号:硬指令助记符操作数,操作数;注释 (2)说明性语句—一由伪指令构成的语句,它通 常指示汇编程序如何汇编源程序: 名字伪指令助记符参数,参数…,;注释
语句格式 ⑴ 执行性语句——由硬指令构成的语句,它通常 对应一条机器指令,出现在程序的代码段中: 标号: 硬指令助记符 操作数,操作数 ;注释 ⑵ 说明性语句——由伪指令构成的语句,它通 常指示汇编程序如何汇编源程序: 名字 伪指令助记符 参数,参数,… ;注释
汇编语言语句实例 MOV CX,0;传送指令,具有2个操作数 ELAY: NOP 空操作指令,没有操作数,带有标号 LOOP DELAY ;循环指令,标号 DELAY说明转移位置 BUFFER DB1,2,3,4,5,6,7 数据定义伪指令,在主存中开辟7个连续的字 节单元,初值依次为1~7, BUFFER表示首地址
MOV CX,0 ;传送指令,具有2个操作数 DELAY: NOP ;空操作指令,没有操作数,带有标号 LOOP DELAY ;循环指令,标号DELAY说明转移位置 BUFFER DB 1,2,3,4,5,6,7 ;数据定义伪指令,在主存中开辟7个连续的字 节单元,初值依次为1~7,BUFFER表示首地址
标号、名字与标识符 标号是反映硬指令位置(逻辑地址)的标识符,后跟 个冒号分隔 名字是反映伪指令位置(逻辑地址)和属性的标识符, 后跟空格或制表符分隔,没有一个冒号 标识符( Identifier)一般最多由31个字母、数字及规 定的特殊符号(如_、$、?、@)组成,不能以数字 开头。默认情况下,汇编程序不区别标识符中的字母 大小写 ■一个程序中,每个标识符的定义是唯一的,还不能是 汇编语言采用的保留字
标号、名字与标识符 ◼ 标号是反映硬指令位置(逻辑地址)的标识符,后跟 一个冒号分隔 ◼ 名字是反映伪指令位置(逻辑地址)和属性的标识符, 后跟空格或制表符分隔,没有一个冒号 ◼ 标识符(Identifier)一般最多由31个字母、数字及规 定的特殊符号(如 _、$、?、@)组成,不能以数字 开头。默认情况下,汇编程序不区别标识符中的字母 大小写 ◼ 一个程序中,每个标识符的定义是唯一的,还不能是 汇编语言采用的保留字
保留字 ■保留字( Reserved word)是汇编程序已经利 用的标识符,主要有: 硬指令助记符——例如:MOV、ADD 0伪指令助记符——例如:DB、EQU 操作符——例如: OFFSET、PTR 0寄存器名——例如:AX、CS 0预定义符号——例如:@data
保留字 ◼ 保留字(Reserved Word)是汇编程序已经利 用的标识符,主要有: o 硬指令助记符——例如:MOV、ADD o 伪指令助记符——例如:DB、EQU o 操作符——例如:OFFSET、PTR o 寄存器名——例如:AX、CS o 预定义符号——例如:@data
助记符 ■硬指令助记符可以是任何一条处理器指令, 也可以是一条宏指令 伪指令助记符将在本节学习 ■定义字节数据和字符串的DB就是伪指令
助记符 ◼ 硬指令助记符可以是任何一条处理器指令, 也可以是一条宏指令 ◼ 伪指令助记符将在本节学习 ◼ 定义字节数据和字符串的DB就是伪指令
操作数与参数 处理器指令的操作数可以是立即数、寄 存器和存储单元 伪指令的参数可以是常数、变量名 表达式等,可以有多个,参数之间用逗号 分隔
操作数与参数 ◼ 处理器指令的操作数可以是立即数、寄 存器和存储单元 ◼ 伪指令的参数可以是常数、变量名、 表达式等,可以有多个,参数之间用逗号 分隔
注释 语句中由分号“;”开始的部分为注释 内容,用以增加源程序的可读性 必要时,一个语句行也可以由分号开始 作为阶段性注释 ■汇编程序在翻译源程序时将跳过该部分, 不对它们做任何处理
注释 ◼ 语句中由分号“ ; ”开始的部分为注释 内容,用以增加源程序的可读性 ◼ 必要时,一个语句行也可以由分号开始 作为阶段性注释 ◼ 汇编程序在翻译源程序时将跳过该部分, 不对它们做任何处理