MCS-51單片機(jī)的指令系統(tǒng)P74_第1頁(yè)
MCS-51單片機(jī)的指令系統(tǒng)P74_第2頁(yè)
MCS-51單片機(jī)的指令系統(tǒng)P74_第3頁(yè)
MCS-51單片機(jī)的指令系統(tǒng)P74_第4頁(yè)
MCS-51單片機(jī)的指令系統(tǒng)P74_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章 MCS-51單片機(jī)的指令系統(tǒng),本章介紹MCS-51單片機(jī)的指令格式、尋址方式(包括立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址寄存器間接尋址、相對(duì)尋址、隱含尋址等七種方式)、指令系統(tǒng)(包括數(shù)據(jù)傳送類(lèi)、算術(shù)運(yùn)算類(lèi)、邏輯運(yùn)算類(lèi)、位操作類(lèi)、控制轉(zhuǎn)移類(lèi)等五大類(lèi)指令)。通過(guò)本章的學(xué)習(xí),要求學(xué)生能夠熟練掌握MCS-51單片機(jī)的指令功能和應(yīng)用。,指令格式,指令的表示方法稱(chēng)之為指令格式,其內(nèi)容包括指令的長(zhǎng)度和指令內(nèi)部信息的安排等。 一條指令通常由操作碼和操作數(shù)兩部分組成。 操作碼規(guī)定指令所完成的操作,操作數(shù)表示操作的對(duì)象。操作數(shù)可能是一個(gè)具體的數(shù)據(jù),也可能是指出取得數(shù)據(jù)的地址或符號(hào)。,單

2、片微機(jī)執(zhí)行指令的過(guò)程,單片微機(jī)執(zhí)行指令的過(guò)程,分為取指令和執(zhí)行指令兩項(xiàng)基本內(nèi)容。 在取指階段,單片微機(jī)從程序存儲(chǔ)器中取出指令操作碼,送到指令寄存器IR中,通過(guò)指令譯碼器的譯碼,產(chǎn)生一系列的控制信號(hào)。 在指令執(zhí)行階段中,利用指令譯碼產(chǎn)生的控制信號(hào),進(jìn)行本指令規(guī)定的操作,51指令系統(tǒng)專(zhuān)用于51系列單片機(jī),是一個(gè)具有255種操作碼 (00H至FFH,除A5H外) 的集合。 用匯編語(yǔ)言表達(dá)操作代碼時(shí),42種助記符代表了33種功能,有的功能如數(shù)據(jù)傳送,可以有幾種助記符,如MOV、MOVC、MOVX。 指令功能助記符與操作數(shù)各種尋址方式的結(jié)合,共構(gòu)造出111種指令,同一種指令所對(duì)應(yīng)的操作碼可以多至8種 (

3、如指令中Rn對(duì)應(yīng)寄存器R0R7) 。,3.1,尋址:在指令中給出的尋找操作數(shù)或操作數(shù)所在地址的方法。 執(zhí)行任何一條指令都需要使用操作數(shù)。 89S5l指令系統(tǒng)中共有7種尋址方式。, 立即尋址 在指令中直接給出操作數(shù),出現(xiàn)在指令中的操作數(shù)稱(chēng)為立即數(shù)。 在立即數(shù)前面必需加上前綴“”。 例如:指令 MOV DPTR,1234H 指令功能:把16位立即數(shù)1234H送入數(shù)據(jù)指針DPTR中。,2直接尋址 在指令中直接給出操作數(shù)單元的地址。 例如:指令 MOV A,3AH 功能:把片內(nèi)RAM中3AH單元內(nèi)的數(shù)據(jù)傳送給累加器A,如圖所示。 直接尋址方式只能給出8位地址,限于片內(nèi)RAM: 低128單元,在指令中直

4、接以單元地址形式給出。 特殊功能寄存器,可以單元地址形式給出外,還可以寄存器符號(hào)形式給出。直接尋址是訪問(wèn)特殊功能寄存器的唯一方法。,3寄存器尋址 在指令中將指定寄存器的內(nèi)容作為操作數(shù)。 寄存器尋址方式中,用符號(hào)名稱(chēng)來(lái)表示寄存器。 例如:指令I(lǐng)NC R0 功能:把寄存器R0的內(nèi)容加1,再送回R0中。由于操作數(shù)在R0中,指定了R0,也就得到了操作數(shù),如圖所示。,寄存器尋址方式的尋址范圍包括: (1)4個(gè)寄存器組共32個(gè)通用寄存器。 指令中只能使用當(dāng)前寄存器組。通過(guò)指定PSW中的RS1、RS0,以選擇使用的當(dāng)前寄存器組。 (2)部分特殊功能寄存器。 例如累加器A、AB寄存器對(duì)以及數(shù)據(jù)指針DPTR。,

5、4寄存器間接尋址 在指令中給出的寄存器內(nèi)容是操作數(shù)的地址,從該地址中取出的才是操作數(shù)。 寄存器間接尋址也需以寄存器符號(hào)名稱(chēng)的形式表示。 在寄存器間接尋址中,在寄存器的名稱(chēng)前面加前綴“”。 例如:指令A(yù)NL A,R1 假定R1寄存器的內(nèi)容是 60H,指令的功能是以 R1寄存器的內(nèi)容 60H為地址,將60H地址單元的內(nèi)容與累加器A中的數(shù)相“與” ,其結(jié)果仍存放在A中、其功能示意請(qǐng)參見(jiàn)圖。,寄存器間接尋址的尋址范圍: 片內(nèi)RAM的低128單元,只能采用R0或R1為間址寄存器。其形式為Ri(i0,1)。 片外RAM 的64 KB單元,使用DPTR作為間址寄存器。例如:MOVX A,DPTR。 片外RA

6、M低256單元,使用R0或R1作間址寄存器。 例如:MOVX A,R0。 堆棧區(qū):堆棧操作指令PUSH和POP,以SP作間址寄存器的間接尋址方式。, 相對(duì)尋址 在指令中給出的操作數(shù)為程序轉(zhuǎn)移的偏移量。 在相對(duì)轉(zhuǎn)移指令中,給出地址偏移量(以“rel”表示),把PC的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。 轉(zhuǎn)移的目的地址可用如下公式表示: 目的地址(轉(zhuǎn)移指令所在地址轉(zhuǎn)移指令字節(jié)數(shù))rel 在51的指令系統(tǒng)中,有許多條相對(duì)轉(zhuǎn)移指令,這些指令多數(shù)均為兩字節(jié)指令只有個(gè)別的是三字節(jié)的指令。 偏移量rel是一個(gè)帶符號(hào)的8位二進(jìn)制補(bǔ)碼數(shù),所能表示的數(shù)的范圍是一128127。因此,以相對(duì)轉(zhuǎn)移指令的所在地址

7、為基點(diǎn),向前最大可轉(zhuǎn)移(127十轉(zhuǎn)移指令字節(jié)數(shù))個(gè)單元地址,向后最大可轉(zhuǎn)移(128一轉(zhuǎn)移指令字節(jié)數(shù))個(gè)單元地址。,例如:指令JC 80H 若進(jìn)位位C為0,則程序計(jì)數(shù)器PC中的內(nèi)容加2,即順序往下; 若進(jìn)位位C為1,則以程序計(jì)數(shù)器PC中當(dāng)前值為基地址,加上偏移量80H后所得結(jié)果作為該轉(zhuǎn)移指令的目的地址,其執(zhí)行示意圖如圖所示。 指令的操作碼存在 1000H單元,偏移量存在 1001H單元。執(zhí)行該指令后,程序計(jì)數(shù)器PC 指向1002 H(即當(dāng)前值)。這里80H即128,故1002H與128 ( 80H )相加(補(bǔ)碼運(yùn)算)后得到轉(zhuǎn)移地址 0F82H。,6變址尋址 以DPTR或PC為基址寄存器,累加器A

8、為變址寄存器,以兩者內(nèi)容相加后形成的16位程序存儲(chǔ)器地址作為操作數(shù)地址。 又稱(chēng)基址寄存器變址寄存器間接尋址。 例如: MOVC A,ADPTR 功能:把DPTR和A的內(nèi)容相加所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A。,假定指令執(zhí)行前: (A)54H,(DPTR)1256H 該指令的操作示意參見(jiàn)圖。 變址尋址形成的操作數(shù)地址為1256H54H12AAH,若12AAH單元的內(nèi)容為00H,則該指令執(zhí)行的結(jié)果是A的內(nèi)容為00H 。,89S51指令系統(tǒng)中的變址尋址指令有如下特點(diǎn): 變址尋址方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址 。 變址尋址指令只有3條 MOVC A,ADPTR MOVC A,APC JMP ADPT

9、R 這3條指令都是單字節(jié)指令。 變址尋址方式用于查表操作。,7位尋址 位尋址的尋址范圍: (1)片內(nèi)RAM中的位尋址區(qū)。 片內(nèi)RAM中的單元地址20H2FH,共16個(gè)單元128位,為位尋址區(qū),位地址是00H7FH。 例如 MOV C,2BH指令的功能是把位尋址區(qū)的2BH位狀態(tài)送累加位C。 (2) 可位尋址的特殊功能寄存器位。 可供位尋址的特殊功能寄存器共有11個(gè),有尋址位83位,尋址位在指令中有以下4種表示方法: 直接使用位地址表示。 單元地址加位。例如 88H單元的位5,則表示為88H.5。 特殊功能寄存器符號(hào)加位、例如 PSW寄存器的位5,可表示為:為 PSW .5。 位名稱(chēng)表示方法,特殊

10、功能寄存器中的一些尋址位是有名稱(chēng)的,例如 PSW寄存器位5為F0標(biāo)志位,則可使用F0表示該位。,對(duì)于指令中的操作數(shù),因?yàn)橹噶畈僮鞒0橛袕挠蚁蜃髠魉蛿?shù)據(jù)的內(nèi)容,所以常把左邊操作數(shù)稱(chēng)為目的操作數(shù),而右邊操作數(shù)稱(chēng)為源操作數(shù)。 89S51指令系統(tǒng)的7種尋址方式概括起來(lái)如表31所列。,7. 隱含尋址 操作數(shù)的地址隱含在操作碼中,不需要指明,這種方式稱(chēng)為隱含尋址。 不是明顯的給出操作數(shù)地址,而是在指令中隱含著操作數(shù)的地址, 即要尋找的地址包含在操作碼中。例如在單地址指令格式中,就是不明顯的給出第二操作數(shù)的地址,而是以隱含的方式規(guī)定累加器作為第二操作數(shù)的地址。, 單字節(jié)指令 指令只有一個(gè)字節(jié),操作碼和操作數(shù)

11、同在一個(gè)字節(jié)中。 如 MOV A,Rn 指令機(jī)器碼為單字節(jié)11001rrr,其中rrr可表示為000111,分別代表R0R7, 雙字節(jié)指令:其中一個(gè)字節(jié)為操作碼,另一個(gè)字節(jié)是操作數(shù)。 如MOV A,#data 8位立即數(shù)data需占一個(gè)字節(jié),操作碼也需一個(gè)字節(jié)。 三字節(jié)指令:操作碼占一個(gè)字節(jié),操作數(shù)占兩個(gè)字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。,如ANL direct ,#data 指令需3個(gè)字節(jié),第1字節(jié)為操作碼,第2字節(jié)為8位直接地址direct,第3字節(jié)為8位立即數(shù)data。 從指令執(zhí)行時(shí)間來(lái)看,單機(jī)器周期指令有64種,雙機(jī)器周期指令有45種,只有乘法、除法指令的執(zhí)行時(shí)間為4個(gè)機(jī)器周

12、期。在12MHz晶振條件下,89S51的指令執(zhí)行時(shí)間分別為1S、2S、4S。,指令分類(lèi) 89S51的指令系統(tǒng),共有111條指令,按其功能可分為5大類(lèi): 數(shù)據(jù)傳送類(lèi)指令(28條); 算術(shù)運(yùn)算類(lèi)指令(24條); 邏輯運(yùn)算類(lèi)指令(25條); 控制轉(zhuǎn)移類(lèi)指令(17 條); 布爾操作(位)類(lèi)指令(17條)。,指令系統(tǒng)中使用符號(hào)說(shuō)明,Rn n07,表示當(dāng)前寄存器組的8個(gè)通用寄存器R0R7 中的一個(gè)。 Ri i0,l,可用作間接尋址的寄存器,只能是R0、R1 兩個(gè)寄存器中的一個(gè)。 direct 內(nèi)部的8位地址,既可以指片內(nèi)RAM的低128個(gè)單元地址,也可以指特殊功能寄存器的地址或符號(hào)名稱(chēng),因此,direct

13、表示直接尋址方式。 #data指令中所含的8位立即數(shù)。 #data16 指令中所含的16位立即數(shù)。,addr16 16位目的地址,只限于在LCALL和LJMP指令中 使用。 addr11 11位目的地址,只限于在ACALL和AJMP指令中使用。 rel 相對(duì)轉(zhuǎn)移指令中的偏移量,為8位帶符號(hào)數(shù)。為SJMP和所有條件轉(zhuǎn)移指令所用。轉(zhuǎn)移范圍為相對(duì)于下一條指令笫一字節(jié)地址的-128127。 DPTR數(shù)據(jù)指針。 bit 片內(nèi) RAM (包括部分特殊功能寄存器)中的直接尋址位。,A累加器。 BB寄存器。 C 進(jìn)位標(biāo)志位,是布爾處理機(jī)中的累加器,稱(chēng)之為累加位。 間址寄存器的前綴標(biāo)志。 / 位地址的前綴標(biāo)志,

14、表示對(duì)該位操作數(shù)取反。 ( ) 某寄存器或某單元的內(nèi)容。 ()由尋址的單元中的內(nèi)容。 箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。,(1)標(biāo)號(hào):用戶定義的符號(hào)地址。 (2)操作碼:該字段必不可少,表示指令進(jìn)行何種操作,即操作性質(zhì)。 (3)操作數(shù):該字段可能有,可能沒(méi)有。 (4)注釋?zhuān)涸撟侄尾皇菂R編語(yǔ)言的功能部分,只增加程序的可讀性。注釋前要加“;”,1、內(nèi)部數(shù)據(jù)傳送指令,(1)以累加器A為目的地址的指令 指令 操作 MOV A, Rn (A)(Rn) MOV A, direct (A)(direct) MOV A, Ri (A)(Ri) MOV A, #data (A)data 這組指令的功能是將源

15、操作數(shù)送入累加器A中。源操作數(shù)的尋址方式分別為寄存器尋址、直接尋址、寄存器間接尋址和立即尋址方式,(2)以Rn為目的地址的指令 指令 操作 MOV Rn, A (Rn)(A) MOV Rn, direct (Rn)(direct) MOV Rn, #data (Rn)data 這組指令的功能是將源操作數(shù)送入當(dāng)前工作寄存器區(qū)R0R7中的某一寄存器中。源操作數(shù)的尋址方式分別為隱含尋址、直接尋址和立即尋址方式。,(3)以直接地址為目的地址的指令 指令 操作 MOV direct,A (direct)(A) MOV direct,Rn (direct)(Rn) MOV direct,Ri (direc

16、t)(Ri) MOV direct1,direct2 (direct1)(direct2) MOV direct,#data (direct) data 這組指令的功能是將源操作數(shù)送入由直接地址指出的存儲(chǔ)單元中。源操作數(shù)的尋址方式分別為隱含尋址、寄存器尋址、寄存器間接尋址、直接尋址和立即尋址方式。,(4)以寄存器間接地址為目的地址的指令 MOV Ri,A (Ri)(A) MOV Ri,direct (Ri)(direct) MOV Ri,# data (Ri) data 這組指令的功能是將源操作數(shù)送入R0或R1間址的片內(nèi)RAM存儲(chǔ)單元中。源操作數(shù)的尋址方式分別為隱含尋址、直接尋址和立即尋址方式

17、。,注意: 目操可以是A、direct、Rn、Ri中的任一個(gè),源操可以是A、direct、Rn、Ri、#data中的任一個(gè)。 #data不能作目操。 目操和源操不能同時(shí)出現(xiàn)Rn、Ri。 目操和源操不能同時(shí)為A。 目操和源操可以同時(shí)為direct類(lèi)型。 目操和源操數(shù)據(jù)長(zhǎng)度應(yīng)保持一致。,2. 外部數(shù)據(jù)傳送指令,(1) 16位數(shù)據(jù)傳送指令 指令 操作 MOV DPTR, #data16 (DPTR) data16 (2)外部RAM數(shù)據(jù)傳送指令MOVX 功能:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器(或擴(kuò)展I/O口)與累加器A之間的數(shù)據(jù)傳送。,指令 操作 MOVX A,DPTR (A)(DPTR) MOVX A,Ri (A

18、)(Ri) MOVX DPTR,A (DPTR)(A) MOVX Ri,A (Ri)(A) (3)外部ROM數(shù)據(jù)傳送指令MOVC MOVC A, APC ;(A)(A)(PC) MOVC A, ADPTR;(A)(A)(DPTR),3. 數(shù)據(jù)交換指令 (1)字節(jié)交換指令XCH 指令 操作 XCH A, Rn (A) (Rn) XCH A, direct (A) (direct) XCH A, Ri (A) (Ri) (2)半字節(jié)交換指令XCHD 指令 操作 XCHD A,Ri(A) 低4位(Ri)低4位,壓棧過(guò)程,出棧過(guò)程,(1)壓棧指令PUSH 指令 操作 PUSH direct (SP)(

19、SP)1 (SP)(direct) (2)出棧指令POP 指令 操作 POP direct (direct)(SP) (SP)(SP)1,4. 堆棧操作指令,3.4,MCS-51單片機(jī)算術(shù)運(yùn)算指令包括: 加法指令 帶進(jìn)位加法指令 帶進(jìn)位減法指令 加1指令 減1指令 十進(jìn)制調(diào)整指令 乘法和除法指令,共24條,1、加法指令 (1)不帶進(jìn)位的加法指令A(yù)DD 指令 操作 ADD A, Rn (A)(A)+(Rn) ADD A, direct (A)(A)+(direct) ADD A, Ri (A)(A)+(Ri) ADD A, #data (A)(A)+ data 這組加法指令的功能是將源操作數(shù)和累

20、加器A的內(nèi) 容相加,結(jié)果存放在A中。源操作數(shù)分別為寄存器 尋址、直接尋址、寄存器間接尋址和立即尋址方式。,(2)帶進(jìn)位加法指令A(yù)DDC 指令 操作 ADDC A, Rn (A)(A)+(Rn)+CY ADDC A, direct (A)(A)+(direct)+CY ADDC A, Ri (A)(A)+(Ri)+CY ADDC A, #data (A)(A)+ data +CY 這組指令的功能是將源操作數(shù)、進(jìn)位標(biāo)志 CY和累加器A的內(nèi)容相加,結(jié)果存放在A中。 ADDC指令對(duì)標(biāo)志位的影響與ADD指令相同,這條指令多用于多字節(jié)加法運(yùn)算,使得在進(jìn)行高字節(jié)加法時(shí),考慮到低位字節(jié)向高位字節(jié)的進(jìn)位情況。,

21、(3)加1指令I(lǐng)NC 指令 操作 INC A (A)(A)+1 INC Rn (Rn)(Rn)+1 INC direct (direct)(direct)+1 INC Ri (Ri)(Ri)+1 INC DPTR (DPTR)(DPTR)+1 這組指令的功能是將源操作數(shù)加1,結(jié)果仍送給源操作數(shù)(因此源操也是目操)。若原來(lái)為0FFH,則將溢出為00H。本組指令除指令I(lǐng)NC A影響P標(biāo)志外,其余不影響任何標(biāo)志,操作數(shù)可采用寄存器尋址、直接尋址或寄存器間接尋址方式。,(4)BCD碼加法調(diào)整指令DA 指令 操作 DA A 對(duì)(A)進(jìn)行二十進(jìn)制調(diào)整 BCD碼是指用4位二進(jìn)制編碼形式表示1位十進(jìn)制數(shù)09。

22、如果一個(gè)字節(jié)存放兩位BCD碼數(shù),則稱(chēng)為壓縮BCD碼數(shù)。調(diào)整原則為: 如果相加結(jié)果的低4位大于9(即出現(xiàn)字母),或AC=1,則進(jìn)行加06H調(diào)整; 如果相加結(jié)果的高4位大于9(即出現(xiàn)字母),或CY=1,則進(jìn)行加60H調(diào)整。 調(diào)整結(jié)果仍存放在A中。,2. 減法指令 (1)帶進(jìn)位減法指令SUBB 指令 操作 SUBB A,Rn (A)(A)(Rn)CY SUBB A,direct (A)(A)(direct)CY SUBB A, Ri (A)(A)(Ri)CY SUBB A, #data (A)(A)dataCY 這組指令的功能是將累加器A減去源操作數(shù)及進(jìn)位標(biāo)志CY,結(jié)果存放在A中。若需進(jìn)行不帶借位的

23、減法運(yùn)算,則應(yīng)該先將CY清0,然后再執(zhí)行SUBB指令。,(2)減1指令DEC 指令 操作 DEC A (A)(A)1 DEC Rn (Rn)(Rn)1 DEC direct (direct)(direct)1 DEC Ri (Ri)(Ri)1 這組指令的功能是將源操作數(shù)減1,結(jié)果仍送給源操作數(shù)(因此源操也是目操)。若原來(lái)為00H,減1后下溢為0FFH。本組指令除指令DEC A影響P標(biāo)志外,其余均不影響任何標(biāo)志。,3. 乘法指令 MUL,指令 MUL AB 這條指令是把累加器A和寄存器B中的8位無(wú)符號(hào)二進(jìn)制數(shù)相乘,16位乘積的低8位留在累加器A中,高8位存放在寄存器B中。 如果乘積大于0FFH,

24、則OV=1,否則OV=0。CY標(biāo)志總是被清0。 設(shè)(A)50H,(B)0A0H,執(zhí)行指令:MUL AB 結(jié)果:(B)32H,(A)00H(即積為3200H),OV1,CY=0。,4. 除法指令DIV 指令 DIV AB 這條指令的功能是把累加器A中的8位無(wú)符號(hào)二進(jìn)制數(shù)除以寄存器B中的8位無(wú)符號(hào)二進(jìn)制數(shù),所得商的整數(shù)部分存放在累加器A中,余數(shù)部分存放在寄存器B中。 如果原來(lái)B的內(nèi)容為0,即除數(shù)為0,則結(jié)果A和B的內(nèi)容不定,且溢出標(biāo)志位OV=1。CY標(biāo)志總是被清0。 設(shè)(A)=0FBH,(B)=12H,執(zhí)行指令:DIV AB 結(jié)果為:(A)0DH,(B)11H,CY0,OV0。,MCS-51單片機(jī)

25、的邏輯運(yùn)算指令包括: 累加器A的邏輯操作指令 兩個(gè)操作數(shù)的邏輯與指令 邏輯或指令及邏輯異或指令,共25條,1. 兩個(gè)操作數(shù)的邏輯操作指令,(1)邏輯與指令A(yù)NL 指令 操作 ANL A,Rn (A)(A)(Rn) ANL A,direct (A)(A)(direct) ANL A,Ri (A)(A) (Ri) ANL A,#data (A)(A) data ANL direct,A (direct)(direct)(A) ANL direct,#data (direct)(direct) data,(2)邏輯或指令ORL 指令 操作 ORL A,Rn (A)(A)(Rn) ORL A,dire

26、ct (A)(A)(direct) ORL A,Ri (A)(A) (Ri) ORL A,#data (A)(A) data ORL direct,A (direct)(direct)(A) ORL direct,#data (direct)(direct) data,(3)邏輯異或指令XRL 指令 操作 XRL A,Rn (A) (A)(Rn) XRL A,direct (A) (A)(direct) XRL A,Ri (A) (A)(Ri) XRL A,#data (A) (A)data XRL direct,A (direct) (direct)(A) XRL direct,#data

27、(direct) (direct)data,2. 累加器A的邏輯操作指令,(1)清0指令 指令 操作 CLR A (A)00H 這條指令的功能是將累加器A清0。只影響P標(biāo)志。 (2)取反指令 指令 操作 CPL A (A) 這條指令的功能是將累加器A的每一位邏輯取, 不影響標(biāo)志。,(3)左循環(huán)移位指令 指令 操作 RL A 這條指令的功能是將累加器A的內(nèi)容向左循環(huán)移1位,ACC.7移入ACC.0。不影響標(biāo)志,(4)帶進(jìn)位左循環(huán)移位指令 指令 操作 RLC A 這條指令的功能是將累加器A的內(nèi)容和進(jìn)位標(biāo)志(CY)一起向左循環(huán)移1位,ACC.7移入CY,CY移入ACC.0。影響進(jìn)位標(biāo)志和奇偶標(biāo)志,不

28、影響其它標(biāo)志。,(5)右循環(huán)移位指令 指令 操作 RR A 累加器A的內(nèi)容向右循環(huán)移1位。ACC.0移入ACC.7。不影響標(biāo)志。 (6)帶進(jìn)位右循環(huán)移位指令 指令 操作 RRC A 累加器A的內(nèi)容和進(jìn)位標(biāo)志CY的內(nèi)容一起向右循環(huán)移1位,ACC.0移入CY,CY移入ACC.7。影響進(jìn)位標(biāo)志和奇偶標(biāo)志,不影響其它標(biāo)志。,(7)累加器半字節(jié)交換指令 指令 操作 SWAP A (A)74(A)30 這條指令的功能是將累加器A的高4位與低4位互換,不影響標(biāo)志位。,1.位傳送指令 指令 操作 MOV C,bit Cbit MOV bit,C bitC 這組指令的功能是在以bit表示的位和位累加器C之間進(jìn)行

29、數(shù)據(jù)傳送。,2. 位修改指令 指令 操作 CLR C C0 CLR bit bit0 CPL C C CPL bit bit SETB C C1 SETB bit bit1 這組指令的功能是將指定的位清0、取反或置1,3. 位邏輯操作指令 (1)位邏輯與指令 指令 操作 ANL C,bit CCbit ANL C, CC 這組指令是將指定的位地址單元內(nèi)容(或取反后的內(nèi)容)與位累加器C的內(nèi)容進(jìn)行邏輯與操作,結(jié)果送入C中,源位地址單元內(nèi)容不變。,(2)位邏輯或指令 指令 操作 ORL C,bit CCbit ORL C, CC 這組指令與ANL指令類(lèi)似,是將指定位地址單元中的內(nèi)容(或取反后的內(nèi)容)

30、與位累加器C進(jìn)行邏輯或操作,結(jié)果送入C中。,控制轉(zhuǎn)移指令分: 無(wú)條件轉(zhuǎn)移指令 條件轉(zhuǎn)移指令 調(diào)用和返回指令,共有22條,1. 無(wú)條件轉(zhuǎn)移指令,(1)絕對(duì)轉(zhuǎn)移指令 AJMP addr11 (2)相對(duì)轉(zhuǎn)移指令 SJMP rel (3)長(zhǎng)轉(zhuǎn)移指令 LJMP addr16 ;(PC)addr16 (4)基址寄存器加變址寄存器間接轉(zhuǎn)移指令(散轉(zhuǎn)指令) JMP A+DPTR (PC)(A)+(DPTR),2. 條件轉(zhuǎn)移指令,(1)條件滿足轉(zhuǎn)移指令 指令 轉(zhuǎn)移條件 JZ rel (A)0;若累加器A內(nèi)容為0,則轉(zhuǎn)移 JNZ rel (A)0;若累加器A內(nèi)容不為0,則轉(zhuǎn)移 JC rel CY=1;若進(jìn)位標(biāo)志CY=1,則轉(zhuǎn)移 JNC rel CY=0;若進(jìn)位標(biāo)志CY=0,則轉(zhuǎn)移 JB bit,rel bit=1;若直接尋址位值為1,則轉(zhuǎn)移 J

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論