早教吧作业答案频道 -->其他-->
关于汇编语言xor指令的问题。我是汇编新手刚刚学习汇编,今天刚好学到了汇编的xor指令。这个指令我知道他的作用是把2个操作数做比较这样的比较(1xor1=0,0xor0=0,1xor0=1,0xor1=1。
题目详情
关于汇编语言xor指令的问题。
我是汇编新手刚刚学习汇编,今天刚好学到了汇编的xor指令。
这个指令我知道他的作用是把2个操作数做比较这样的比较( 1 xor 1=0,0 xor 0=0,1 xor 0=1,0 xor 1=1。)。
我有点不明白的是书上说(xor异或操作指令主要用在使一个操作数中的若干位维持不变,而另外若干位取反的场合。把要维持不变的这些位与“0”相“异或”,而把要取反的这些位与“1”相“异或”就能得到相应的结果。)
例如:
已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反,其他位不变。
46H=01000110
10100101 xor
11100011 结果
这个是书上的例题是没错,但我把46H数值修改一下在按它的方法计算就错了。
例如:我把46H改成56H
56H=01010110
10100101 xor
11110011 结果
这样的话第4为也变了。与书上的的用0异或就不变,是相反的。
我像问问这是书上写错了吗?
后来我自己琢磨琢磨后发现在用这个方法时先把要取反的这个数先not一下在用书上说的这个方法,得到的结果在not一下就可以有书上说的那个效果。
就是加2个not。
我是汇编新手刚刚学习汇编,今天刚好学到了汇编的xor指令。
这个指令我知道他的作用是把2个操作数做比较这样的比较( 1 xor 1=0,0 xor 0=0,1 xor 0=1,0 xor 1=1。)。
我有点不明白的是书上说(xor异或操作指令主要用在使一个操作数中的若干位维持不变,而另外若干位取反的场合。把要维持不变的这些位与“0”相“异或”,而把要取反的这些位与“1”相“异或”就能得到相应的结果。)
例如:
已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反,其他位不变。
46H=01000110
10100101 xor
11100011 结果
这个是书上的例题是没错,但我把46H数值修改一下在按它的方法计算就错了。
例如:我把46H改成56H
56H=01010110
10100101 xor
11110011 结果
这样的话第4为也变了。与书上的的用0异或就不变,是相反的。
我像问问这是书上写错了吗?
后来我自己琢磨琢磨后发现在用这个方法时先把要取反的这个数先not一下在用书上说的这个方法,得到的结果在not一下就可以有书上说的那个效果。
就是加2个not。
▼优质解答
答案和解析
“ 56H=01010110
xor 10100101
结果 11110011 这样的话第4位也变了。”
这话不对啊,第4位原来是1,结果也是1,没有变。
xor 10100101
结果 11110011 这样的话第4位也变了。”
这话不对啊,第4位原来是1,结果也是1,没有变。
看了 关于汇编语言xor指令的问题...的网友还看了以下:
1、在以下关于C语言的叙述中,正确的说法是():(2分)A、C语言比汇编语言快B、C语言比FORTR 2020-03-30 …
汇编中 cmp 到底什么意思还没搞明白只知道是比较结果影响标志位,比如说嘛:CMP DX ,DI 2020-05-13 …
在80x86宏汇编语言中,整个源程序必须用伪指令END语句结束,表示汇编程序汇编源程序到此为止,EN 2020-05-23 …
在80×86宏汇编语言中,整个源程序必须用伪指令END语句结束,表示汇编程序汇编源程序到此为止,EN 2020-05-23 …
在计算机的许多应用场合,总是用汇编语言来编制应用程序,这是因为( )。A.汇编语言比高级语言好懂 2020-05-23 …
关于汇编语言,下面描述不正确的是(50)。A.用汇编语言编写的程序称为汇编语言源程序B.将汇编语言源 2020-05-26 …
微机原理,SUBBAX,#0520H,是不是微机原理的编程和汇编有很纠结的区别啊?比如说MOVA, 2020-06-24 …
关于汇编语言xor指令的问题。我是汇编新手刚刚学习汇编,今天刚好学到了汇编的xor指令。这个指令我 2020-07-23 …
关于计算机语言的描述,正确的是().A:翻译高级语言源程序时,解释方式和编译方式并无太大差别B:用高 2020-11-23 …
下面说法正确的一项是?A.高级语言是一种不能独立于机器的程序设计语言.B.汇编语言程序能被计算机直接 2020-12-13 …