当前位置:编程学习 > 汇编语言 >>

汇编语言中 怎样用“异或”运算使一带符号数的符号位改变,数据位不变

答案:假设是51单片机,带符号数,已经存放在片内RAM 40H单元。 那么:XRL 40H, #10000000B,即可。 假设是80x86CPU,8位带符号数,已经存放在寄存器AL中。 那么:XOR AL, 10000000B,即可。 假设是80x86CPU,16位带符号数,已经存放在寄存器BX中。 那么:XOR BX, 8000H,即可。 其它……。
其他:只要用这个带符号数异或一个最高位为1,其余各位为0的数就可以了 最高位表示符号,剩下的就是数据位用这个带符号数异或一个最高位为1,其余各位为0的数就可以 异或是:   ^
在数字键6上面。
不用调头文件的。
 异或是:   ^
在数字键6上面。
不用调头文件的。
 MOV A,0X80
XOR A,DATA
就是数据位的第一位取反吧 

上一个:dd = 1 这句汇编语言为啥在debug中不能用啊
下一个:Linux汇编 系统调用setreuid

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,