




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章分支程序设计,第1节分支程序结构,1。分支程序结构有两种结构形式:两个分支和多个分支。(1)两个分支完成两种情况的选择处理,相当于高级语言中的IF-THEN-ELSE语句,如图5-1所示;(2)多个分支完成多种情况的选择,相当于高级语言中两个分支的嵌套结构,即CASE语句或SWITCH语句,如图5-2所示。(3)分支结构程序首先需要条件判断,然后根据判断结果将程序执行流程转移到相应的分支,判断一次只能选择一个分支。第2节无条件分支指令1。分支指令分为无条件分支指令和条件分支指令。它们通过改变CS和IP,或者仅通过改变IP进行传输。前者适用于段内转移,而后者适用于段内转移。无条件转移指令的功能是将控制无条件转移到操作数指示的位置。无条件分支指令包括JMP指令、CALL指令和RET指令。本节只讨论JMP指令。CALL和RET指令将在第7章的子程序中讨论。Guaip指令的格式是JMPDOPD,其中DOPD是传输地址,它可以是标签、寄存器或存储器。前者称为直接转移,后者称为间接转移。(1)段内直接短传:JMPSHORTPTR标签传输地址IP由当前IP加8位位移组成,只能在段内-128 127字节范围内传输。前进是默认的SHORT。(2)段内直接传输:JMPNEARPTR标签传输地址IP由当前IP加16位位移组成,传输位置可以在代码段内的任何位置。(3)段内间接传输:JMPWORDPTR寄存器或存储器单元传输地址端口位于通用寄存器中或由任何存储器寻址模式决定。(4)区段间的直接传输:当转移JMPFARPTR标签时,同时修改IP和CS。标签必须定义为FAR属性。(5)段间间接转移:内存转移地址是内存中的双字,高位字是转移地址的CS值,低位字是转移地址的IP值,例5-1 JMP指令就是一个例子。C1)jmpshortptr 11;短段内传输(2)JMPNEARAPTRL 2;直接段内转移(3)JMPFARPTRL 3;直接部门间转移(4)BX);分段之间的间接转移(5)JMPWORDPTRBX;间接段内转移(6)Bp12】;(7)7)英国石油公司;直接转移到程序中,地址在堆栈部分;段间间接传输JMP指令对标志位没有影响。JMP指令不能构成一个分支程序,但是在分支程序的设计中,它经常被用来把每个分支的出口集合在一起。另外,当条件分支指令的分支范围超过-128 127字节时,预定分支通常由JMP指令实现。虽然JMP的说明变化很大,但大多数时候只使用“JMP标签”的简单形式。第3节条件分支指令1。概述(1)与无条件分支指令不同,条件分支指令根据先前形成的条件确定分支目的地。(2)条件分支指令的条件主要由标志寄存器给出,并根据标志位的值传送,如ZF、CF、SF、OF和PF。可以改变这些标志位的操作和指令可以形成传输条件。化学机械抛光和测试指令通常用于形成转移条件。CX值是否为0通常也表示一种过渡状态。(3)共有19条条件分支指令,分为4类:简单条件分支指令、无符号条件分支指令、有符号条件分支指令和CX条件分支指令。(4)所有条件转移只能是段内的直接短转移,不影响任何标志位,如JMP指令。(5)条件分支指令的一般格式是:条件分支指令助记短标签;2.简单条件分支指令简单条件分支指令是一种条件分支指令,仅依赖于ZF、法国、法国、法国和法国的某个标志位。标志ZF、CF、SF、OF和PF的值可以代表10个状态,因此设置了10个简单的条件分支指令,如表5-1所示。示例5-2无符号数条件分支指令的“比较”由上面、下面和等于表示,如表5-2所示,其中a和b是无符号数。x和y是无符号数,计算lX-Yl。节目片段如下:MOVAX,XCMPAX,y比较JAELLLXCHGAX,y:如果AXY?JGXGZMOVAX,YCMPAX,Z:YZ?JGNETZTOAX:MOVAX,ZJMPNEXTXGZ:CMPAX,Z:XZ?JNGZTOAOXNEXT:MOVmax,AXMOVAH,4CHINT21HCODEENDSENDBEGIN,2 .示例5-12编写程序将输入的大写字母转换成小写字母。英文大写字母和小写字母的ASCII码之间的差异是20H。要将大写字母转换成相应的小写字母,只需在大写字母的ASCII码中添加20H。函数调用01用于从键盘输入字符,函数调用02用于输出小写字母,函数09用于显示错误信息,而化学机械抛光和JMB指令用于实现分支程序设计。假设输入以“#”结尾。程序流程图如图5-6所示。程序如下:DATASEGMENTERRMESSDBERROR!事实上,很难找到解决这个问题的办法。)STACKENDSCODESEGMENTASSI,MECS:CODE,ds: data,ss: s1.ackstar: movax,DATAMOVDS,AXLLL:MOVAH,1:从键盘输入一个字符并将其发送到ALINT21HcMPAL, # ;输入字符是“#”结尾的JZDONECMPAL,“a”;如果不是大写字母,错误消息JBERRMAL。将显示20H的JAERRDAL。转换成小写字母MOVDL,AL: output MOVAH,2 int 2 lhjmplll:continue to input ERR:MOVDX,offset termESS:output error message MOVAH,9INT21HJMPLLLDONE:MOVAH,4CHINT21HCoDEENDSENDSTART,3。实施例5-13改进实施例4-28的三次程序,计算0-9的中间数,以增加容错能力。程序流程图如图5-7所示。程序如下:stack sections 1 pack dwooh dim(o)stack kendsdata tasegmentmessdb inputx(0 9):$ tab dw 0,1,8,27,64,125XDB?DAIACODEMAIN:图5-7示例5-13程序流程图216,343,512,729:定义数据表XXDW?ERRDBINPUTERROR!$ endssegmentassumes,ds:阿呆,ss:stack mova x,DATAMOVDS,AXMOVDx,OFFSETSMAST:display prompt message MOVAH,9,INT2lHMOVAH,1: input XINT21HCMPAL, O: improve part JBLERRCMPAL,9 9JALERRANDAL,OFH:AScII代码转换为计算表中的真值MOVOX,ALADDAL,AL:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议签订时房产分割与补偿方案
- 离婚协议书模板详尽阐述离婚后财产分割方案
- 竞业禁止及保密协议范本:针对企业并购
- 离婚二次诉讼判决书履行及共同债务处理协议
- 科技企业竞业禁止补偿金评估与分配细则合同
- 夫妻离婚协议书车辆权属变更及保养费用分摊协议
- 离婚协议及子女抚养、财产分割与债务分担协议
- 班组晨会安全培训记录课件
- (2025-2026)部编版一年级上册第二单元汉语拼音测试卷附答案
- 体育中考培训课件
- 不健康食品课件:健康成长远离垃圾食品
- 2025年上半年入党积极分子培训班结业考试题及答案
- 单位集中物业管理保洁服务方案方案投标文件(技术方案)
- 外事礼仪培训课程
- 有限空间现场监护人培训
- 2025至2030中国电缸行业发展分析及投资风险预警与发展策略报告
- 子宫腺肌症术后护理查房
- 在制品生产车间管理制度
- 安防监控设备维护保养手册
- 医疗美容手术管理制度
- 城市轨道交通工程测量技术培训课件
评论
0/150
提交评论