《分支循环结构部分精选PPT.ppt》由会员分享,可在线阅读,更多相关《分支循环结构部分精选PPT.ppt(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、分支循环结构部分第1页,此课件共14页哦程序结构:TEST/CMP指令 Jx 标号1 处理体处理体P1 JMP 标号2标号1:处理体处理体P2标号2:其他指令 条件满足条件满足?处理处理P1处理处理P2标号1:标号2:条件1条件2IFTHENELSE结构第2页,此课件共14页哦标号标号1:条件条件1成立成立?P1NYCASE结构程序结构:程序结构:TEST/CMP指令(测试条件1)Jx 标号1 ;不满足转标号1 处理体处理体P1 JMP 标号标号n+1标号1:TEST/CMP指令(测试条件2)Jx 标号2 ;不满足转标号2 处理体处理体P2 JMP 标号标号n+1标号2:TEST/CMP指令(
2、测试条件3)Jx 标号3 ;不满足转标号3 处理体处理体P3 JMP 标号标号n+1标号3:TEST/CMP指令(测试条件4)标号n+1:(公共出口)条件条件2成立成立?条件条件n成立成立?Pn+1标号标号2:标号标号n:标号标号n+1:P2PnNNYY例:例:P178,例例4-14,统计成绩。,统计成绩。流程图中虚线框内流程图中虚线框内第3页,此课件共14页哦l例题18:求某数X的绝对值,并送回原处。l求X的绝对值,即要求完成下面的运算:l X ,X=0l Y=l -X ,X=0?lJNSDONE;若(AX)=0,则跳到DONElNEGAX;否则求(AX)的补码lMOVXADR,AX;存结果
3、lDONE:MOV AH,4CH;返回DOSl INT 21HlCODEENDSlENDSTART第6页,此课件共14页哦4.4.4 循环程序1DOUNTIL 结构 先执行,再判断条件。工作部分至少执行一次。初始化初始化循环体循环体循环控制循环控制继续循环?继续循环?YN第7页,此课件共14页哦2.DO WHILE 结构 先判断条件,再执行。工作部分有可能一次都不执行。初始化初始化循环体循环体循环控制循环控制继续循环?继续循环?YN第8页,此课件共14页哦注意:循环可以嵌套注意:循环可以嵌套(多重循环多重循环),但多个循环,但多个循环体之间不能交叉,控制条件不能混淆。体之间不能交叉,控制条件不
4、能混淆。例例22:编制程序使:编制程序使S1+2X3+3X4+4X5+.+N(N+1),直到,直到N(N+1)项大于项大于200为止。为止。首先绘制流程图:如图首先绘制流程图:如图4-8所示所示根据流程图编制的程序如下所示:根据流程图编制的程序如下所示:第9页,此课件共14页哦lTITLE ACCUMULATE SUMlCODESEGMENTl ASSUMECS:CODE,DS:CODE.SS:CODEl ORG100HlSTART:MOV DX,;DX-1l MOV BL,2;BL-2lREPEAT:MOVAL,BL;乘积项的两个因子分别递增l INCBLl MUL BL;N(N+1)-AX
5、第10页,此课件共14页哦l ADDDX,AX;计算累加和-AXl CMPAX,200;N(N+1)=200?l JNAREPEAT;若N(N+1)=200存结果l MOVAH,4CH;返回DOSl INT21Hl ORG200Hl RESULT DW?;存放结果单元lCODEENDSl ENDSTART第11页,此课件共14页哦掌握以下几点掌握以下几点:调用子程序用调用子程序用CALLCALL指令,返回调用程序用指令,返回调用程序用RETRET指令。指令。子程序允许嵌套调用。子程序允许嵌套调用。进进入入子子程程序序后后首首先先要要保保护护主主程程序序的的运运行行状状态态(标标志志位位)和和使
6、使用用的的寄寄存存器器内内容容(称称为为保保护护现现场场),退退出出子子程程序前要序前要恢复现场恢复现场。调调用用前前要要预预先先确确定定子子程程序序中中要要使使用用哪哪些些寄寄存存器器,并并定定义义入入口口参参数数和和出出口口参参数数。参参数数传传递递可可利利用用寄寄存存器器、存储单元或堆栈(要用存储单元或堆栈(要用BPBP寻址)。寻址)。4.4.5 4.4.5 子程序设计举例子程序设计举例第12页,此课件共14页哦例1:二进制数(0-F)转换成ASCII(0-F)的子程序。BIN2ASC PROC ;要转换的数在AL的低四位 ;转换结果仍在AL中 CMP AL,9 JA A2F ADD AL,30H JMP DONE A2F:ADD AL,37H DONE:RETBIN2ASC ENDP调用方法:(在主程序中)MOV AL,0CH CALL BIN2ASC (AL中有0CH的ASCII码43H,C)第13页,此课件共14页哦l作业:l例题16、例题21、例题23、例题27第14页,此课件共14页哦