资源描述:
《微机教师指导手册18》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课题综合应用举例(二)目的任务掌握过程的定义及调用方法;掌握堆栈的使用方法;掌握延时程序的编写方法。重点难点堆栈操作;延时程序的编写方法。教学方法讲授使用教具传统教学法(粉笔和黑板)提问作业备课时间年月日上课时间年月曰审批教研室主任(签字):年月日抽查系主任(签字):4.9.2过程定义调用过程是一个具有确定功能的独立程序段,它可以被其它程序调用,在完成确定功能后,又能自动地返回原来的程序。1.过程定义的定义方法定义过程:过程名:程序段RET过程名的命名规则与标变量的命名规则一样过程完成的功能由程序段实现,过程以RET指令结束。这里,我们给出的过程定义方法舉縮但却是非常有效的,对于一般性的应用
2、足胜任。对初学者来说,在定义过程时应癡①过程与其它程序同在一个逻辑段里(通常是代码段);②一个程序中可以有多个过程;③过程之间不能交叉、重叠④建议将过程放在代码段的最、END伪指令之前;2.过程的调用由于过程是一个相对独立的部分因此过程的调用戟離只要在需要的位置放一条调用指令即可。格式:CALL过程名由于过程与其它程序同在一个代码段中,因此应避免非调用性的执行,即不是通过CALL指令执行到过程,这一点在编写程序吋磁療湖意例4-45:在字节WAB中存按顺序放着“0”〜“9”的七段码,字节MBuff中存随机存放着10个一位十进制数(0〜9),编程将Buff中的10个数在共阴极七段数码管上显示出来
3、。假定实现数码显示的过程名为:Disp,入口参数为:ALo核心代码为:TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHLEASI,BuffMOVCX,10Again:MOVBH,0;高8位清零MOVBL,[SI];低8位放数字值MOVAL,[BX+TAB];高8位、低8位合并后,产生七段码位置CALLDisp;调用七段码显示过程INCSILOOPAgainBuffDB9,1,4,6,0,9,1,2,3,8随机10数Disp:七段码显示过程RET取得表头地址在表中儁移地址表头+價移(结東〕图4-20查表程序流程图注:本例中,我们只是给出了过程调用的示例,
4、并未编写过程。1.堆栈操作堆栈的定义:堆栈是一块特殊的存储区域,它的所有操作只能在该区域的一端进行,并且是严格按顺序进行的。它具有先进后出的特点:如果我们先将一个数X放入堆栈,然后再将另一个数Y也放入堆栈,当我们想访问X时,必须先访问Y,然后才能访问到X。常用的堆栈指令有两条:格式:PUSHSRCPOPDST操作:PUSH是将由SRC指定的数据放入到堆栈中(压栈、压入);POP是将堆栈里的一个数据取到(出栈、弹出)DST指定的位置。这里SRC和DST必须是一个16位的数据,它们可以是除了立即数之外的其它所有寻址方式。习惯上以寄存器寻址方式为主。例4一46编写一个回车换行过程CRLF:PUSH
5、AXPUSHDXMOVAH,2MOVDL,13INT21HMOVAH,2MOVDL,10INT21HPOPDXPOPAXRET例4—47编写延时过程Delay2:PUSHCXMOVCX,8000HTime:PUSHCXMOVCX,8000HLOOP$POPCXLOOPTimePOPCXRET例4—48分析以下程序的功能和作用。代码略。例4—49分析以下程序的功能和作用。代码略。