資源描述:
《算術(shù)移位指令.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、算術(shù)運(yùn)算指令算術(shù)運(yùn)算類指令共有24條,可分為加法、帶進(jìn)位加法、帶借位減法、加1減1,乘除及BCD碼調(diào)整指令共6組。它主要完成加、減、乘、除四則運(yùn)算,以及增量、減量和十進(jìn)制調(diào)整操作。算術(shù)/邏輯運(yùn)算部件(ALU)對(duì)8位無符號(hào)數(shù)可進(jìn)行直接運(yùn)算,借助溢出標(biāo)志,可對(duì)帶符號(hào)數(shù)進(jìn)行2的補(bǔ)碼運(yùn)算;借助進(jìn)位標(biāo)志,可進(jìn)行多字節(jié)加減運(yùn)算,也可以對(duì)壓縮BCD碼進(jìn)行運(yùn)算(壓縮BCD碼是指單字節(jié)中存放兩位BCD碼)。大多數(shù)的算術(shù)運(yùn)算指令都對(duì)PSW的標(biāo)志位有影響。1加法指令加法指令共有如下4條指令,操作數(shù)助記符為ADD。指令格式功能注釋機(jī)器碼AD
2、DA,#data;(A)←(A)+#data24dataADDA,direct;(A)←(A)+(direct)25directADDA,@Ri;(A)←(A)+((Ri))26~27ADDA,Rn;(A)←(A)+(Rn)28~2F上述指令的目的操作數(shù)都是累加器,將立即數(shù)、內(nèi)部RAM單元、工作寄存器和累加器的內(nèi)容進(jìn)行加法運(yùn)算,所得結(jié)果存儲(chǔ)在累加器中。指令執(zhí)行將影響標(biāo)志位AC、CY、OV、P。當(dāng)加法和的第3位或第7位有進(jìn)位時(shí),分別將AC,CY標(biāo)志位置1,否則為0。溢出標(biāo)志位OV=C6C7(C6和C7是指運(yùn)算是第六位和
3、第七位是否進(jìn)位,若有進(jìn)位,則為1),該標(biāo)志位只有帶符號(hào)數(shù)運(yùn)算時(shí)才有用。指令格式功能注釋機(jī)器碼ADDCA,#data;(A)←(A)+(CY)+#data34dataADDCA,direct;(A)←(A)+(CY)+(direct)35directADDCA,@Ri;(A)←(A)+(CY)+((Ri))36~37ADDCA,Rn;(A)←(A)+(CY)+(Rn)38~3F2帶進(jìn)位加法指令帶進(jìn)位加法指令有如下4條指令,其助記符為ADDC。例3.11:設(shè)(A)=19H,(R0)=57H,(CY)=1執(zhí)行指令:ADDA
4、,R0后的標(biāo)志位變化情況。解:結(jié)果為:(A)=70H,OV=0,CY=0,AC=1,P=1。3帶借位減法帶借位減法指令有如下4條指令,其助記符為SUBB。指令格式功能注釋機(jī)器碼SUBBA,#data;(A)←(A)-(CY)-#data94dataSUBBA,direct;(A)←(A)-(CY)-(direct)95directSUBBA,@Ri;(A)←(A)-(CY)-((Ri))96~97SUBBA,Rn;(A)←(A)-(CY)-(Rn)98~9F例3.12:設(shè)(A)=66H,(R0)=92H,CY=0,執(zhí)
5、行指令:SUBBA,R0后結(jié)果和標(biāo)志位變化情況。解:結(jié)果為:(A)=0D4H,CY=1,AC=0,OV=1,P=0乘、除法指令為單字節(jié)4周期指令,在指令執(zhí)行周期中是最長的兩條指令。指令格式功能注釋機(jī)器碼4乘、除法指令MULAB(B)←((A)×(B))15~8,(A)←((A)×(B))7~0(CY)←0A4DIVAB(B)←(A)÷(B)之余數(shù)(A)←(A)÷(B)之商,(CY)←0,(OV)←084例3.13:若(A)=4EH,(B)=5DH執(zhí)行指令:MULAB結(jié)果和標(biāo)志位變化情況。解:結(jié)果為:積為(BA)=1C
6、56H,(A)=56H,(B)=1CH,OV=1,CY=0,P=0。累加器A清零與取反指令有如下2條指令,其助記符分別為CLR和CPL。CLRA;(A)←00H,E4CPLA;(A)←(A),F4【注】:CLR指令的目的操作數(shù)只能是累加器,不能是直接尋址方式(Direct),所以若希望將某個(gè)片內(nèi)RAM單元清零,不能使用CLRDirect,可以使用傳送類指令MOVDirect,#00H來實(shí)現(xiàn)對(duì)片內(nèi)RAM單元清零。累加器A清零與取反指令移位指令有如下循環(huán)左移、帶進(jìn)位位循環(huán)左移、循環(huán)右移和帶進(jìn)位位循環(huán)右移4條指令,移位只能
7、對(duì)累加器A進(jìn)行。循環(huán)左移RLA;(An+1)←(An),(A0)←(A7),23帶進(jìn)位位循環(huán)左移RLCA;(An+1)←(An),(CY)←(A7),(A0)←CY),33循環(huán)右移RRA;(An)←(An+1),(A7)←(A0),03帶進(jìn)位位循環(huán)右移RRCA;(An)←(An+1),(CY)←(A0),(A7)←(CY),13以上移位指令操作,可用下圖表示。移位指令移位指令操作示意圖