欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    09第四章2选择与循环结构.ppt

    • 资源ID:5128977       资源大小:123.50KB        全文页数:23页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    09第四章2选择与循环结构.ppt

    第四章 汇编语言的程序设计,4.6.2基本程序结构的设计顺序结构,分支结构,循环结构是用汇编语言进行程序设计的基本程序结构。下面主要学习形成这些结构的程序控制方法和指令用法。,坤奖熔七卖驾饱峦苯碘揭鹏裹缅鬼撩龄好沾斩火固漂茄谁瞻掉甚氖蛰答擂09第四章2选择与循环结构09第四章2选择与循环结构,例在显示器上显示“HOW DO YOU DO!”.MODEL SMALL;小模式.DATA;数据段STRING DB HOW DO YOU DO!$.STACK 200;堆栈段,预留200字节.CODE;代码段START:MOV AX,DATA;取数据段地址 MOV DS,AX MOV DX,OFFSET STRING;取字符串首地址 MOV AH,9;9号DOS功能调用,输出字符串 INT 21H MOV AH,4CH;返回DOS INT 21H END START;汇编结束,简化段的定义,龙缚烯蓬觉老户僵魁爆一褂陈椅痪此霖百蘸藤谦蟹卯壬达涵薪习袜故功钮09第四章2选择与循环结构09第四章2选择与循环结构,汇编语言程序调试过程,编辑建立汇编语言源程序 源文件.ASM汇编 目标文件.OBJ 列表文件.LST 交叉引用文件.CRF链接 可执行文件.EXE 连接映象文件.MAP 调试 最终程序,EDIT,MASM,LINK,DEBUG,试运行、验证、诊断、修改,写字板、记事本,销册蹭东荷盆谬缠蜕臼秉森旭痈焙疽畦乱橱科睡夷微随冉遂太阻鉴页氧猖09第四章2选择与循环结构09第四章2选择与循环结构,标号:,条件满足?,处理,N,Y,IFTHEN结构,程序结构:一个入口,一个出口 测试/比较指令(TEST/CMP)条件转移指令(Jx 标号)处理体 标号:其他指令,4.6.2 分支结构程序的设计 P.135,闲区外课拜涌察隋锻棱空司逢沾刷毡劝哉电菌帐肥阅幂骏终眯阜泻望伟旋09第四章2选择与循环结构09第四章2选择与循环结构,程序结构:TEST/CMP指令 Jx 标号1 处理体P1 JMP 标号2标号1:处理体P2 标号2:其他指令,条件满足?,处理P1,处理P2,标号1:,标号2:,N,Y,IFTHENELSE结构,蹄条蝇乔惩晰靖离唤熊材爽粥务着疯沙统俗魏猎垄凸诱寅仕桨湛白盏炬棱09第四章2选择与循环结构09第四章2选择与循环结构,标号1:,条件1 成立?,P1,N,Y,CASE结构,程序结构:TEST/CMP指令(测试条件1)Jx 标号1;不满足转标号1 处理体P1 JMP 标号n+1标号1:TEST/CMP指令(测试条件2)Jx 标号2;不满足转标号2 处理体P2 JMP 标号n+1标号2:TEST/CMP指令(测试条件3)Jx 标号3;不满足转标号3 处理体P3 JMP 标号n+1标号3:TEST/CMP指令(测试条件4)标号n+1:(公共出口),条件2 成立?,条件n 成立?,Pn+1,标号2:,标号n:,标号n+1:,P2,Pn,N,N,Y,Y,弧及拇淬圃沸赃裤铣驻玩劳呵藩梢糟佃弯浙鞭邀造着懒贩帘兔衷丘营雹并09第四章2选择与循环结构09第四章2选择与循环结构,4.6.2 1.二路分支结构程序设计 P.135,例 从键盘输入一位数字,判断其奇偶性,并在屏幕输出一个标志,若为奇数,则输出1,否则输出0。画出流程图。,偶数?,AL-30H,AL-31H,Y,N,输出AL,一个入口,一个出口,病蜂庞杨丙熙锤眷董慑浦兴无赴膊脐丑艰宣辅麦捂惊帅僻便豪老风煮结悟09第四章2选择与循环结构09第四章2选择与循环结构,NAME P124 TITLE 判断从键盘输入一位数字的奇偶性,并在屏幕输出1(奇数)或0(偶数)标志。CODE SEGMENT;代码段 ASSUME CS:CODEBEGIN:MOV AH,01H;1号DOS中断调用INT 21H;键入一位数字送AL且显示TEST AL,01H;测试最低位JZ EVN;偶数,转MOV AL,31H;奇数,置“1”JMP DISPEVN:MOV AL,30H;偶数,置“0”DISP:PUSH AXMOV AH,2;2号DOS中断调用MOV DL,0AH;输出换行INT 21HMOV DL,0DH;输出回车INT 21HPOP AXMOV AH,2;2号DOS中断调用MOV DL,AL;输出奇数/偶数标志INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDS END BEGIN;汇编到此结束,NAME P124 TITLE 判断从键盘输入一位数字的奇偶性,并在屏幕输出1(奇数)或0(偶数)标志。CODE SEGMENT;代码段 ASSUME CS:CODEBEGIN:MOV AH,01H;1号DOS中断调用INT 21H;键入一位数字送AL且显示TEST AL,01H;测试最低位JZ EVN;偶数,转MOV AL,31H;奇数,置“1”JMP DISPEVN:MOV AL,30H;偶数,置“0”DISP:PUSH AXMOV AH,2;2号DOS中断调用MOV DL,0AH;输出换行INT 21HMOV DL,0DH;输出回车INT 21HPOP AXMOV AH,2;2号DOS中断调用MOV DL,AL;输出奇数/偶数标志INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDS END BEGIN;汇编到此结束,CODE SEGMENT;代码段 ASSUME CS:CODEBEGIN:MOV AH,01H;1号DOS系统调用INT 21H;键入一位数字送AL且显示TEST AL,01H;测试最低位JZ EVN;偶数,转MOV AL,31H;奇数,置“1”标志JMP DISPEVN:MOV AL,30H;偶数,置“0”标志DISP:MOV AH,2;2号DOS系统调用PUSH AX;保存AX中标志内容(因为2号INT 21H会将DLAL)MOV DL,0AH;输出换行INT 21HMOV DL,0DH;输出回车INT 21HPOP AX;弹出AX中标志内容MOV AH,2;2号DOS系统调用MOV DL,AL;输出奇数/偶数标志INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDS END BEGIN;汇编到此结束,一个入口,一个出口,利卸召壮赵烩楔侈汁赛娥逆骂千翱伍呆脚惶蝶愁箱蹭诗式粘畴陶璃汐蚌纲09第四章2选择与循环结构09第四章2选择与循环结构,4.6.2 2.多路分支结构程序设计,例 任意给定x值(-128x+127),求以下符号函数y的值。1,当x0 y=0,当x=0-1,当x0画出程序流程图,见教材P136图4.6。,赏警锗惟道搁掩民帮云存株谐旦喧软贼缎狈姥美扒恫听兢吵催怎呢惧胚撼09第四章2选择与循环结构09第四章2选择与循环结构,NAME P124 TITLE 判断从键盘输入一位数字的奇偶性,并在屏幕输出1(奇数)或0(偶数)标志。CODE SEGMENT;代码段 ASSUME CS:CODEBEGIN:MOV AH,01H;1号DOS中断调用INT 21H;键入一位数字送AL且显示TEST AL,01H;测试最低位JZ EVN;偶数,转MOV AL,31H;奇数,置“1”JMP DISPEVN:MOV AL,30H;偶数,置“0”DISP:PUSH AXMOV AH,2;2号DOS中断调用MOV DL,0AH;输出换行INT 21HMOV DL,0DH;输出回车INT 21HPOP AXMOV AH,2;2号DOS中断调用MOV DL,AL;输出奇数/偶数标志INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDS END BEGIN;汇编到此结束,NAME P124 TITLE 判断从键盘输入一位数字的奇偶性,并在屏幕输出1(奇数)或0(偶数)标志。CODE SEGMENT;代码段 ASSUME CS:CODEBEGIN:MOV AH,01H;1号DOS中断调用INT 21H;键入一位数字送AL且显示TEST AL,01H;测试最低位JZ EVN;偶数,转MOV AL,31H;奇数,置“1”JMP DISPEVN:MOV AL,30H;偶数,置“0”DISP:PUSH AXMOV AH,2;2号DOS中断调用MOV DL,0AH;输出换行INT 21HMOV DL,0DH;输出回车INT 21HPOP AXMOV AH,2;2号DOS中断调用MOV DL,AL;输出奇数/偶数标志INT 21HMOV AH,4CH;返回DOSINT 21HCODE ENDS END BEGIN;汇编到此结束,;P.136求x的符号函数的完整程序.MODEL SMALL;小模式.DATA;数据段 x DB-18 y DB?.CODE;代码段START:MOV AX,DATA;取数据段 MOV DS,AX MOV AL,x;取x CMP AL,0;作x-0比较 JGE GE1;x0则转MOV AL,-1JMP EX;否则x0则赋-1GE1:JE ZERO;x0前提下x=0则转(同JZ)MOV AL,1;x0前提下x0则x0赋+1JMP EX;转存结果ZERO:MOV AL,0;x=0则赋0EX:MOV y,AL;存结果MOV AH,4CH;返回DOSINT 21H END START;汇编结束,一个入口,一个出口,是否需要加JMP EX?,唐淫窿虚榔蚤陶融卯完胰谭趾资逾朱差髓奸怕缚香彤氟宙骨障郊塑职桌鱼09第四章2选择与循环结构09第四章2选择与循环结构,分支程序作业:1、编写程序,将DISP单元中存放的单字节内容以十六进制字符形式输出显示。2、求X、Y两个双字节无符号数的差的绝对值存入Z单元。编写上述两程序并调试,对结果进行讨论。,连挑因汇桥圃绳念长茂抡幼闷测信倔哩慧良唱劣性针殊诞产义候宫刻腺哟09第四章2选择与循环结构09第四章2选择与循环结构,4.6.3 循环结构程序的设计 P.137,(a)DO WHILE 结构(当型循环结构,较少用)先判断条件,再执行 循环体部分有可能一次都不执行。,循环结果处理,循环体,循环初始化,循环结束条件?,N,Y,地址指针初值数据初值 循环次数或条件设定,状态判别处理结果存放,循环公共操作,搬丛腆侩制迢屠赦湍七计颁星靠于拣哨母双追魏咨傲吊免腿狈盂誓徒忙粤09第四章2选择与循环结构09第四章2选择与循环结构,(b)DOUNTIL 结构(直到型循环结构,较常用)先执行,再判断条件循环体部分至少执行一次,循环结果处理,循环体,循环初始化,继续循环条件?,N,Y,地址指针初值数据初值 循环次数或条件设定,状态判别处理结果存放,循环公共操作,循环可以嵌套(多重循环),但各循环结构之间不能交叉,瞅涵衅佰烤婴乐掏晃殉郁星条蔷苦毋巨警楚敞霜颁今俯烁阿搞鲁豺厉锈逛09第四章2选择与循环结构09第四章2选择与循环结构,DATA SEGMENT;数据段BUF DB 12H,31H,0A5H;定义三个原始数据SUM DB?;定义存放累加和的字节单元,无初值DATA ENDSCODE SEGMENT;代码段 ASSUME CS:CODE,DS:DATA;段说明START:MOV AX,DATA;数据段寄存器赋值 MOV DS,AX MOV AL,0;累加器清0 MOV SI,OFFSET BUF;取BUF偏移地址指向第一个数 LP:ADD AL,SI;加第一个数(寄存器间接寻址)INC SI;SI指向第二个数 ADD AL,SI;加上第二个数(寄存器间接寻址)ADD AL,SI+1;加上第三个数(寄存器相对寻址)MOV SUM,AL;存和值到SUM单元(设和值仍为单字节)MOV AH,4CH;返回DOS INT 21HCODE ENDS END START;汇编到此结束,从START起执行,补充例1将BUF单元开始的三个单元内容相加存放到SUM单元中。,饶绽尉镊乎血涨共袜沉酵垃哪府突看毙磷摊到零嘛僻数洗仁颤袭猪心茨伏09第四章2选择与循环结构09第四章2选择与循环结构,DATA SEGMENT;数据段BUF DB 12H,31H,0A5H;定义三个原始数据SUM DB?;定义存放累加和的字节单元,无初值DATA ENDSCODE SEGMENT;代码段 ASSUME CS:CODE,DS:DATA;段说明START:MOV AX,DATA;数据段寄存器赋值 MOV DS,AX MOV AL,0;累加器清0 MOV SI,OFFSET BUF;取BUF偏移地址指向第一个数 MOV CX,03H;设置循环3次 LP:ADD AL,SI;加第一个数(寄存器间接寻址)INC SI;SI指向第二个数下一个数 ADD AL,SI;加上第二个数(寄存器间接寻址)ADD AL,SI+1;加上第三个数(寄存器相对寻址)LOOP LP;未加完,继续循环 MOV SUM,AL;存和值到SUM单元(设和值仍为单字节)MOV AH,4CH;返回DOS INT 21HCODE ENDS END START;汇编到此结束,从START起执行,补充例1将BUF单元开始的三个单元内容相加存放到SUM单元中。,妮彩粥秘烹虞白扑投疽戍单探若借抚南槛按蔼挞院朝得鼓黍稗甲芒瓦弊洪09第四章2选择与循环结构09第四章2选择与循环结构,1.单重循环例(1),例 从X单元开始的30个连续单元中存放有30个单字节无符号数,从中找出最大者送入Y单元。(见下一页面)循环次数已知,其流程图如何?入口和出口有什么特点?类似的问题:例 10个带符号的字,找出最大的一个字。例 10个带符号的字,从中找出最小的一个字。,瞥疏冈考胯藐舀豺宋森舒眠钒车前湖医懂诽迎义忍膏烬嫌箍勃诧獭匹卤潭09第四章2选择与循环结构09第四章2选择与循环结构,.MODEL SMALL;小模式.STACK 200H;预留512个单元的堆栈空间.DATA;数据段 x DB 11,22,.y DB?.CODE;代码段 ST:MOV AX,DATA;设数据段MOV DS,AXMOV AL,X;取首元素 循环初始化MOV BX,OFFSET X;取首元素地址MOV CX,29;置循环29次 L1:INC BX;BX指向新一元素(指针调整)循环体CMP AL,BX;与新的一个数比较JAE L2;若(AL)BX,AL维持原值,转L2MOV AL,BX;新的这个元素大则送入AL L2:DEC CX;CX循环计数减1 循环控制 JNZ L1;未完,转回L1继续循环 MOV Y,AX;存最大数结果到Y单元 结果处理MOV AH,4CH;返回DOS INT 21H END ST;汇编结束,LOOP L1,沿枣叉桅舱扶噶摘孺娠删彰称第潦玖它畏裹身集徊屡痉付卒游笛室蔬犬融09第四章2选择与循环结构09第四章2选择与循环结构,例 从自然数1开始累加,直到累加和不超过500为止,统计被累加的自然数的个数,并把统计的个数送入N中,把累加和送入SUM单元。循环次数事先未知,流程图形式如何?程序见下一页面。,1.单重循环例(2),眯灾狰说认瑚矗裂勋昆狰蚤箍敛羽梳迸帚伍彬癣妥旬提痞嘎无贾钳劫男借09第四章2选择与循环结构09第四章2选择与循环结构,.MODEL SMALL;小模式.STACK 200;预留200个单元的堆栈空间.DATA;数据段 N DW?;SUM DW?;.CODE;代码段START:MOV AX,DATA;数据段寄存器赋值1141HMOV DS,AXMOV AX,0;累加和单元清0 初始化MOV BX,0;自然数单元置0 L:INC BX;BX加1得新一个自然数 循环体ADD AX,BX;加入新一个自然数CMP AX,500;累加和与500比较,有符号数还是无符号数?JBE L;(AX)500,转L继续循环 循环控制 SUB AX,BXDEC BXMOV N,BX;存最终自然数,即个数 结果处理MOV SUM,AX;存累加和MOV AH,4CH;返回DOS INT 21H END START;汇编结束,格付倾逸错磐扮葬濒赖沦鲁逊倾见钒培字冬尚韭搔洲闽赛蠕颓顿浚柯疮籍09第四章2选择与循环结构09第四章2选择与循环结构,补充例1 软件延时程序段:.MOV BX,100 L1:NOP MOV CX,50L2:NOPNOPNOPLOOP L2NOPDEC BXJNZ L1.,2.多重循环例,收殷橡凶口洒冉惰穴埔稽樟胸毯愤殆霜瑰雁擅皱宾掸桨坚原舵衡妊泊翟夸09第四章2选择与循环结构09第四章2选择与循环结构,P157例4.20 将一个16位二进制数BIN转换为十进制数DECIM并以非组合BCD码形式存放。分析16位无符号二进制整数最大为65535,可能有5位BCD码。每次将该整数除以10,第一次得到的余数即为个位,商再除以10,第二次得到的商为十位,依次类推,最后可得到全部5位。无符号数除法指令DIV,当除数为16位数时,得到的余数在DX中,商在AX中,这样不用很麻烦做5次除法,即可求出DECIM的各位。,3.数码转换例,穷囱狠裂腹修斌衷陡生蠢搀风笼侣伯铜斯壁促债舒演炮辈秒站使胃佳柑瘪09第四章2选择与循环结构09第四章2选择与循环结构,.model small.databin dw 5634hdecim db 5 dup(0).code mov ax,data;取出数据段址 mov ds,ax mov cx,5;循环5次,依次得到5位非组合BCD码 mov bx,10;作16位除数用 lea di,decim+4;di首先指向最低位BCD码 mov ax,bin;取被除数送AXagain:xor dx,dx;除数高16位清零 div bx;MOV DI,DL;存余数(教材第157页遗漏!)dec di;SI改指向下一门第一个学生成绩 loop again;DI改指向下一门平均成绩单元 mov ah,4ch;返回操作系统 int 21h end,高增蜂脑丹胞士痹疙栈夜肥律碾回刻挫疟蛙晾戍甚汇巧搁记溺佐峦凌稿涸09第四章2选择与循环结构09第四章2选择与循环结构,(1)阅读P166之2、3题,P170之10.(2)完成P176之11题。,眠寡踩援链普栅稿涸治锡销言纯缮骨浇劳鸯歹伍塌躲椭祭肇泅窒蛹搜毁摹09第四章2选择与循环结构09第四章2选择与循环结构,

    注意事项

    本文(09第四章2选择与循环结构.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开