- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]微型计算机原理与汇编语言 第5章 汇编语言程序设计
DECADD1 DL, BUFFER DECADD1 AREA1, AREA2 则汇编时进行宏展开,得到以下指令: DECADD1 DL, BUFFER + MOV AL, DL + ADD AL, BUFFER + DAA + MOV DL, AL DECADD1 AREA1, AREA2 + MOV AL, AREA1 + ADD AL, AREA2 + DAA + MOV AREA1, AL 宏扩展后,原来宏体中的指令前面都加上了符号“+”,以示区别。 宏取消 格式:PURGE 宏指令名[,……] 可同时取消多个宏指令 宏指令名与指令或伪指令助记符相同时,宏指令优先级高,同名指令或伪指令无效,因此要用PURGE取消已定义的宏指令,恢复指令、伪指令的原始含义。 如有宏定义: ADD MACRO OPR1,OPR2,RESULT …… …… ENDM 则宏调用时:ADD XX,YY,ZZ …… PURGE ADD …… ADD AX,BX 宏操作符的用法: 如用一条宏指令实现算术和逻辑的左、右移位,定义如下: SHIFT MACRO A,B,C MOV CL,C SA B, CL ENDM 宏调用:SHIFT AL,AX,4 …… SHIFT HR,DX,4 …… MOV CL, 4 SAL AX,CL MOV CL, 4 SHR AX,CL 宏指令与子程序的区别 在宏指令和子程序的区别,主要是空间和时间的差异。 ⑴ 子程序由CALL指令调用,由RET指令返回,所以汇编后子程序的机器码只占有一个程序段,不管调用多少次均如此,较为节约内存。宏指令在每次宏调用处宏展开时,宏体都要占一个程序段,调用次数愈多,占用内存愈多。因此从内存空间开销来说,子程序优于宏指令。 ⑵ 从程序的执行时间来分析,每调用一次子程序都要保护和恢复返回地址(断点)及寄存器内容(现场)等,要消耗较多的时间。宏指令调用时不需要这个过程,执行时间较短。因此,从执行时间来分析,宏指令又优于子程序。 综上所述,当某一需多次访问的程序段较长,访问次数又不是太多时,选用子程序结构较好。当某一需多次访问的程序段较短,访问次数又很频繁时,选用宏指令结构显然要更好些。 (2) ASSUME伪指令 段定义后,还必须明确段和段寄存器的关系,这可由ASSUME语句来实现。 格式: ASSUME SEG:段名[, SEG:段名…] 其中段寄存器必须是CS、DS、ES或SS中的一个,而段名则是由SEGMENT及ENDS定义的段名。需指出的一点,ASSUME伪指令只是告知汇编程序有关段寄存器与段的关系,并没有给段寄存器赋予实际的初值,所以还要用MOV指令为DS,ES,SS赋初值,而CS内容不需要用户装入。 (3)ORG伪指令 伪指令ORG规定了目标程序存放单元的偏移地址,其格式为: ORG 表达式 表达式的值即为16位偏移地址,表示从此地址开始连续存放程序。 例:ORG 2000H;该伪指令使得(IP)=2000H,目标程序从2000H单元开始存放。 4 过程定义伪指令 过程的含义和子程序是一样的,一个过程可以被其它程序所调用,这个过程的最后一条指令,一般是返回指令。 过程定义伪指令的格式为: 过程名 PROC [NEAR] 或 过程名 PROC FAR ┇ RET 过程名 ENDP 过程定义的属性有两种,标有NEAR(或不标,默认为NEAR)表示在段内被调用,标有FAR属性可以被其它段调用。这两种调用的返回指令都是RET,但在汇编时产生的代码不同。 5 源程序结束伪指令END 汇编程序对源程序进行汇编的过程中,如遇到END,得知源程序到此结束。 格式: END 表达式 表达式通常就是程序第一条指令的标号。 例:汇编语言程序的典型结构 Stack Segment DW 200 DUP (0) Stack EndS Data Segment String DB Hello!$ Data EndS
您可能关注的文档
- [工学]应用概率.doc
- [工学]康华光《数字电子技术》第五版 课件 第06章 时序逻辑电路的分析与设计02.pdf
- [工学]广联达安装算量课件很全的PPT.ppt
- [工学]建模培训-线性规划.ppt
- [工学]建筑制图习题集.ppt
- [工学]广谱抑菌乳酸菌筛选.ppt
- [工学]建筑力学 第一章绪论.ppt
- [工学]建筑力学10-静定结构内力三.ppt
- [工学]建模讲座文献检索、建模过程及软件.ppt
- [工学]建筑力学_结构第四章_应力和强度.ppt
- DeepSeek培训课件入门宝典:第2册 开发实战篇 .pptx
- 全面认识全过程人民民主-2024春形势与政策课件.pptx
- 2024春形势与政策-全面认识全过程人民民主.pptx
- 2025年春季学期形势与政策第二讲-中国经济行稳致远讲稿.docx
- 2024春形势与政策-铸牢中华民族共同体意识课件.pdf
- 2024春形势与政策-走好新时代科技自立自强之路课件 (2).pptx
- 2024春形势与政策-走好新时代科技自立自强之路课件.pptx
- 形势与政策学习指导教学-整套课件.pdf
- 2023年春季形势与政策讲稿第三讲-开创高质量发展新局面.pdf
- DeepSeek培训课件-清华大学-DeepSeek模型本地部署与应用构建.pptx
文档评论(0)