微机教师指导手册15

微机教师指导手册15

ID:27803376

大小:166.46 KB

页数:5页

时间:2018-12-06

微机教师指导手册15_第1页
微机教师指导手册15_第2页
微机教师指导手册15_第3页
微机教师指导手册15_第4页
微机教师指导手册15_第5页
资源描述:

《微机教师指导手册15》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、循环程序设计方法(一)目的任务掌握用条件转移指令和LOOP指令进行循环程序设计的一般方法重点难点分别用条件转移指令和LOOP指令进行循环程序设计教学方法讲授使用教具传统教学法(粉笔和黑板)提问作业备课时间年月日上课时间年月曰教研室主任(签字)年月日系主任(签字):年月日3.数据传送实例例4・37:变量(数据块)X中有10个字符(’ABCD1234),变量(数据块)丫中有8个字符(’12345678)',満呈:用X的值覆盖Y。对这类问题的理想解决方案是:先用LEA指令将数据块的首地址送入一个变址或基址寄存器,然后通过间接寻址方式访问操作数,通过寄存器加1操作调整存储器的地址。本例的程序流程如图

2、4/4所示,完整的程序代码为:XDB'ABCD1234'YDB'12345678,Main:MOVAX,@DATAMOVDS,AX;将数据段的段基址送入AXLEASI,X;取得变量X的首地址LEADI,Y;取得变量丫的首地址MOVCX,0;计数初值Next:MOVAL,[SI];从X中读取操作数MOV[DI],ALINCSIINCDIINCCX;复制到丫中CMPCX,8;与8比较JCNext;小于&寄存、继续下一个数4.数据拆分与拼装实例在控制系统的编程中,将从不同地址采集到的数据经过重新组装,形成一个新的控制字,也是经常遇到的问题。例4-38:字节变量X、Y中各有8个数据(自定),编程:将

3、X的低四位与Y的高四位合并为一个新的数据,然后存放到以Buff开始的8个单元中。XYBuffDBDB12H,13H,14H,15H,16H,17H,18H,87H,86H,85H,84H,83H,82H,81H,19H80HDB4DUP(?)LEASI,X;取3个变量的首地址LEADI,YLEABX,BUFFMOVCX,8;计数器、循环次数初值Aga:MOVAL,[SI];从X处取一个数ANDAL,OFH;清除高四位MOVAH,[DI];从Y处取一个数ANDAH,OFOH;清除低四位ORAL,AH;合并MOV[BX],AL;存储INCSI;修改参数,为下一个数做准备INCDIINCBXDEC

4、CXJNZAga(CX);条件成立,转移图4-15例4-38程序流程图4.8循环程序设计的方法4.8.1循环指令循环是将一段程序重复执行多遍,被重复执行的程序段称为循环体,代程序设计中另一种重要的方法。循环程序的一般结构一个循环程序由三部分组成:循环的初始化:为循环过程中有可能用到的变量提供初值。循环体:本次循环要完成的主要工作,内容由要处理的问题来确定的,结果可能影响到循环是否继续进行。循环控制:以条件表达式的结果作为是否结束循环的条件。循环程序设计是现这一部分的执行典型循环结构如图4-16所示。ffi16典型循环体的结构2•循环指令格式:LOOPOPR操作:(CX)J(CX)-1,若(C

5、X)主0,则转®PR所指的位置OPR是跳转的目的标号,一般也是循环体的初始位置。与JMP指令一样,标号OPR是一个8位的位移量。因此,它与LOOP指令之间的距离不能太大,应保拯-128〜+127字节之间。LOOP指令使用时总要与一条疑寄存器赋值的指令(通常是MOV指令)配合使用,它的一般结构是:MOVCX,循环次数OPR:LOOPOPR这种结构似C语言中的for(匸10;iVO;1-=”语句。在事先知道循环次数的情况下,可采用LOOP指令控制循环的结束;如果不能事先知道循环的次数,一般都采用比较指令与条件转移指令相结合来控制循环的结束。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。