第5章 顺序、分支和循环程序设计ppt课件.ppt

第5章 顺序、分支和循环程序设计ppt课件.ppt

ID:59208438

大小:1.09 MB

页数:101页

时间:2020-09-26

第5章 顺序、分支和循环程序设计ppt课件.ppt_第1页
第5章 顺序、分支和循环程序设计ppt课件.ppt_第2页
第5章 顺序、分支和循环程序设计ppt课件.ppt_第3页
第5章 顺序、分支和循环程序设计ppt课件.ppt_第4页
第5章 顺序、分支和循环程序设计ppt课件.ppt_第5页
资源描述:

《第5章 顺序、分支和循环程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章顺序、分支和循环程序设计5.1顺序程序设计5.2分支程序设计5.3循环程序设计共6学时编写程序的一般步骤分析问题算法设计,画出流程图根据流程图编写源程序程序的调试与修改5.1顺序程序设计顺序程序设计在设计这种程序中,没有分支和循环,只要遵照算法按步骤顺序写出相应的指令即可。用流程图来描述如图5-1所示。图5-1【例5-1】设X、Y、Z为有符号字变量,编写程序计算表达式((X+Y)*5+8-X)/Z的值,结果存放到双字变量RESULT中。(1)程序的基本结构:(2)计算表达式的值算法分析:步骤1:计算X+Y;步骤2:计算(X+Y)*5;步骤3:计算(X+Y)*5+8步骤4:计算(X+

2、Y)*5+8-X步骤5:计算((X+Y)*5+8-X)/Z程序算法流程图如图5-3所示。(3)根据流程图编写汇编程序:DATASEGMENTXDW?YDW?ZDW?RESULTDD?;RESULT为双字变量DATAENDSCODESEGMENT‘CODE’;代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;数据段段地址送DS中MOVAX,XADDAX,Y;计算X+Y→AXMOVBX,5IMULBX;计算(X+Y)*5,AX*5→DX:AXADDAX,8ADCDX,0;计算(X+Y)*5+8,(DX:AX)+8→DX:AXSUBAX,XSBB

3、DX,0;计算(X+Y)*5+8-X,(DX:AX)-X→DX:AXIDIVZ;计算((X+Y)*5+8-X)/Z商→AX,余数→DXMOVWORDPTRRESULT,AX;商→RESULTMOVWORDPTRRESULT+2,DX;余数→RESULT+2MOVAX,4C00H;程序结束返回DOSINT21HCODEENDS;代码段结束ENDSTART【例5-3】通过键盘键入一个两位十进制数,将该数转换成压缩的BCD码,送BUF中。(1)分析:1)获取键盘键入的数据是利用下面两条指令来完成。(P220)MOVAH,01H;1号功能,通过键盘读入1个ASCII码→ALINT21H;中断21

4、H2)通过键盘键入的数字的ASCII码为:键盘键入123456789ASCII码31H32H33H34H35H36H37H38H39H将ASCII码转换成BCD码,用去掉30H的方法:SUBAL,30H(2)程序流程图如图5-5所示。(3)根据流程图编写汇编程序:DATASEGMENT;定义数据段BUFDB?;BUF为字节变量DATAENDSCODESEGMENT‘CODE’;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAH,01H;通过键盘读入十位ASCII码→ALINT21HSUBAL,30H;将十位ASCII码转换成BC

5、D码→ALSHLAL,4;将十位BCD码左移4位→ALMOVBUF,AL;将AL→BUF保存MOVAH,01H;通过键盘读入个位ASCII码→ALINT21HSUBAL,30H;将个位ASCII码转换成BCD码→ALORBUF,AL;将十位BCD码和个位BCD码合并→BUFMOVAX,4C00H;程序结束返回DOSINT21HCODEENDS;代码段结束ENDSTART5.2分支程序设计5.2.1转移指令5.2.2条件转移指令5.2.3根据条件设置字节指令5.2.4分支程序设计的应用举例分支结构就是在顺序结构的基础上加判断框形成程序的分支结构。在汇编指令中共有4组程序转移指令:无条件转移

6、指令(在第3章介绍)条件转移指令循环指令中断指令(在第8章介绍)5.2.1转移指令5.2.2条件转移指令条件转移指令分为3大类:根据单个标志的条件转移指令根据无符号数比较的结果产生的条件转移指令根据带符号数比较结果产生的条件转移指令此外,JCXZ是根据CX寄存器的内容而产生的条件转移指令。条件转移指令的格式:所有条件转移只能是段内直接短转移,不影响任何标志位。条件转移指令助记符短标号1.比较指令CMP;DST—SRC结果反映在标志上而不送回到目的操作数DST。影响OF、SF、ZF、AF、PF、CF。操作数类型:R或M,两个操作数不能同时为M。表5-1表中说明2个操作数的比较结果。用途比较

7、指令标志寄存器比较结果比较DST和SRC是否相等(有符号或无符号)CMPDST,SRC做DST-SRCZF=1(结果为0)DST=SRCZF=0(结果为不0)DST≠SRC比较两个无符号数的大小(由CF、ZF判断)CMPDST,SRC做DST-SRCCF=0(无借位)ZF=1DST=SRCZF=0DST>SRCCF=1(有借位)DST<SRC比较两个有符号数的大小(由SF、OF判断)CMPDST,SRC做DST-SRCOF=0(无溢

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

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

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