汇编语言求助:怎样把一个字节中的两位对调?

2020-01-25 15:32发布

如题:假设要把A(0101 0000)的第5位和第6位对调,变成0011 0000,通过什么指令可以实现?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
tonyone
1楼-- · 2020-01-26 14:21
GZLJZ 发表于 2013-12-1 13:39
是可以,C是位标志,但还有用相同语句,复制位6到位5

我是在想mov c,p.5后,p.5应该还是原来的值吧
tonyone
2楼-- · 2020-01-26 15:16
1a2b3c 发表于 2013-12-1 15:30
mov c,acc.5 mov bit_add,c mov c,acc.6 mov acc.5,c mov c,bit_add  mov acc.6,c

这个比较好理解
lxa0
3楼-- · 2020-01-26 20:55
直接用位操作指令也可~~~~~~~~~~
tonyone
4楼-- · 2020-01-27 00:21
 精彩回答 2  元偷偷看……
奮闘ing
5楼-- · 2020-01-27 04:14
只能进行位操作,有两种方案:直接将其读到ACC中再进行‘位’操作,或者进行带‘进位位’右移,将第5位和第6位分别移到CY,然后互换。。。
ycheng2004
6楼-- · 2020-01-27 07:20
                   MOV   C,ACC.5
                   MOV   F0,C
                   MOV   C,ACC.6
                   MOV   ACC.5,C
                   MOV   C,F0
                   MOV   ACC.6,C
试试以上这个,在KEIL中调试过,

一周热门 更多>