永发信息网

求教 1.将BX的高5位清零,其他位不变 2.将BL清零(bl=0)的3个指令 3.将AL的高3位和低3位互换

答案:1  悬赏:50  手机版
解决时间 2021-11-12 13:57
  • 提问者网友:两耳就是菩提
  • 2021-11-11 15:52
求教 1.将BX的高5位清零,其他位不变 2.将BL清零(bl=0)的3个指令 3.将AL的高3位和低3位互换
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-11-11 16:56
bx共16位,要将高5清零,只需要bx and 0000011111111111B即可,或者将bh and 00000111B
代码:
and bx, 07FFh
或者:
and bh, 07h
;************************************
清零一般采用两种方式:
相减:sub bl,bl
异或:xor bl,bl
异或的效率稍高一些
;************************************
al高三位与低三们互换,可以这样考虑
将al and 11100000B
将结果右移5位
将al and 00000111B
将结果左移5位
将al and 00011000B
将三个数相加
得出结果即是高低三位互换
代码:
mov al, number
mov cl,5
mov bh, al
and bh, e0h
shr bh,cl
mov bl,al
and bl,07h
shl bl,cl
mov ch, al
and ch, 18h
add bh,bl
add bh,ch
mov al,bh ;结果保存到al中来自:求助得到的回答
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯