邏輯操作指令組(Logical Group)由邏輯與、邏輯或、如圖所示。
圖 邏輯操作指令組結(jié)構(gòu)
(1) 賦值(LOAD)指令
LOAD指令用來為寄存器賦值,賦值可以是常數(shù),也可以是另一個寄存器的內(nèi)容。該指令不會影響標(biāo)志位的狀態(tài)。
由于LOAD指令不影響標(biāo)志位的特性,所以在程序執(zhí)行過程中,可以用來重新為寄存器賦值,而不影響程序的其他性能。此外,還可用于寄存器的清零及插入延遲等功能。例如LOAD s0,s0由于沒有改變s0寄存器的內(nèi)容,所以相當(dāng)于執(zhí)行了一次空操作,程序延遲了兩個時(shí)鐘周期。
(2) 邏輯與(AND)指令
邏輯與指令完成兩個操作數(shù)之間的按位“與”操作,第1個操作數(shù)只能是寄存器,并且執(zhí)行的結(jié)果也放入該寄存器;第2個操作數(shù)可以是任何一個寄存器,也可以是一個8位的常數(shù)。邏輯與操作將會影響標(biāo)志位。
(3) 邏輯或(OR)指令
邏輯或指令完成兩個操作數(shù)之間的按位“或”操作,第1個操作數(shù)只能是寄存器,并且執(zhí)行的結(jié)果也放入該寄存器;第2個操作數(shù)可以是任何一個寄存器,也可以是一個8位的常數(shù)。邏輯或操作將會影響標(biāo)志位。
當(dāng)用于某些控制場合時(shí),邏輯或操作有些特殊的應(yīng)用,如ORsX,00指令并不影響寄存器sX的內(nèi)容,但進(jìn)位位將清零。該指令也可用來檢測寄存器sX的內(nèi)容是否為零。
(4) 邏輯異或(XOR)指令
邏輯異或指令完成兩個操作數(shù)之間的按位“異或”操作,第1個操作數(shù)只能是寄存器,并且執(zhí)行的結(jié)果也放入該寄存器;第2個操作數(shù)可以是任何一個寄存器,也可以是一個8位的常數(shù)。邏輯異或操作將會影響零標(biāo)志位,而進(jìn)位位將會清零。
來源:ks991次