- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言七到九章
第七章 高级汇编语言技术 §7.1 宏汇编 §7.2 重复汇编 §7.3 条件汇编 §7.1 宏汇编 宏:具有宏名的一段汇编语句序列 ——宏定义时书写 宏指令:这段汇编语句序列的缩写 ——宏调用时书写 宏展开:宏指令处用这段宏代替的过程 ——宏汇编时实现 宏的参数功能强大,颇具特色 配合宏,还有宏操作符和有关伪指令 一、宏定义 SAVEREG MACRO PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI ENDM ;;宏定义结束 FOO MACRO P1,P2,P3 MOV AX,P1 P2 P3 ENDM 宏调用及其展开 start: mainbegin ;宏调用,建立DS内容 …… mainend 4ch ;宏调用,返回DOS end start 宏展开 start: mainbegin ;宏指令 1 mov ax,@data ;宏展开 1 mov ds,ax mainend 4ch ;宏指令 1 mov al,0 ;宏展开 1 mov ah,4ch 1 int 21h 宏展开 SAVEREG; 宏指令 1 PUSH AX ;宏展开 1 PUSH BX 1 PUSH CX 1 PUSH DX 1 PUSH SI 1 PUSH DI 宏的参数 可以无参数,例如mainbegin 可以带有一个参数,例如mainend 也可以具有多个参数; 参数可以是常数、变量、存储单元、指令(操作码)或它们的一部分,也可以是表达式; 宏定义体可以是任何合法的汇编语句,既可以是指令序列,又可以是伪指令序列; ;宏定义 shlext macro shloprand,shlnum push cx mov cl,shlnum shl shloprand,cl pop cx endm ;宏指令 shlext ax,6 ;宏展开 1 push cx 1 mov cl,06 1 shl ax,cl 1 pop cx ;统一4条移位指令的宏指令 shift macro soprand,snum,sopcode push cx mov cl,snum ssopcode soprand,cl pop cx endm ;宏定义 dstring macro string db ’string’,0dh,0ah,’$’ endm 宏操作符 ;;——宏注释符。采用这个符号的注释,在宏展开时不出现 ——替换操作符,用于将参数与其他字符分开。如果参数紧接在其他字符之前或之后,或者参数出现在带引号的字符串中,就必须使用该伪操作符 ——字符串传递操作符,用于括起字符串。在宏调用中,如果传递的字符串实参数含有逗号、空格等间隔符号,则必须用这对操作符,以保证字符串的完整 !——转义操作符,用于指示其后的一个字符作为一般字符,不含特殊意义 %——表达式操作符,用在宏调用中,表示将后跟的一个表达式的值作为实参,而不是将表达式本身作为参数 与宏有关的伪指令 局部标号伪指令 LOCAL 标号列表 宏定义体采用了标号,应使用LOCAL加以说明 它必须是宏定义MACRO语句之后的第一条语句 ;宏定义 Absol macro oprd local next cmp oprd,0 jge next neg oprd next: endm 仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变 通过形参、实参结合实现参数传递,简捷直观、灵活多变 宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法 通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序 二、重复汇编 重复汇编指在汇编过程中,重复展开一段(基本)相同的语句 重复汇编没有名字,不能被调用 重复汇编常用在宏定义体中,也可以在一般汇编语句中使用 重复汇编伪指令有三个: REPEAT——按参数值重复 FOR——按参数个数重复 FORC——按参数的字符个数重复 最后,用ENDM结束 三、条件汇编 条件汇编伪指令在汇编过程中,根据条件决定汇编的语句 pdata macro num IF num lt 100 ;;如果num 100,则汇编如下语句 db num dup (?) ELSE ;;否则,汇编如下语句 db 100 dup (?) ENDIF endm 第八章 输入/输出程序设计 §8.1 I/O设
您可能关注的文档
- 5.2-5.3第四次课砌体结构.ppt
- w小池塘.ppt
- 汉恩大学.ppt
- 主题班会修订版.doc
- 屏边县经济发展系统动力学预测模型.doc
- 佳能CanonEOS.doc
- 第二章摄影测量与遥感.ppt
- SOP_CM_V1.1(配置管理计划作业指导书).doc
- 大厦楼宇自控系统工程设计方案-doc_13.doc
- 工程建设监理规划案例.doc
- 2026年及未来5年蓝信流量统计日志系统项目市场数据调查、监测研究报告.docx
- 2026年及未来5年多功能烟气分析仪项目市场数据调查、监测研究报告.docx
- 2026年及未来5年热熔焊制45°弯头项目市场数据调查、监测研究报告.docx
- 2025年学历类自考中国文化概论-中国当代文学作品选参考题库含答案解析.docx
- 2026年及未来5年微控双温区锑扩散系统项目市场数据调查、监测研究报告.docx
- 2026年及未来5年变频电机转子项目市场数据调查、监测研究报告.docx
- 2026年及未来5年数显压力机项目市场数据调查、监测研究报告.docx
- 2026年及未来5年电话十台灯十时钟项目市场数据调查、监测研究报告.docx
- 2026年及未来5年移动空调控制板项目市场数据调查、监测研究报告.docx
- 2026年及未来5年大豆纤维服饰项目市场数据调查、监测研究报告.docx
原创力文档


文档评论(0)