[其它应用] 用SH69P862汇编位取反怎么实现呢

[复制链接]
1373|12
 楼主| zhuhuis 发表于 2022-10-13 21:10 | 显示全部楼层 |阅读模式
用SH69P862汇编位取反怎么实现呢
tian111 发表于 2022-10-13 21:12 | 显示全部楼层
异或吗??  
 楼主| zhuhuis 发表于 2022-10-13 21:16 | 显示全部楼层
这样会影响其他的其他位吧????
lizye 发表于 2022-10-13 21:18 | 显示全部楼层
啥意思啊
 楼主| zhuhuis 发表于 2022-10-13 21:21 | 显示全部楼层
假如我取反PA.0
stly 发表于 2022-10-13 21:24 | 显示全部楼层
很简单啊,eorim rzPA,  0001b
 楼主| zhuhuis 发表于 2022-10-13 21:30 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
tpgf 发表于 2022-11-3 13:42 | 显示全部楼层
//___逻辑取反 !______________________________________________________
非零值取反得到0,      0取反得到1

int i, j;
i  = 0x8877;
j = !i;
qcliu 发表于 2022-11-3 14:08 | 显示全部楼层
MOV DWORD PTR SS:[EBP-4], 0X4321
XOR EAX, EAX
CMP DWORD PTR SS:[EBP-4], 0
SETE AL                                                     //取标志寄存器中ZF的值, 放到AL中. SETNE取得ZF值后, 取反, 再放到AL中.
MOV DWORD PTR SS:[EBP-8], EAX
XOR EAX, EAX
drer 发表于 2022-11-3 14:59 | 显示全部楼层
汇编指令NOT, 将操作数的二进制位取反, 注意操作数的长度.
coshi 发表于 2022-11-3 15:53 | 显示全部楼层
 (NOT)按位取反指令
 逻辑取反(!)
 按位取反(~)
 SETZ(SETE)  取ZF位值保存
 SETNZ(SETNE)将ZF位值取反后保存
kxsi 发表于 2022-11-3 17:08 | 显示全部楼层
用逻辑非运算指令(not指令,指令格式:NOT OPRD),可以对目标操作数的二进制全部位取反,比如取反ax,则not ax即可.
wiba 发表于 2022-11-3 17:12 | 显示全部楼层
CPL P0.0  是位取反
而CPL A  是把A中的8位都取反
您需要登录后才可以回帖 登录 | 注册

本版积分规则

728

主题

8464

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部
0