汇编语言第五章循环_计本

汇编语言第五章循环_计本

ID:39779190

大小:463.00 KB

页数:49页

时间:2019-07-11

汇编语言第五章循环_计本_第1页
汇编语言第五章循环_计本_第2页
汇编语言第五章循环_计本_第3页
汇编语言第五章循环_计本_第4页
汇编语言第五章循环_计本_第5页
资源描述:

《汇编语言第五章循环_计本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言程序设计第一节循环结构程序设计一、循环结构程序概述在程序中,凡能有规则重复执行的程序段称作循环。包含循环程序段的程序称为循环结构程序。1、循环程序的组成...循环的初始状态:设置一些初值,如设寄存器、计数器的初值等。循环体:由工作部分和修改部分构成。工作部分是循环程序具体要完成的功能,是循环的主要部分,修改部分是控制循环的一些参数有规律的变化。循环控制部分:控制循环的结束。2、循环程序的结构形式:循环初始化循环控制条件循环体循环初始化循环体循环控制条件二、循环程序设计方法(95页)1.循环指令说明:①这些指令对状态

2、标志位都没影响.②LOOPE/LOOPZ和LOOPNE/LOOPNZ两类指令有条件地形成循环,前者当规定的循环次数未完成时,还必须满足“相等”或“等于零”的条件,才能继续循环。后者类似,条件相反。两个条件必须同时成立,才继续循环动画(CX)-1CX循环次数CX循环体(CX)=0?YNLOOPE/LOOPZZF=1?YN(CX)-1CX循环次数CX循环体(CX)=0?YNLOOP操作图ZF=0?LOOPNE/LOOPNZ例1:在屏幕上显示10行“howdoyoudo”,程序名:exa.asm(2)求1~N自然数的和,结果存在RES

3、ULT单元。程序如下:MOVAX,0MOVCX,NDONE:ADDAX,CXLOOPDONE;和它等价的指令是?MOV[RESULT],AX(2)在一首址为ARRAY1长度为20的字符串查找字符“*”,如果找到,则将结果单元RESULT清0,否则结果单元为全1。LEASI,ARRAY1DECSI;为后面循环从第1个字符作准备.MOV[RESULT],0FFH;先假设没找到,送全1MOVCX,20MOVAL,’*’;*的ASCII为42D=2AHDONE:INCSICMPAL,[SI];与第一个字符比较LOOPNEDONE;不相等

4、且CX<>0,ZF=0继续循环JcxzEND1;退出循环时CX为0或没找到MOV[RESULT],0;找到END1:HLT2串操作指令(75页)包括串传送、存取、比较、扫描等操作.利用串操作指令可以直接处理两个存储器操作数,方便地处理字符串或数据块。串指令的特点(1).指令格式串指令可以显式地带有操作数,也可以使用隐含格式。例如串传送指令MOVS,可以有以下几种格式:显式:MOVSDST,SRC隐式:MOVSB;字节传送MOVSW;字传送MOVSD;双字传送(2).操作数串指令可以处理寄存器操作数和存储器操作数。若为寄存器操作数

5、则只能放在累加器中,对于字节操作数应放在AL中,字操作数放在AX中。对于存储器操作数应先建立地址指针:若为源操作数,则必须把源串首地址放入SI寄存器,缺省情况寻址DS所指向的段。若为目标操作数,则必须把目标串首地址放入ES:DI寄存器,不允许使用段超越前缀。(3).地址指针的修改串指令执行后系统自动修改地址指针SI、DI。若为字节型操作其修改量为1,若为字型操作其修改量为2。(4).方向标志方向标志DF决定地址指针的增减方向。若DF=0,则地址指针增量;若DF=1,则地址指针减量。(5).重复前缀串指令前可以加重复前缀REPE/

6、REPZ、REP或REPNE/REPNZ,使后跟的串指令重复执行。重复次数应事先初始化在计数器CX。二、串指令1.串传送指令MOVS(76页)显式格式:MOVSDST,SRC隐含格式:MOVSBMOVSWMOVSD功能:源→目标,即([SI])→ES:[DI],且自动修改SI、DI指针。标志:不影响标志位。串传送指令允许目的串和源串都是存储器操作数,在这一点上有别于M0V指令。动画演示①把自buffer1开始的200个字节数据传送到buffer2开始的区域中。MOVAX,SEGbuffer1MOVDS,AXMOVAX,SEGbu

7、ffer2MOVES,AXLEASI,buffer1LEADI,buffer2MOVCX,200CLDREPMOVSB和它等价的程序段是什么?;200个字节数据传送完毕后执行下一条指令前面的例子中语句REPMOVSB和它等价的程序段是什么?LAST:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPLASTLast:movsbLooplast2.取串指令LODS显式格式:LODSSRC隐含格式:LODSBLODSWLODSD功能:源→累加器,即([SI])→AL(或AX、EAX),且自动修改SI指针。说明

8、:若DF=0,则LODSB(或LODSW)使SI加1(或2);若DF=1,则LODSB(或LODSW)使SI减1(或2)。标志:不影响标志位。②自buffer1开始的10个非压缩BCD码形式存放的十进制数转换成ASCII码,按顺序显示在屏幕上。设DS、ES已按要

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

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

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