




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章主要教学内容1.转移指令。2.分支程序的基本结构和设计方法。本章主要教学目的及要求1.理解掌握转移指令;2.掌握分支程序的基本结构和设计方法;3.能利用转移指令熟练设计分支程序。3/8/20231转移的目标地址直接出现在指令中5.1转移指令
功能:无条件地使程序转移到指定的目标地址类型段内转移改变IP的值,CS的值不变直接方式间接方式转移的目标地址在寄存器或存储单元中段间转移改变IP和CS的值直接方式间接方式格式:JMP
目标标号功能:IP←IP+disp格式:JMP字地址指针功能:IP←EA格式:JMP目标标号功能:IP←OFFSET目标标号
CS←SEG
目标标号格式:JMP双地址指针功能:IP←[EA]CS←[EA+2]5.1.1无条件转移指令JMP(jump)3/8/202325.1.2条件转移指令功能:以某些标志位或标志位的逻辑运算为依据,满足条件,程序转移至指定目标;不满足条件,程序顺序执行。注意:条件转移的目标地址在+127或-128字节的范围之内分类:1.单个标志位的条件转移指令
2.组合条件的条件转移指令3/8/202331.单个标志位的条件转移指令类型C标志JB/JNAE/JCC=1时,转移JAE/JNB/JNCC=0时,转移Z标志JE/JZZ=1时,转移JNE/JNZZ=0时,转移S标志JSS=1时,转移JNSS=0时,转移P标志JP/PEP=1时,转移JNP/JPOP=0时,转移O标志JOO=1时,转移JNOO=0时,转移3/8/202342.组合条件的条件转移指令类型无符号数JA/JNBEC∧Z=0,转移JBE/JNAC∨Z=1,转移带符号数JG/JNLE[(S⊕O=0)∧(Z=0)],转移JGE/JNL(S⊕O=0)
,转移JL/JNGE[(S⊕O=1)∧(Z=0)]
,转移JLE/JNG[(S⊕O=1)∨(Z=1)],转移3/8/202353.CX的值为0转移指令格式:JCXZCX=0,转移说明:(1)条件转移指令不影响标志位(2)条件转移指令前安排算术运算、比较、测试等影响相应标志位的指令3/8/202365.2.1双分支结构程序1.双分支结构程序的典型结构条件满足不满足程序段1JMP程序段2例:将AL的最高位显示出来SHLAL,1JCNT1MOVDL,30HJMPNT2NT1:MOVDL,31HNT2:MOVAH,02HINT21H双分支结构程序的典型结构一5.2分支结构程序设计满足不满足条件程序段双分支结构程序的典型结构二例:计算某个数的绝对值
CMPAX,0JGENTNEGAXNT:MOVRES,AXYNAX≥0
求补送结果开始JMPYNCF=1DL=0DL=1显示开始3/8/202372.双分支结构程序设计举例例:设计字符比较程序,两个字符相同时,显示YES;否则显示NODATASEGMENTD1DB‘A’D2DB‘B’RES1DB‘YES’,’$’RES2DB‘NO’,’$’DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,D1MOVBL,D2
CMPAL,BLJNENEXT1LEADX,RES1JMPNEXT2NEXT1:LEADX,RES2NEXT2:MOVAH,09HINT21H MOVAH,4CHINT21H CODEENDSENDSTARTNY相同?显示NO显示YES取数开始返回3/8/20238例:设存储单元A和B各有一无符号字节数,比较大小,将较大数送A单元DATASEGMENTADB39HBDB0B4HDATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,ACMPAL,BJNCNEXTXCHGAL,BMOVA,ALNEXT:MOVAH,4CHINT21H CODEENDSENDSTART取数YNA≥BA、B交换开始返回3/8/202395.2.2多分支结构程序设计含义:程序有两个以上的分支设计方法:双分支方法、地址表法、转移表法、逻辑分解法结构:条件=?X1X2Xn其它程序段1…程序段2程序段0程序段n3/8/2023101.由多个双分支结构实现多分支结构程序设计
例:计算符号函数SNG(X)的值DATASEGMENTXDB0B9HYDB?DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,0JLNEXT1CMPAL,0JGNEXT2 MOVY,0JMPRES NEXT1:MOVY,0FFHJMPRESNEXT2:MOVY,1RES:MOVAH,4CHINT21HCODEENDSENDSTART符号函数:
1当X>0时
Y= 0当X=0时
-1当X<0时YNYNAL←XAL<0Y←-1AL>0Y←1Y←0开始返回3/8/2023112.利用地址表法实现多分支程序设计设计方法:把各分支程序段的入口地址依次存放在数据段的一个表中,形成地址表。取各分支程序段的编号作为各分支入口地址的表地址的位移量。某个分支程序入口地址的表地址为:表地址=编号*2+入口地址首地址例:用地址表法编写程序实现从低到高逐位检测一个字节数据,找出第一个非0的位数。检测时,为0则继续检测,为1则转移到对应的处理程序段显示相应的位数取数右移显示相应的位数显示’?’YN=0?YNCF=0?开始结束3/8/202312
JMPDISPAD1:MOVDL,’1’JMPDISPAD2:MOVDL,’2’JMPDISPAD3:MOVDL,’3’JMPDISPAD4:MOVDL,’4’JMPDISPAD5:MOVDL,’5’JMPDISPAD6:MOVDL,’6’JMPDISPAD7:MOVDL,’7’DISP:MOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART
DATASEGMENTNUMDB78HADTABDWAD0,AD1,AD2,AD3,AD4,AD5,AD6,AD7DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,NUMMOVDL,‘?’CMPAL,0JZDISPMOVBX,0AGAIN:SHRAL,1JCNEXTINCBXJMPAGAIN
NEXT:SHLBX,1JMPADTAB[BX]AD0:MOVDL,’0’3/8/2023133.转移表法多分支程序设计设计方法:把转移到各分支程序段的转移指令依次存放在一起,形成转移表。各转移指令在表中的位置—离表首地址的偏移量作为转移条件,偏移量加上表首地址作为转移地址,转到表的相应位置,执行相应的无条件转移指令例:根据输入值(0~4)的不同,执行不同的操作,用转移表法编写程序转移表首地址送BX输入值乘2送AXBX←BX+AXJMPBXJMPMODE0JMPMODE4MODE0MODE4……开始3/8/202314MODE0:MOVDL,30HJMPEXITMODE1:MOVDL,31HJMPEXITMODE2:MOVDL,32HJMPEXITMODE3:MOVDL,33HJMPEXITMODE4:MOVDL,34HEXIT:MOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTARTCODESEGMENTASSUMECS:CODESTART:LEABX,TABMOVAH,1INT21HSUBAL,30HMOVAH,0ADDAX,AXADDBX,AXJMPBXTAB:JMPSHORTMODE0;转移表
JMPSHORTMODE1JMPSHORTMODE2JMPSHORTMODE3JMPSHORTMODE4说明:转移表中每条转移指令(段内短转移)占用2个字节,所以有如下计算公式:表地址=模式字*2+转移表首地址3/8/2023154.逻辑分解法多分支程序设计YYNNNY图5-12逻辑分解法分支结构框图条件1成立程序段1条件2成立程序段2条件n成立程序段n+1程序段n设计方法:将多分支结构采用逻辑等效的方法,按条件的先后,依次分解成图5-12所示的一串双分支结构,然后使用双分支的方法来进行程序设计。3/8/202316例:根据AL中的值(0~4),执行不同的操作,用逻辑分解法编写程序
NEXT0:MOVDL,30HJMPEXITNEXT1:MOVDL,31HJMPEXITNEXT2:MOVDL,32HJMPEXITNEXT3:MOVDL,33HJMPEXITNEXT4:MOVDL,34HEXIT:MOVAH,2INT21HMOVAH,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 倾斜建筑地基施工方案设计
- 2025广西河池市罗城仫佬族自治县水利局招聘1人考试参考试题及答案解析
- 2026招商银行武汉分行校园招聘备考考试题库附答案解析
- 阅读之旅模板
- 文化公司税务咨询方案
- 本土企业应对策略-洞察及研究
- 油墨厂水性建筑油墨设备操作规定
- 水产养殖过程中病原微生物及污染物的安全性研究-洞察及研究
- 河南省新乡市2025-2026学年高一上学期9月月考历史试卷(含答案)
- 2024-2025学年广东省汕头市澄海区实验学校人教版六年级上册期中素养展示测试数学试卷(含答案)
- 70岁以上驾驶员换证三力测试题库(含答案)
- 2025秋形势与政策课件-践行多边主义完善全球治理
- (2025秋新版)人教版八年级历史上册全册教案
- 2025年小麦种子研发与应用技术合作开发协议
- 四合一检测仪使用课件
- 恋爱课件教学课件
- 人民陪审员培训民事课件
- 药物中毒的护理与急救
- 2025年食安员、食品安全总监、主要负责人考试题及答案
- 兄弟分户房屋协议书模板
- 学堂在线 大数据系统基础 章节测试答案
评论
0/150
提交评论