雙操作數(shù)邏輯運(yùn)算指令
發(fā)布時(shí)間:2014/6/5 21:01:02 訪(fǎng)問(wèn)次數(shù):2252
上面的指令都是針對(duì)累加器A的邏輯運(yùn)算指令,也就是說(shuō)對(duì)一個(gè)寄存器的邏輯運(yùn)算,ACT4070那么如果兩個(gè)寄存器之間的邏輯運(yùn)算又是怎么樣的呢?
雙操作數(shù)邏輯運(yùn)算指令有以下3種。
1.邏輯與運(yùn)算
A與Rn中的值按位“與”,結(jié)果送入A中
A與direct中的值按位“與”,結(jié)果送入A中
A與間址尋址單元@Ri中的值按位“與”,結(jié)果送入A中
A與立即數(shù)data按位“與”,結(jié)果送入A中
direct中的值與A中的值按位“與”,結(jié)果送入direct中
direct中的值與立即數(shù)data按位“與”,結(jié)果送入direct中
后兩條指令,若直接地址direct為I/O端口PO~P3,則為端口的“讀改寫(xiě)”操作。
指令說(shuō)明:什么是邏輯“與”?數(shù)字電路中已經(jīng)學(xué)過(guò):就是F=A/\B,簡(jiǎn)記為“全1出l,有O出O”。
例如,71H和56H相“與”,將兩數(shù)寫(xiě)成二進(jìn)制形式:
逐位相“與”結(jié)果就是O0100000B,即20H。
從上面的例子可以看出,兩個(gè)參與運(yùn)算的值只要其中有一個(gè)位上是“0”,則這位的結(jié)果就是“0”,兩個(gè)同是“1”,結(jié)果才是“1”,是不是符合邏輯“與”的結(jié)果?
知道了邏輯“與”指令的功能后,邏輯“或”和邏輯“異或”的功能就很簡(jiǎn)單了。邏輯“或”是逐位相“或”,即有1出1,全0出0。例如,71H和56H相“或”結(jié)果就是77H;而“異或”則是逐位“異或”,即相同出0,相異出l。仍舊71H和56H相“異或”,結(jié)果是57H。
上面的指令都是針對(duì)累加器A的邏輯運(yùn)算指令,也就是說(shuō)對(duì)一個(gè)寄存器的邏輯運(yùn)算,ACT4070那么如果兩個(gè)寄存器之間的邏輯運(yùn)算又是怎么樣的呢?
雙操作數(shù)邏輯運(yùn)算指令有以下3種。
1.邏輯與運(yùn)算
A與Rn中的值按位“與”,結(jié)果送入A中
A與direct中的值按位“與”,結(jié)果送入A中
A與間址尋址單元@Ri中的值按位“與”,結(jié)果送入A中
A與立即數(shù)data按位“與”,結(jié)果送入A中
direct中的值與A中的值按位“與”,結(jié)果送入direct中
direct中的值與立即數(shù)data按位“與”,結(jié)果送入direct中
后兩條指令,若直接地址direct為I/O端口PO~P3,則為端口的“讀改寫(xiě)”操作。
指令說(shuō)明:什么是邏輯“與”?數(shù)字電路中已經(jīng)學(xué)過(guò):就是F=A/\B,簡(jiǎn)記為“全1出l,有O出O”。
例如,71H和56H相“與”,將兩數(shù)寫(xiě)成二進(jìn)制形式:
逐位相“與”結(jié)果就是O0100000B,即20H。
從上面的例子可以看出,兩個(gè)參與運(yùn)算的值只要其中有一個(gè)位上是“0”,則這位的結(jié)果就是“0”,兩個(gè)同是“1”,結(jié)果才是“1”,是不是符合邏輯“與”的結(jié)果?
知道了邏輯“與”指令的功能后,邏輯“或”和邏輯“異或”的功能就很簡(jiǎn)單了。邏輯“或”是逐位相“或”,即有1出1,全0出0。例如,71H和56H相“或”結(jié)果就是77H;而“異或”則是逐位“異或”,即相同出0,相異出l。仍舊71H和56H相“異或”,結(jié)果是57H。
上一篇:邏輯或運(yùn)算