微机原理第五章精.ppt





《微机原理第五章精.ppt》由会员分享,可在线阅读,更多相关《微机原理第五章精.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理第五章1第1页,本讲稿共17页过程名常用作过程名常用作CALL调用指令的操作数调用指令的操作数,子程的最后安排子程的最后安排RET返回指令,使执行完子程后能返回调用处返回指令,使执行完子程后能返回调用处。过程有两种类型:过程有两种类型:NEAR和和FAR无类型项时,无类型项时,默认为默认为NEAR类型类型。当过程与调用指令不在同一段时,应将过程定义为当过程与调用指令不在同一段时,应将过程定义为FAR类型。类型。过程类型决定子程中过程类型决定子程中RET的返回类型的返回类型2第2页,本讲稿共17页例例1displayPROC、C3H、RET;NEAR属性的过程对应段内返回属性的过程对应段
2、内返回displayENDP例例2displayPROCFAR、CBH、RET;FAR属性的过程对应段间返回属性的过程对应段间返回displayENDP3第3页,本讲稿共17页汇编语言程序汇编语言程序举例举例三三4第4页,本讲稿共17页;利用汇编语言程序结构例二(子程结构)利用汇编语言程序结构例二(子程结构);用二进制显示中断向量表中数据用二进制显示中断向量表中数据D0H的个数的个数keyEQU0D0H;用符号表示常量用符号表示常量(关键字关键字)codeSEGMENT;代码段开始代码段开始ASSUMECS:codebegin:MOVAX,0000HMOVDS,AXMOVSI,0000HMOV
3、CX,0400HMOVBX,0MOVAL,keynext:CMPSI,ALJNZpointINCBXpoint:INCSILOOPnextCALLdisplay;调用显示子程调用显示子程MOVAH,4CH;返回返回DOSINT21H;用二进制显示用二进制显示BX内容子程内容子程displayPROCMOVCX,16rotate:ROLBX,1MOVDL,BLANDDL,01HADDDL,30HMOVAH,2HINT21HLOOProtateRET;子程返回子程返回displayENDPcodeENDS;代码段结束代码段结束ENDbegin;指示程序结束和指示程序结束和;程序入口程序入口5第5页
4、,本讲稿共17页七、等值定义伪操作七、等值定义伪操作格式格式符号名符号名EQU需等值的表达式需等值的表达式作用是用符号名等值指定的表达式作用是用符号名等值指定的表达式其中其中:表达式可以是任何有效的操作数表达式可以是任何有效的操作数汇编时用语句中的表达式代替程序中符号所在的地方。汇编时用语句中的表达式代替程序中符号所在的地方。应用:应用:1.定义符号常量,方便修改程序。定义符号常量,方便修改程序。2.某表达式多次出现时,用等值伪操作可以方便编程。某表达式多次出现时,用等值伪操作可以方便编程。6第6页,本讲稿共17页;利用汇编语言程序结构例二(子程结构)利用汇编语言程序结构例二(子程结构);用二
5、进制显示中断向量表中数据用二进制显示中断向量表中数据D0H的个数的个数keyEQU0D0H;用符号表示常量用符号表示常量(关键字关键字)codeSEGMENT;代码段开始代码段开始ASSUMECS:codebegin:MOVAX,0000HMOVDS,AXMOVSI,0000HMOVCX,0400HMOVBX,0MOVAL,keynext:CMPSI,ALJNZpointINCBXpoint:INCSILOOPnextCALLdisplay;调用显示子程调用显示子程MOVAH,4CH;返回返回DOSINT21H;用二进制显示用二进制显示BX内容子程内容子程displayPROCMOVCX,16
6、rotate:ROLBX,1MOVDL,BLANDDL,01HADDDL,30HMOVAH,2HINT21HLOOProtateRET;子程返回子程返回displayENDPcodeENDS;代码段结束代码段结束ENDbegin;指示程序结束和指示程序结束和;程序入口程序入口7第7页,本讲稿共17页实现实现用二进制显示中断向量表中数据用二进制显示中断向量表中数据D0H的个数。的个数。分析:分析:中断向量表指内存中断向量表指内存0:00:3FFH大小大小400H(即即1K)字节空间字节空间;查找关键字查找关键字D0H;将关键字的个数,存放在将关键字的个数,存放在BX中中,采用二进制显示采用二进制
7、显示BX内容,内容,16个字符;个字符;采用子程调用结构。采用子程调用结构。8第8页,本讲稿共17页主程序流程图主程序流程图子程序流程图子程序流程图9第9页,本讲稿共17页;利用汇编语言程序结构例二(子程结构)利用汇编语言程序结构例二(子程结构);用二进制显示中断向量表中数据用二进制显示中断向量表中数据D0H的个数的个数keyEQUD0H;用符号表示常量用符号表示常量(关键字关键字)codeSEGMENT;代码段开始代码段开始ASSUMECS:codebegin:MOVAX,0000HMOVDS,AXMOVSI,0000HMOVCX,0400HMOVBX,0MOVAL,keynext:CMPS
8、I,ALJNZpointINCBXpoint:INCSILOOPnextCALLdisplay;调用显示子程调用显示子程MOVAH,4CH;返回返回DOSINT21H;用二进制显示用二进制显示BX内容子程内容子程displayPROCMOVCX,16rotate:ROLBX,1MOVDL,BLANDDL,01HADDDL,30HMOVAH,2HINT21HLOOProtateRET;子程返回子程返回displayENDPcodeENDS;代码段结束代码段结束ENDbegin;指示程序结束和指示程序结束和;程序入口程序入口10第10页,本讲稿共17页;利用汇编语言程序结构例二(子程结构)利用汇编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 第五

限制150内