交换程序集 x8086 中的位
Swapping bits in assembly x8086
我的程序集有作业 class 我在尝试解决问题时遇到了问题,这里是问题:
" 编写一个程序,在 DS:10H 和 DS:20H 之间交换 D2(第 2 位)。"
我试着用 Shift Right 解决了这个问题,但似乎不太好。
解决此问题的可能方法:
(为了便于阅读,我在示例中使用了 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 OR 00c0 将 c 放入:pqcd
我的程序集有作业 class 我在尝试解决问题时遇到了问题,这里是问题:
" 编写一个程序,在 DS:10H 和 DS:20H 之间交换 D2(第 2 位)。"
我试着用 Shift Right 解决了这个问题,但似乎不太好。
解决此问题的可能方法:
(为了便于阅读,我在示例中使用了 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 OR 00c0 将 c 放入:pqcd