mov al, byte ptr gvar[2] 例4.2-2/2 mov byte ptr gvar [3], al mov al, byte ptr gvar[l] mov byte ptr gvar[2], al 图示 mov al, byte ptr gvar[oj moy byte ptr gvar[], al moy byte ptr gvar[o],0 1234567887654321h 移位后3456788765432100h
例4.2-2/2 mov al,byte ptr qvar[2] mov byte ptr qvar[3],al mov al,byte ptr qvar[1] mov byte ptr qvar[2],al mov al,byte ptr qvar[0] mov byte ptr qvar[1],al mov byte ptr qvar[0],0 12 34 56 78 87 65 43 21h 34 56 78 87 65 43 21 00h 移位后 图示
第4章 4.2分支程序设计 >分支程序根据条件是真或假决定执行与否 >判断的条件是各种指令,如CMP、TEST等执行 后形成的状态标志 转移指令Jcc和JMP可以实现分支控制;还可以 采用MASM6x提供的条件控制伪指令实现 单分支:求绝对值 燃双分支:例4.3等 多分支:例4.4等 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 4 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 4.2 分支程序设计 ➢ 分支程序根据条件是真或假决定执行与否 ➢ 判断的条件是各种指令,如CMP、TEST等执行 后形成的状态标志 ➢ 转移指令Jcc和JMP可以实现分支控制;还可以 采用MASM 6.x提供的条件控制伪指令实现 单分支:求绝对值 双分支:例4.3等 多分支:例4.4等
第4章 单分支程序设计 >条件成立跳转,否 则顺序执行分支语 句体;注意选择正 Jcc条件满足? Y 确的条件转移指令 和转移目标地址 分支语句体 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 4 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 单分支程序设计 ➢条件成立跳转,否 则顺序执行分支语 句体;注意选择正 确的条件转移指令 和转移目标地址
;计算AX的绝对值 例题求绝对值 c· Good cmp ax,0 Jns nonneg;分支条件:AX≥0 neg ax 条件不满足,求补 nonneg: mov result,ax;条件满足 ;计算AX的绝对值 Bad cmp ax, 0 j1 yeshe;分支条件:AX<0 Jmp honneg yesneg. neg ax 条件不满足,求补 monnet: mov result,ax;条件满足
例题 求绝对值 ;计算AX的绝对值 cmp ax,0 jns nonneg ;分支条件:AX≥0 neg ax ;条件不满足,求补 nonneg: mov result,ax ;条件满足 ;计算AX的绝对值 cmp ax,0 jl yesneg ;分支条件:AX<0 jmp nonneg yesneg: neg ax ;条件不满足,求补 nonneg: mov result,ax ;条件满足 Good Bad
第4章 双分支程序设计 >条件成立跳转执行 第2个分支语句体, Jc条件满足? 否则顺序执行第1个 N 分支语句体。注意第 分支语句体1 1个分支体后一定要 有一个JMP指令跳到 JMP 第2个分支体后 分支语句体2 HTTP://DLS.ZZU.EDUCN郑州大学远程教育学院
第 4 章 HTTP://DLS.ZZU.EDU.CN 郑州大学远程教育学院 双分支程序设计 ➢条件成立跳转执行 第2个分支语句体, 否则顺序执行第1个 分支语句体。注意第 1个分支体后一定要 有一个JMP指令跳到 第2个分支体后