西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第八章 高级汇编技术

第!幸高級汇編技术 第宮章高级汇編技术 8.1宏汇编 8.2重复汇编和条件汇编 8.3汇编语言与高级语言的混合编程 BACK
第8章 高级汇编技术 第8章 高级汇编技术 8.1 宏汇编 8.2 重复汇编和条件汇编 8.3 汇编语言与高级语言的混合编程

第!幸高級汇編技术 81宏汇编 811宏指令的定义、调用和展开 1.宏定义伪指令 宏的概念与过程很相似,也是用一个宏名字来代替源程序中 经常需要用到的一个程序模块(代码段),宏定义语句格式与过程 定义语句格式也相似。 格式: 宏名 MACRO[形式参数表] ;宏体 ENDM 宏定义结束 功能:定义一个宏
第8章 高级汇编技术 8.1 宏汇编 8.1.1 宏指令的定义、调用和展开 1.宏定义伪指令 宏的概念与过程很相似,也是用一个宏名字来代替源程序中 经常需要用到的一个程序模块(代码段),宏定义语句格式与过程 定义语句格式也相似。 格式: 宏名 MACRO [形式参数表] ;宏体 ENDM ;宏定义结束 功能:定义一个宏。 …

第8幸高级汇編技术 说明: ①宏名必须是惟一的,它代表着所定义的宏体的内容,在 其后面的源程序中,可通过该名字来调用宏 ②2形式参数表是用逗号(或空格,或制表符)分隔的一个或 多个形式参数。它是可选项。选用了形式参数时,所定义的宏 称为带参数的宏。当调用宏时,需用对应的实际参数去取代, 以实现向宏中传递信息
第8章 高级汇编技术 说明: ① 宏名必须是惟一的,它代表着所定义的宏体的内容,在 其后面的源程序中,可通过该名字来调用宏。 ② 形式参数表是用逗号(或空格,或制表符)分隔的一个或 多个形式参数。它是可选项。选用了形式参数时,所定义的宏 称为带参数的宏。当调用宏时,需用对应的实际参数去取代, 以实现向宏中传递信息

第!幸高級汇編技术 ③宏体可以是汇编语言所允许的任意指令和伪指令语句序 列,它决定了宏的功能。在宏体中还可以定义或调用另一个宏, 这就是宏嵌套。 ④宏一经定义,就像为指令系统增加了新的指令一样,在 程序中就可像指令一样通过宏名对它进行任意次的调用,故又称 为宏指令或宏调用。要注意的是,宏定义必须放在第一条调用它 的指令之前,一般都将它放在程序的开头
第8章 高级汇编技术 ③ 宏体可以是汇编语言所允许的任意指令和伪指令语句序 列,它决定了宏的功能。在宏体中还可以定义或调用另一个宏, 这就是宏嵌套。 ④ 宏一经定义,就像为指令系统增加了新的指令一样,在 程序中就可像指令一样通过宏名对它进行任意次的调用,故又称 为宏指令或宏调用。要注意的是,宏定义必须放在第一条调用它 的指令之前,一般都将它放在程序的开头

第8幸高级汇編技术 2.宏的调用与展开 (1)在汇编语言源程序中,为了使在源程序中不重复书写需 要多次使用的程序段,可以用一条宏指令来代替,由汇编程序 在汇编时产生所需要的代码。 例如,为了实现ASCⅡ码与BCD码之间的相互转换,往往需 要把AL中的内容左移4位或右移4位,可以用80X86的指令来实现。 若要左移4位,可用 MOV CL, 4 SAL AL, CL
第8章 高级汇编技术 2.宏的调用与展开 (1) 在汇编语言源程序中,为了使在源程序中不重复书写需 要多次使用的程序段,可以用一条宏指令来代替,由汇编程序 在汇编时产生所需要的代码。 例如,为了实现ASCII码与BCD码之间的相互转换,往往需 要把AL中的内容左移4位或右移4位,可以用80x86的指令来实现。 若要左移4位,可用: MOV CL,4 SAL AL,CL

第!幸高級汇編技术 若要多次使用,就可以用一条宏指令来代替,宏定义是: SHIFT MACRO MOV CL, 4 SAL AL, CL ENDM 这样,以后凡要使AL中的内容左移4位,就可以用这条宏 指令SHFT来代替
第8章 高级汇编技术 若要多次使用,就可以用一条宏指令来代替,宏定义是: SHIFT MACRO MOV CL,4 SAL AL,CL ENDM 这样,以后凡要使AL中的内容左移4位,就可以用这条宏 指令SHIFT来代替

第!幸高級汇編技术 宏定义中, SHTFT是宏指令名, MACRO是宏定义的定义 符,ENDM是宏定义的结束符,这两者必须成对出现 宏汇编一般由可执行的指令语句和管理语句(即由伪指令构 成的语句)所构成。经宏定义后,就可以引用宏指令,这称作宏 调用。宏汇编程序遇到这样的调用时,就用对应的宏体来代替 这条宏指令,以产生目的代码,这称作宏展开
第8章 高级汇编技术 宏定义中,SHTFT是宏指令名,MACRO是宏定义的定义 符,ENDM是宏定义的结束符,这两者必须成对出现。 宏汇编一般由可执行的指令语句和管理语句(即由伪指令构 成的语句)所构成。经宏定义后,就可以引用宏指令,这称作宏 调用。宏汇编程序遇到这样的调用时,就用对应的宏体来代替 这条宏指令,以产生目的代码,这称作宏展开

第!幸高級汇編技术 (2)宏定义不但能使源程序的书写简洁,而且由于宏指令具 有接收参量的能力,所以功能就更灵活。 例如,上述的宏指令只能使AL中的内容左移4位。若每次使 用时,要移位的次数不同,或要使不同的寄存器移位,就不方便 了。但是,若在宏定义中引入参量,就可以满足上述要求
第8章 高级汇编技术 (2) 宏定义不但能使源程序的书写简洁,而且由于宏指令具 有接收参量的能力,所以功能就更灵活。 例如,上述的宏指令只能使AL中的内容左移4位。若每次使 用时,要移位的次数不同,或要使不同的寄存器移位,就不方便 了。但是,若在宏定义中引入参量,就可以满足上述要求

第幸高级汇編技术 例8-1定义满足不同移位次数要求的宏。 SHIFT MACRO X MOV CL,Ⅹ SAL CL, CL ENDM 其中,X是一个形式参量(此处用来代表移位次数)。在调用时可 把实际要求的移位次数作为实在参量代入。如 SHIFT 4 就可以用实在参量4代替在宏定义体中出现的形式参量X,从而 实现左移4位的功能
第8章 高级汇编技术 例8-1 定义满足不同移位次数要求的宏。 SHIFT MACRO X MOV CL,X SAL CL,CL ENDM 其中,X是一个形式参量(此处用来代表移位次数)。在调用时可 把实际要求的移位次数作为实在参量代入。如 SHIFT 4 就可以用实在参量4代替在宏定义体中出现的形式参量X,从而 实现左移4位的功能

第8幸高级汇編技术 又如: SHIFT 6 就可以左移6次。这样,就可以由调用时的实在参数来规定任意 的移位次数
第8章 高级汇编技术 又如: SHIFT 6 就可以左移6次。这样,就可以由调用时的实在参数来规定任意 的移位次数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第七章 复杂汇编程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第六章 子程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第五章 基本结构程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第四章 指令及汇编语言源程序结构.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第三章 寻址方式和指令系统.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第二章 微处理器的结构及存储器组成.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第一章 基础知识.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第十章 中断和输入/输出程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)目录(编著:李强、温春).ppt
- 北方交通大学:《电子商务的系统分析与设计》 第九章 电子商务系统安全子系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第八章 电子支付与交易系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第七章 商务应用系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第六章 企业信息门户设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第五章 电子商务系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第四章 系统分析.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第十一章 案例分析.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第十章 系统实施与维护管理.ppt
- 北方交通大学:《电子商务的系统分析与设计》 绪论.ppt
- 《电子商务》电子课件 (共五章).ppt
- 《ASP程序设计》 第十四章 设计实例.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第九章 程序设计的一些编程技巧.ppt
- 《C++语言》课程教学资源(作业习题)作业题1.doc
- 《C++语言》课程教学资源(作业习题)作业题2.doc
- 《C++语言》课程教学资源(PPT课件讲稿)第一章 绪论——面向对象的程序设计语言.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第二章(2-6)赋值表达式和类型转换.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第三章(3-4)循环的中断.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第四章(4-10)编译预处理.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第六章 指针和引用.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第六章(6-4)指针和动态内存分配.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第七章 计算用户输入的一个正整数各位之和.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第八章 类和对象.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第九章(9-3)拷贝初始化构造函数.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十章 顺序表.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十章(10-4)虚基类.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十一章(11-3)静态成员.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十二章(12-2)几个特殊运算符的重载.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十三章 输入和输出.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十四章 模板.pps
- 《C语言》课程教学资源(作业习题)C语言基础1(一).doc
- 《C语言》课程教学资源(作业习题)C语言基础1(二).doc