人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第7章 汇编语言的扩展

第7章汇编语言的扩展 讲授要点 结构的定义与访问方法。 宏指令与重复块的基本用法。 条件汇编的用途 ■多模块程序设计的基本方法。 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 第7章汇编语言的扩展 讲授要点 ▪ 结构的定义与访问方法。 ▪ 宏指令与重复块的基本用法。 ▪ 条件汇编的用途。 ▪ 多模块程序设计的基本方法

7.1结构 7.1.1结构类型的定义 1.定义方法 使用伪指令 STRUCT与ENDS。形式如下 结构名 STRUCT 字段定义 结构名END 说明 类型定义本身不占内存空间。 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 7.1 结构 7.1.1 结构类型的定义 1. 定义方法 使用伪指令STRUCT与ENDS。形式如下: 结构名 STRUCT ... ; 字段定义 结构名 END 说明: 类型定义本身不占内存空间

2.结构定义例 Person struct PName db *水******** ,10个字符 Dept 20dup(?) db Address db 30dup(?) Person 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 2. 结构定义例 Person struct PName db '**********' ; 10个字符 Dept db 20 dup (?) Age db 0 Address db 30 dup (?) Person ends

7.1.2结构变量的定义 1.定义方法 结构变量名结构名{字段初值表 结构变量名结构名重复次数DUP({字段初值表}) 2.定义时需遵循的规则 各字段值的类型及排列顺序必须与结构类型定义时一致。 对于初值表中为空的字段,以结构类型定义时给出的值作为初始值。 只有单项字段或字符串字段才能在结构变量定义时赋值。 对于字符串字段,指定的串不能超出结构类型定义时给出的长度。 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 7.1.2 结构变量的定义 1. 定义方法 结构变量名 结构名 {字段初值表} 结构变量名 结构名 重复次数 DUP ( {字段初值表} ) 2. 定义时需遵循的规则 ▪ 各字段值的类型及排列顺序必须与结构类型定义时一致。 ▪ 对于初值表中为空的字段,以结构类型定义时给出的值作为初始值。 ▪ 只有单项字段或字符串字段才能在结构变量定义时赋值。 ▪ 对于字符串字段,指定的串不能超出结构类型定义时给出的长度

3.结构变量定义例 P1 Person 4个字段均以类型定义时给定的值作为初始值 P2 Person{ Zhang,20,};为字段 PName与Age指定了初始值 P3 Person 50 dup(o) 定义了一个含有50个元素的结构数组 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 3. 结构变量定义例 P1 Person { } ; 4个字段均以类型定义时给定的值作为初始值 P2 Person {'Zhang', , 20, } ; 为字段PName 与Age指定了初始值 P3 Person 50 dup ( { } ) ; 定义了一个含有50个元素的结构数组

7.1.3结构变量及其字段的访问 1.结构变量的访问 与简单变量一样,按名访问。 2.结构字段的访问 可以采用下列种方法。 ①计算字段所在地址,通过地址访问。例如 mov byte ptr P1[30],10 ②使用点操作符()。基本形式为 结构变量名字段名 全等价于 结构变量名+字段在结构中的位移量 例如 mov PI Age, 10 等价于 mov byte ptr Pl+30,10 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 7.1.3 结构变量及其字段的访问 1. 结构变量的访问 与简单变量一样,按名访问。 2. 结构字段的访问 可以采用下列2种方法。 ① 计算字段所在地址,通过地址访问。例如: mov byte ptr P1[30], 10 ② 使用点操作符(.)。基本形式为: 结构变量名.字段名 完全等价于 结构变量名 + 字段在结构中的位移量 例如: mov P1.Age, 10 ; 等价于 mov byte ptr P1 + 30, 10

3.说明 对于MASM6ⅹ,当通过指针访问结构字段时,必须以伪字段的形式明确指出结构类型 名。例如 PPtr dd PI bx, PPtr mov es:|bx] Person Age,10;等价于 mov byte ptr es:30bx],10 4.结构应用实例 例71等 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 3. 说明 对于MASM 6.x,当通过指针访问结构字段时,必须以伪字段的形式明确指出结构类型 名。例如: PPtr dd P1 les bx, PPtr mov es:[bx].Person.Age, 10 ; 等价于 mov byte ptr es:30[bx], 10 4. 结构应用实例 例7.1等

7.2宏指令 7.2.1宏定义、宏调用与宏展开 1.宏定义 由伪指令 MACRO与ENDM实现。形式如下: 宏指令名 MACRO[形式参数表] 宏体 ENDM 2.宏调用 形式如下: 宏指令名实在参数表] 3.宏展开 当源程序被汇编时,MASM用相应的宏体取代每个宏调用,并用实在参数按位置替换 宏定义中的形式参数 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 7.2 宏指令 7.2.1 宏定义、宏调用与宏展开 1. 宏定义 由伪指令MACRO与ENDM实现。形式如下: 宏指令名 MACRO [形式参数表] ... ; 宏体 ENDM 2. 宏调用 形式如下: 宏指令名 [实在参数表] 3. 宏展开 当源程序被汇编时,MASM用相应的宏体取代每个宏调用,并用实在参数按位置替换 宏定义中的形式参数

4.说明 实在参数的类型与顺序应与宏定义时的形式参数一致。 宏展开时,若实在参数的个数多于形式参数,则忽略多余的实在参数;若实 在参数的个数少于形式参数,则多余的形式参数为空。 宏定义只是告诉MASM用一个名字来表示一段语句序列,其本身不被汇编。 ■宏指令的参数非常灵活,可以出现在指令的操作数或操作码部分,MASM在 宏展开时对参数进行文本替换。 5.实例 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 4. 说明 ▪ 实在参数的类型与顺序应与宏定义时的形式参数一致。 ▪ 宏展开时,若实在参数的个数多于形式参数,则忽略多余的实在参数;若实 在参数的个数少于形式参数,则多余的形式参数为空。 ▪ 宏定义只是告诉MASM用一个名字来表示一段语句序列,其本身不被汇编。 ▪ 宏指令的参数非常灵活,可以出现在指令的操作数或操作码部分,MASM在 宏展开时对参数进行文本替换。 5. 实例

7.2.2与宏有关的伪指令 1.L0CAL伪指令 LOCAL用来指定宏内局部符号。形式如下 LOCAL符号名, ,符号名 作用:在宏展开时,MASM将源文件中的所有局部符号统一按出现次序替换为唯一的标识 符(??0000?FFF),以避免符号的重复定义。 2.EXIM伪指令 用来立即终止宏展开,通常与条件汇编结合使用。MASM忽略 EXITM与ENDM之间的所 有语句。 3.实例 2021//21 80x86汇编语言程序设计
2021/1/21 80x86汇编语言程序设计 7.2.2 与宏有关的伪指令 1. LOCAL伪指令 LOCAL用来指定宏内局部符号。形式如下: LOCAL 符号名,...,符号名 作用:在宏展开时,MASM将源文件中的所有局部符号统一按出现次序替换为唯一的标识 符(??0000 ~ ??FFFF),以避免符号的重复定义。 2. EXITM 伪指令 用来立即终止宏展开,通常与条件汇编结合使用。MASM忽略EXITM与ENDM之间的所 有语句。 3. 实例
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第6章 过程.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第5章 基本控制结构.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第4章 汇编语言程序格式.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第3章 80x86指令系统.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第2章 80x86计算机系统组织.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第1章 基础知识(王成耀).ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第四章 Internet与电子商务.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第六章 建立电子商务系统.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第五章 电子商务的效益.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第二章 电子商务系统的安全.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第三章 EDI电子商务.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第七章 典型解决方案.ppt
- 高等教育出版社:《电子商务概论》课程教学资源(PPT电子教案)第一章 电子商务概述(宋文官).ppt
- 人民邮电出版社:网页及HTML语言.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第一章 绪论(李晓红).ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第四章 字符串(String).ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第十章 排序.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第六章 树和二叉树.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第九章 查找.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程教学资源(PPT课件)第8章 输入/输出与中断.ppt
- 《网络技术、商务实务》课程教学大纲(双专科,专业基础课程、专业技术课程、专业选修课).doc
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第8章 网络协议的安全.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第9章 防火墙技术.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第10章 入侵检测技术.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第11章 网络安全评估和安全法规.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第1章 网络安全概述(邓来平).ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第2章 数据加密.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第3章 计算机病毒及防治.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第4章 操作系统的安全.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第5章 数据库系统的安全.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第6章 黑客入侵技术.ppt
- 人民邮电出版社:高等学校计算机专业《计算机网络安全》课程教材教学资源(PPT课件)第7章 网站的安全.ppt
- 北京航空航天大学:《C程序设计语言(C Programming Language)》课程教学资源(PPT课件讲稿,共七章,晏海华).pdf
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第2章 软件测试基础.ppt
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第3章 单元测试.ppt
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第6章 面向对象软件的测试.ppt
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第7章 软件测试自动化.ppt
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第4章 集成测试.ppt
- 中国水利水电出版社:21世纪高等院校计算机系列教材《软件测试技术》课程教学资源(PPT课件)第5章 系统测试.ppt