分支程序设计精选PPT.ppt
《分支程序设计精选PPT.ppt》由会员分享,可在线阅读,更多相关《分支程序设计精选PPT.ppt(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、分支程序设计第1页,此课件共34页哦4.1 条件标志位的设置规则决定转移的标志位(1)进位标志CF当无符号数运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1;否则置0(2)零标志ZF若运算结果为0,则ZF=1;否则ZF=0(3)符号标志SF运算结果最高位为1,则SF=1;否则SF=0(4)溢出标志 OF 若无符号数运算的结果有溢出,则OF1;否则 OF0(5)奇偶标志 PF当运算结果中“1”的个数为零或偶数时,PF=1;否则PF=0第2页,此课件共34页哦4.1 条件标志位的设置规则MOV指令不影响标志位;加减指令影响上述所有标志,但增1和减1指令不影响CF;乘除指令只影响CF
2、和OF设AX=78C4H,BX=9F35H.通过示例观察每条指令执行后对标志位的影响CFSFOFZFPFADD AX,BX1000ADD AH,AL0110ADD AH,BL0100SUB AX,BXSUB BX,BXSUB AH,BH第3页,此课件共34页哦4.2.1 无条件转移指令(OPD+2)CS注意注意:实实际际编编程程时时,汇汇编编程程序序会会根根据据目目标标地地址址的的距距离离,自自动动处处理理成成短短转转移移、近近转转移移或远转移或远转移 程序员可用操作符程序员可用操作符short、near ptr 或或far ptr 强制强制返回首页返回首页JMP FAR PTR JMP FA
3、R PTR 标号标号JMP NEAR PTR JMP NEAR PTR 标号标号JMP DWORD PTR OPDJMP DWORD PTR OPDJMP WORD PTR OPDJMP WORD PTR OPD第4页,此课件共34页哦例 请写出下列转移指令的寻址方式,并求出执行该转移指令后,IP寄存器、CS寄存器的内容是什么?TABLE是字变量,变量的值是100H;PROG是近标号,表示偏移地址200H,ECX的内容02D3 7650H,段属性值为38E0H。当前IP的内容是1000H,CS的内容是38ACH,DS的内容是28E0H,BX的内容是10H,DI的内容是20H。JMP PROG
4、JMP WORD PTR BX JMP DWORD PTR TABLEBX JMP ECX JMP FAR PTR PROG JMP BXDI 段间间接寻址执行该指令后(IP)=(DS)*10H+(BX)+位移量)的低字=(28F10H)低字,(CS)=(DS)*10H+(BX)+位移量)的高字=(28F10H)高字 段间间接寻址,执行该指令后(IP)=(ECX)低字=7650H,(CS)=(ECX)高字=02D3H 段间直接寻址,执行该指令后(IP)=(PROG)偏移属性=0200H,(CS)=(PROG)段属性=38E0H 段内间接寻址,执行该指令后(IP)=(DS)*10H+(BX)+(
5、DI)=(28E00H+10H+20H)=(28E30H)段内直接程序存储器寻址执行该指令后(IP)=(PROG)偏移属性=0200H 段内间接程序存储器寻址执行该指令后(IP)=(DS)*10H+(BX)=(28E00H+10H)=(28E10H)第5页,此课件共34页哦JMP指令:段内直接转移第6页,此课件共34页哦JMP指令:段内寄存器间接转移第7页,此课件共34页哦JMP指令:段间直接转移第8页,此课件共34页哦JMP指令:段间间接转移第9页,此课件共34页哦4.2.2 条件转移指令1简单条件转移指令2无符号数条件转移指令3.有符号数条件转移指令 格式格式:Jcc:Jcc 短标号短标号
6、功能功能:指定的条件指定的条件cccc如果成立,程序转移到由短标号指定的目标地址如果成立,程序转移到由短标号指定的目标地址去执行指令;条件不成立,则程序将顺序执行转移指令的下一条指令去执行指令;条件不成立,则程序将顺序执行转移指令的下一条指令返回首页返回首页条件标志位的设置规则条件标志位的设置规则第10页,此课件共34页哦1简单条件转移指令例题例题4.1例题例题4.2例题例题4.3例题例题4.4例题例题4.5第11页,此课件共34页哦2无符号数条件转移指令【例】比较无符号数大小,将较大的数存放AX寄存器CMP AX,BX ;(AX)(BX)JNB NEXT ;若AX=BX,转移到NEXTXCH
7、GAX,BX ;若AX=BXAX=BX,转移到,转移到NEXTNEXTXCHGXCHGAXAX,BXBX;若;若AXBXAXBX,交换,交换NEXTNEXT:第18页,此课件共34页哦4.2 分支结构程序设计4.2.1 汇编语言程序设计的一般步骤4.2.2 流程图4.2.3 分支程序设计返回首页返回首页第19页,此课件共34页哦4.2.1 汇编语言程序设计的一般步骤汇编语言程序设计一般有以下几个步骤:1分析问题,确定算法2绘制流程图3根据流程图编制程序5调试程序返回本节返回本节第20页,此课件共34页哦4.2.2 流程图1流程图的概念流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步
8、骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2流程图符号表示流程图符号表示(1)起止框:表示程序的开始和结束。)起止框:表示程序的开始和结束。起止框起止框(2)判断框)判断框(3)处理框)处理框(4)调用框)调用框(5)指向线)指向线(6)连接框)连接框 返回本节返回本节第21页,此课件共34页哦4.2.3 分支程序设计一、用条件转移指令实现程序分支二、多路分支练习分支程序根据条件是真或假决定执行不同的程序段分支程序根据条件是真或假决定执行不同的程序段判断的条件是各种指令,如判断的条件是各种指令,如CMP、TEST等执行后形成的等执行后形成的状态标志状态标志
9、通过转移指令可以实现分支控制通过转移指令可以实现分支控制返回本节返回本节第22页,此课件共34页哦一、用条件转移指令实现程序分支1、单分支 例例4.64.6计算计算AXAX的绝对值的绝对值法法1:cmp ax,01:cmp ax,0 jns nonnegjns nonneg;分支条件:分支条件:AX0AX0 neg ax ;neg ax ;条件不满足,求补条件不满足,求补nonneg:nonneg:mov result,axmov result,ax;条件满足条件满足 BadAx0?Ax求补n法法2:cmp ax,0 jl yesneg;分支条件:分支条件:AX0 jmp nonnegyesn
10、eg:neg ax ;条件不满足,求补条件不满足,求补nonneg:mov result,ax;条件满足条件满足第23页,此课件共34页哦【例4.7】无符号数除以2 将AX中存放的无符号数除以2,如果是奇数,则加1后除以2 test ax,01htest ax,01h;测试测试AXAX最低位最低位jz evenjz even;最低位为最低位为0 0:AXAX为偶数为偶数add ax,1add ax,1;最低位为最低位为1 1:AXAX为奇数,需要加为奇数,需要加1 1even:even:rcr ax,1rcr ax,1;AXAX2;AXAX2注意:如果采用注意:如果采用SHRSHR指令,则不能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分支 程序设计 精选 PPT
限制150内