在汇编x8086中交换位

时间:2018-01-07 12:46:38

标签: assembly x86-16

我为集会班做了功课,试图解决问题我遇到了问题,这是问题:

"编写一个程序,在DS:10H与DS:20H之间交换D2(第2位)。 "

我试图用Shift Right解决它,但它看起来并不好。

1 个答案:

答案 0 :(得分:1)

解决此问题的可能方法:

(为了便于阅读,我在示例中使用了4位。所以字母a,b ..是位,每个都有0或1的值。)

abcd AND 0010给出位c:00c0

pqrs AND 0010给出r:00r0

然后:

abcd AND 1101清除c:ab0d

ab0d OR 00r0将r放入:abrd

类似地:

pqrs AND 1101清除r:pq0s

pq0s或00c0将c放入:pqcd