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