第3章80x86汇编语言程序设计(下)ppt课件.ppt

第3章80x86汇编语言程序设计(下)ppt课件.ppt

ID:59493161

大小:819.50 KB

页数:94页

时间:2020-09-13

第3章80x86汇编语言程序设计(下)ppt课件.ppt_第1页
第3章80x86汇编语言程序设计(下)ppt课件.ppt_第2页
第3章80x86汇编语言程序设计(下)ppt课件.ppt_第3页
第3章80x86汇编语言程序设计(下)ppt课件.ppt_第4页
第3章80x86汇编语言程序设计(下)ppt课件.ppt_第5页
资源描述:

《第3章80x86汇编语言程序设计(下)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章80x86汇编语言程序设计(下)1分支结构是指计算机根据实际情况或条件,作出判断和选择,转而执行不同的程序段的一种程序结构。条件程序段条件程序段A程序段BYNYN3.5分支结构程序设计2多路分支结构根据某个控制字的各“位”状态实行多路转移多路条件测试程序段1程序段2程序段n……33.5.1无条件转移指令JMP1、段内转移格式1:JMPSHORTOPR;段内相对短转移操作1:IP<--(IP)+disp8说明:转移范围-128字节至+127字节,操作数OPR为段内某个标号。段内相对短转移示例指令JMPSHORTADDT存放在CS

2、:0200H中,标号ADDT对于IP指针的偏移量为1DH,则转移地址为0202H+001DH=021FHJMPSHORTADDT0200E8…11DADDT:MOVAL,40H2ADDAL,BL+1DH021FB002201D4格式2:JMPOPRJMPNEARPTROPR;段内相对近转移操作2:IP<--(IP)+disp16说明:转移范围-32KB至+32KB,操作数OPR为段内某个标号。格式3:JMPWORDPTROPR;段内间接转移操作3:IP<--(OPR)说明:OPR是基址/变址寄存器或存储器操作数。段内间接转移示例AD

3、DRESSDW2000H;定义转移地址...LEASI,ADDRESS;偏移量-->SI...JMPWORDPTR[SI];转移到CS:200052、段间转移格式4:JMPFARPTROPR;段间直接转移操作4:IP<--OAoprCS<--(CS)opr段间直接转移示例50新IP=0250H;代码段C102……00新CS=2000HJMPFARPTRNEXT20……;代码段C2C2段20000H……NEXT:MOVAL,10H…NEXT20250HEAOP码C1段6格式5:JMPDWORDPTROPR;段间间接转移操作5:IP<-

4、-((DS)*16+OPR)CS<--((DS)*16+OPR+2)段间间接转移示例JMPDWORDPTR[4000H]设(DS)=1000H(14000H)=0010H(14002H)=5000H执行后(CS)=5000H(IP)=0010H73.5.2条件转移指令格式:J条件标号操作:测试条件,若满足,则跳转到标号处执行,即IP<--(IP)+disp8;否则,执行后续指令说明:根据上一条指令所设置的条件码判别测试条件转移范围在-128到+127字节8条件转移指令(1)操作符功能测试条件JC进位标志为1转移CF=1JNC进位标志

5、为0转移CF=0JZ/JE等于0/相等转移ZF=1JNZ/JNE不等于0/不相等转移ZF=0JS符号标志为1转移SF=1JNS符号标志为0转移SF=0JO溢出转移OF=1JNO无溢出转移OF=0JP/JPE偶状态转移PF=1JNP/JPO奇状态转移PF=0JCXZCX=0转移CX=0JECXZECX=0转移ECX=09条件转移指令(2)A-B比较情况无符号数有符号数指令判断条件指令判断条件A>BJAZF=0,CF=0JGSF=OFJNBEJNLE且ZF=0A>=BJAEZF=1或JGESF=OFJNBCF=0JNL或ZF=1A

6、BZF=0,CF=1JLSF<>OFJNAEJNGE且ZF=0A<=BJBEZF=1或JLESF<>OFJNACF=1JNG或ZF=110条件转移指令示例1将X中十六进制的ASCII码转换成其所对应的数值,存放到HEX中。如‘A’应转换为10。MOVAH,XCMPAH,39HJBENEXT;≤39H则转SUBAH,7;是‘A’--’F’,减7NEXT:SUBAH,30H;减30HMOVHEX,AH注意ASCII中‘0’~‘9’是30H~39H,’A’~’F’是41H~46H11条件转移指令示例2CMPAX,0FFFFHJLEP3CM

7、PAX,1JLP2MOVAX,1JMPDONEP2:MOVAX,0JMPDONEP3:MOVAX,-1DONE:AX≤(-1)AX<1AX<--1AX<--0AX<--(-1)YNNY如果条件转移目标地址超出-128~+127的范围怎么办?121、比较/转移利用比较和条件转移指令实现两路分支。比较结果记录在某些标志位中,条件转移指令根据约定的条件进行对照,满足条件时转移,不满足条件时不转移。2、跳转表转移利用跳转表实现多路分支。比较/转移指令可嵌套,但程序结构复杂,跳转表可使程序结构清晰。3.5.3分支结构程序设计教材上的例子请看P

8、99中的例3.18和例3.19,上机实现例3.18程序。13有一个首地址为ARRAY的N字数组,将其中正数的个数放在DI中,0的个数放在SI中,负数个数放在AX中注意:负数个数=N-DI-SI14MOVCX,NMOVBX,0;初始化M

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

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

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