逻辑操作指令组
扫描二维码
随时随地手机看文章
逻辑操作指令组(Logical Group)由逻辑与、逻辑或、如图所示。
图 逻辑操作指令组结构
(1) 赋值(LOAD)指令
LOAD指令用来为寄存器赋值,赋值可以是常数,也可以是另一个寄存器的内容。该指令不会影响标志位的状态。
由于LOAD指令不影响标志位的特性,所以在程序执行过程中,可以用来重新为寄存器赋值,而不影响程序的其他性能。此外,还可用于寄存器的清零及插入延迟等功能。例如LOAD s0,s0由于没有改变s0寄存器的内容,所以相当于执行了一次空操作,程序延迟了两个时钟周期。
(2) 逻辑与(AND)指令
逻辑与指令完成两个操作数之间的按位“与”操作,第1个操作数只能是寄存器,并且执行的结果也放入该寄存器;第2个操作数可以是任何一个寄存器,也可以是一个8位的常数。逻辑与操作将会影响标志位。
(3) 逻辑或(OR)指令
逻辑或指令完成两个操作数之间的按位“或”操作,第1个操作数只能是寄存器,并且执行的结果也放入该寄存器;第2个操作数可以是任何一个寄存器,也可以是一个8位的常数。逻辑或操作将会影响标志位。
当用于某些控制场合时,逻辑或操作有些特殊的应用,如ORsX,00指令并不影响寄存器sX的内容,但进位位将清零。该指令也可用来检测寄存器sX的内容是否为零。
(4) 逻辑异或(XOR)指令
逻辑异或指令完成两个操作数之间的按位“异或”操作,第1个操作数只能是寄存器,并且执行的结果也放入该寄存器;第2个操作数可以是任何一个寄存器,也可以是一个8位的常数。逻辑异或操作将会影响零标志位,而进位位将会清零。
来源:ks991次