;计算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
例题无符号数除以2 ;将AX中存放的无符号数除以2,如果是奇数,则 加1后除以2 test ax,0h;测试AX最低位 Jz even ;最低位为0:AX为偶数 add ax. 1 ;最低位为1:AX为奇数,需要加1 even. rcr ax, ;AX←AX÷2 如果采用SHR指令,则不能处理AX=FFFH 的特殊情况
例题 无符号数除以2 ;将AX中存放的无符号数除以2,如果是奇数,则 加1后除以2 test ax,01h ;测试AX最低位 jz even ;最低位为0:AX为偶数 add ax,1 ;最低位为1:AX为奇数,需要加1 even: rcr ax,1 ;AX←AX÷2 ;如果采用SHR指令,则不能处理AX=FFFFH 的特殊情况
第4章 双分支程序设计 条件成立跳转执行 第2个分支语句体, Jc条件满足? 否则顺序执行第1个 N 分支语句体。注意第 分支语句体1 1个分支体后一定要 有一个JMP指令跳到 JMP 第2个分支体后 分支语句体2
第 4 章 双分支程序设计 ➢条件成立跳转执行 第2个分支语句体, 否则顺序执行第1个 分支语句体。注意第 1个分支体后一定要 有一个JMP指令跳到 第2个分支体后
例题显示BX最高位-1 sh1bx,1;BX最高位移入CF c one ;CF=1,即最高位为1,转移 moy dl/0 CF=0,即最高位为0,DL←10′ jmp two 定要跳过另一个分支体 one: moy dl,1′;DL←’1′ two:mov ah. 2 int 21h 显示
例题 显示BX最高位-1 shl bx,1 ;BX最高位移入CF jc one ;CF=1,即最高位为1,转移 mov dl,’0’ ;CF=0,即最高位为0,DL←’0’ jmp two ;一定要跳过另一个分支体 one: mov dl,’1’ ;DL←’1’ two: mov ah,2 int 21h ;显示
例题显示BX最高位-2 sh1bx,1;BX最高位移入CF Jnc one;CF=0,即最高位为0,转移 moy dl /1/ CF=1,即最高位为1,DL←1′ jmp two 定要跳过另一个分支体 one: mov dl,r0′:DL←0′ two:mov ah. 2 int 21h 显示
例题 显示BX最高位-2 shl bx,1 ;BX最高位移入CF jnc one ;CF=0,即最高位为0,转移 mov dl,’1’ ;CF=1,即最高位为1,DL←’1’ jmp two ;一定要跳过另一个分支体 one: mov dl,’0’ ;DL←’0’ two: mov ah,2 int 21h ;显示