控制轉(zhuǎn)移類指令_第1頁(yè)
控制轉(zhuǎn)移類指令_第2頁(yè)
控制轉(zhuǎn)移類指令_第3頁(yè)
控制轉(zhuǎn)移類指令_第4頁(yè)
控制轉(zhuǎn)移類指令_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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)介

控制轉(zhuǎn)移類指令第一頁(yè),共六十五頁(yè),編輯于2023年,星期六

⒌循環(huán)移位指令(4條)①循環(huán)左移:RLA

不影響標(biāo)志位②帶Cy循環(huán)左移:RLCA

影響Cy,P③循環(huán)右移:RRA

不影響標(biāo)志位

④帶Cy循環(huán)右移:RRCA

影響Cy,P

第二頁(yè),共六十五頁(yè),編輯于2023年,星期六二進(jìn)制數(shù)的特點(diǎn):左移一位增大一倍,右移一位減少一半。在匯編語(yǔ)言程序中,通常用帶CY(CY=0)循環(huán)左移實(shí)現(xiàn)乘2操作,通常用帶CY(CY=0)循環(huán)右移實(shí)現(xiàn)除以2操作。第三頁(yè),共六十五頁(yè),編輯于2023年,星期六例3某已知數(shù)存在R4中,試將其乘以2存在R3中,除以2存在R2中。編程如下:

CLRCMOVA,R4RLCAMOVR3,ACLRCMOVA,R4RRCAMOVR2,A第四頁(yè),共六十五頁(yè),編輯于2023年,星期六3.3.5控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令的本質(zhì)是改變程序計(jì)數(shù)器PC的內(nèi)容,從而改變程序的執(zhí)行方向??刂妻D(zhuǎn)移類指令分為:無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令及調(diào)用和返回指令。第五頁(yè),共六十五頁(yè),編輯于2023年,星期六四、控制轉(zhuǎn)移類指令第六頁(yè),共六十五頁(yè),編輯于2023年,星期六三字節(jié)指令機(jī)器碼:02addr15-8addr7-0⒈無(wú)條件轉(zhuǎn)移指令(4條)⑴長(zhǎng)轉(zhuǎn)移指令

LJMPaddr16;addr15~0→PC,

轉(zhuǎn)移范圍:可以轉(zhuǎn)移到16位地址所表示的整個(gè)64K

程序存儲(chǔ)區(qū)(ROM)。第七頁(yè),共六十五頁(yè),編輯于2023年,星期六例1:2000H:LJMP3000H解:PC=3000H,16位目標(biāo)地址直接進(jìn)入PC。例3.11假定在某程序中存在如下指令:

NEXT:MOVA,#00H ;NEXT為指令的標(biāo)號(hào),代表該指令在 ;程序存儲(chǔ)器中存放的地址,假定該 ;指令的存儲(chǔ)地址為2000H

請(qǐng)寫出指令LJMPNEXT執(zhí)行后PC的值。

解:執(zhí)行指令LJMPNEXT之后,PC=2000H,即程序從NEXT標(biāo)號(hào)所指向的指令開始執(zhí)行。第八頁(yè),共六十五頁(yè),編輯于2023年,星期六⑵短轉(zhuǎn)移指令

AJMPaddr11 ;PC+2→PC, addr10~0→PC10~0, PC15~11不變雙字節(jié)指令機(jī)器碼:a10a9a800001a7a6……a0轉(zhuǎn)移范圍:11位地址轉(zhuǎn)移,轉(zhuǎn)移范圍為PC+2后的同一2KB區(qū)域內(nèi)。執(zhí)行步驟:(1)產(chǎn)生當(dāng)前PC。PC+2PC

(2)形成轉(zhuǎn)移目標(biāo)地址。第九頁(yè),共六十五頁(yè),編輯于2023年,星期六⑶相對(duì)轉(zhuǎn)移指令

SJMPrel;PC+2→PC,PC+rel→PC雙字節(jié)指令轉(zhuǎn)移范圍:當(dāng)前PC+127B~-128B

執(zhí)行步驟:(1)形成當(dāng)前PC

(2)形成轉(zhuǎn)移目標(biāo)地址,PC+relPCrel(相對(duì)偏移量):有符號(hào)數(shù)8位二進(jìn)制數(shù),正數(shù)程序向下轉(zhuǎn)移,負(fù)數(shù)程序向上轉(zhuǎn)移。

第十頁(yè),共六十五頁(yè),編輯于2023年,星期六例4、2000H:SJMP60H5、2000H:SJMP90H6、2000H:SJMP0FEH解4:(1)當(dāng)前PC=PC+2=2000H+2=2002H

(2)形成轉(zhuǎn)移目標(biāo)地址,

PC=PC+rel=2002H+60H=2062H,

向2000H后轉(zhuǎn)移第十一頁(yè),共六十五頁(yè),編輯于2023年,星期六解5:(1)產(chǎn)生當(dāng)前PC=PC+2=2000H+2=2002H(2)rel是帶符號(hào)的補(bǔ)碼,當(dāng)rel80H(負(fù)數(shù))時(shí),計(jì)算前應(yīng)加上FF,即rel=FF90H(帶符號(hào)擴(kuò)展)

(3)形成轉(zhuǎn)移目標(biāo)地址,

PC=PC+rel=2002+FF90H=1F92H,向2000H前轉(zhuǎn)移第十二頁(yè),共六十五頁(yè),編輯于2023年,星期六解6:

(1)產(chǎn)生當(dāng)前PC,PC=PC+2=2002H(2)形成轉(zhuǎn)移目標(biāo)地址,

PC=PC+rel=2002+FFFEH=2000H,程序在原地踏步。常寫為:SJMP$;$表示0FEH第十三頁(yè),共六十五頁(yè),編輯于2023年,星期六LJMP、AJMP、SJMP三條無(wú)條件轉(zhuǎn)移指令的區(qū)別:①轉(zhuǎn)移范圍不一樣。

LJMP轉(zhuǎn)移范圍是64KB;

AJMP轉(zhuǎn)移范圍是與當(dāng)前PC值同一2KB;

SJMP轉(zhuǎn)移范圍是當(dāng)前PC-128B~+127B。使用AJMP和SJMP指令應(yīng)注意轉(zhuǎn)移目標(biāo)地址是否在轉(zhuǎn)移范圍內(nèi),若超出范圍,程序?qū)⒊鲥e(cuò)。②指令字節(jié)不一樣。

LJMP是3字節(jié)指令;

AJMP、SJMP是2字節(jié)指令。第十四頁(yè),共六十五頁(yè),編輯于2023年,星期六

⑷間接轉(zhuǎn)移指令(散轉(zhuǎn)指令)

JMP@A+DPTR ;A+DPTR→PC

指令的目標(biāo)地址與當(dāng)前PC值無(wú)關(guān),可以在程序運(yùn)行中加以改變,完成程序的散轉(zhuǎn)。第十五頁(yè),共六十五頁(yè),編輯于2023年,星期六例3.14假定DPTR=2000H,指出當(dāng)累加器A的內(nèi)容分別為02H、04H、06H、08H時(shí),執(zhí)行指令JMP@A+DPTR后,PC的值分別為多少。解:當(dāng)累加器A=02H時(shí),執(zhí)行指令JMP@A+DPTR后,PC=2000H+02H=2002H。當(dāng)累加器A=04H時(shí),執(zhí)行指令JMP@A+DPTR后,PC=2000H+04H=2004H。當(dāng)累加器A=06H時(shí),執(zhí)行指令JMP@A+DPTR后,PC=2000H+06H=2006H。當(dāng)累加器A=08H時(shí),執(zhí)行指令JMP@A+DPTR后,PC=2000H+08H=2008H。第十六頁(yè),共六十五頁(yè),編輯于2023年,星期六3、條件轉(zhuǎn)移指令(13條)

條件轉(zhuǎn)移指令根據(jù)判斷條件可分為:(1)判A轉(zhuǎn)移(2)比較不相等轉(zhuǎn)移指令(3)減1非0轉(zhuǎn)移(4)判C轉(zhuǎn)移(位指令)(5)判bit轉(zhuǎn)移(位指令)

滿足條件,則轉(zhuǎn)移;不滿足條件,則程序順序執(zhí)行。

第十七頁(yè),共六十五頁(yè),編輯于2023年,星期六①A=0轉(zhuǎn)移指令:

JZrel;PC+2→PC,

若A=0,則PC+rel→PC,轉(zhuǎn)移若A0,則程序順序執(zhí)行(1)判A轉(zhuǎn)移指令(2條)②A0轉(zhuǎn)移指令:

JNZrel;PC+2→PC,

若A0,則PC+rel→PC,轉(zhuǎn)移若A=0,則程序順序執(zhí)行第十八頁(yè),共六十五頁(yè),編輯于2023年,星期六例2試編程實(shí)現(xiàn):B中數(shù)據(jù)不斷加1,加至FF,則不斷減1,減至0,則不斷加1,往返不斷循環(huán)。程序如下:

GADD:INCBMOVA,B

CPLAJNZGADDGSUB:DECBMOVA,BJZGADDSJMPGSUB第十九頁(yè),共六十五頁(yè),編輯于2023年,星期六(2)比較轉(zhuǎn)移指令形式:CJNE(目的操作數(shù)),(源操作數(shù)),rel功能:PC+3PC,目的操作數(shù)與源操作數(shù)進(jìn)行比較,不相等轉(zhuǎn)移。

若(目的操作數(shù))=(源操作數(shù)),則程序順序執(zhí)行,且Cy=0

若(目的操作數(shù))(源操作數(shù)),則PC+relPC,轉(zhuǎn)移,且若(目的操作數(shù))(源操作數(shù)),則Cy=0

若(目的操作數(shù))<(源操作數(shù)),則Cy=1

第二十頁(yè),共六十五頁(yè),編輯于2023年,星期六流程示意圖:目標(biāo)操作數(shù)=源操作數(shù)(PC)+3PC0CyYN目標(biāo)操作數(shù)<源操作數(shù)(PC)+3+relPC1Cy(PC)+3+relPC0CyYN第二十一頁(yè),共六十五頁(yè),編輯于2023年,星期六①CJNEA,direct,rel;PC+3→PC,;若A=(direct),則程序順序執(zhí)行,Cy=0;若A≠(direct),則PC+rel→PC,轉(zhuǎn)移

;且若A≥(direct),Cy=0;若A<(direct),Cy=1

CJNEA,#data,rel;PC+3→PC,;若A=data,則程序順序執(zhí)行,Cy=0;若A≠data,則PC+rel→PC,轉(zhuǎn)移;且若A≥data,Cy=0;若A<data,Cy=1

⑸比較轉(zhuǎn)移指令第二十二頁(yè),共六十五頁(yè),編輯于2023年,星期六③

CJNERn,#data,rel;PC+3→PC,;若Rn=data,則程序順序執(zhí)行,Cy=0;若Rn≠data,則PC+rel→PC,轉(zhuǎn)移;且若Rn≥data,Cy=0;若Rn<data,Cy=1④

CJNE@Ri,#data,rel;PC+3→PC,;若(Ri)=data,則程序順序執(zhí)行,Cy=0;若(Ri)≠data,則PC+rel→PC,轉(zhuǎn)移;且若(Ri)≥data,Cy=0;若(Ri)<data,Cy=1第二十三頁(yè),共六十五頁(yè),編輯于2023年,星期六例3

試編寫程序,將內(nèi)RAM20H~2FH共16個(gè)連續(xù)地址單元清零。編程如下:

CLR16:MOVR0,#20HCLRACLOP:MOV@R0,AINCR0CJNER0,#30H,CLOPSJMP$第二十四頁(yè),共六十五頁(yè),編輯于2023年,星期六(3)減1非0轉(zhuǎn)移指令(2條)②DJNZdirect,rel;PC+3→PC,(direct)-1→direct

若(direct)=0,則程序順序執(zhí)行若(direct)0,則PC+rel→PC,轉(zhuǎn)移

DJNZRn,rel;PC+2→PC,Rn-1→Rn, 若Rn=0,則程序順序執(zhí)行 若Rn0,則PC+rel→PC,轉(zhuǎn)移

第二十五頁(yè),共六十五頁(yè),編輯于2023年,星期六例4例4

試編寫程序,將內(nèi)RAM20H~2FH共16個(gè)連續(xù)地址單元清零。編程如下:CLR16:MOVR0,#20HMOVR2,#16CLRACLOP:MOV@R0,AINCR0DJNZR2,CLOPSJMP$

第二十六頁(yè),共六十五頁(yè),編輯于2023年,星期六

3.調(diào)用和返回指令(5條)

1)絕對(duì)調(diào)用指令(1條)注意:①該指令結(jié)果不影響程序狀態(tài)字寄存器PSW。②調(diào)用范圍與AJMP指令相同。第二十七頁(yè),共六十五頁(yè),編輯于2023年,星期六2)長(zhǎng)調(diào)用指令(1條)注意:①該指令結(jié)果不影響程序狀態(tài)字寄存器PSW。②調(diào)用范圍與LJMP指令相同。第二十八頁(yè),共六十五頁(yè),編輯于2023年,星期六3)返回指令(2條)注意:該指令結(jié)果不影響程序狀態(tài)字寄存器PSW。第二十九頁(yè),共六十五頁(yè),編輯于2023年,星期六2、空操作指令(1條)

NOP為單機(jī)周指令,在時(shí)間上占用一個(gè)機(jī)器周期,常用于時(shí)間“微調(diào)”。NOP;PC+1→PC第三十頁(yè),共六十五頁(yè),編輯于2023年,星期六注意:該指令結(jié)果不影響程序狀態(tài)字寄存器PSW。4)空操作(1條)第三十一頁(yè),共六十五頁(yè),編輯于2023年,星期六例5

如果單片機(jī)的時(shí)鐘頻率為12MHZ,試設(shè)計(jì)2ms的延時(shí)程序。編程如下:

MOVR2,#200TIME:NOPNOPNOPNOPNOPNOPNOPNOPDJNZR2,TIME第三十二頁(yè),共六十五頁(yè),編輯于2023年,星期六3.3.6位操作類指令位操作指令的操作數(shù)是“位”,其取值只能是0或1,故又稱之為布爾操作指令。位操作指令的操作對(duì)象是片內(nèi)RAM的位尋址區(qū)(即20H~2FH)和特殊功能寄存器SFR中的11個(gè)可位尋址的寄存器。片內(nèi)RAM的20H~2FH共16個(gè)單元128個(gè)位,我們?yōu)檫@128個(gè)位的每個(gè)位均定義一個(gè)名稱:00H~7FH,稱為位地址,如表3.5所示。對(duì)于特殊功能寄存器SFR中可位尋址的寄存器的每個(gè)位,也有名稱定義,如表3.6所示。第三十三頁(yè),共六十五頁(yè),編輯于2023年,星期六表3.5片內(nèi)RAM位尋址區(qū)的位地址分布第三十四頁(yè),共六十五頁(yè),編輯于2023年,星期六第三十五頁(yè),共六十五頁(yè),編輯于2023年,星期六表3.6SFR中的位地址分布第三十六頁(yè),共六十五頁(yè),編輯于2023年,星期六第三十七頁(yè),共六十五頁(yè),編輯于2023年,星期六對(duì)于位尋址,有以下四種不同的寫法。第一種是直接地址寫法,如MOVC,0D2H,其中,0D2H表示PSW中的OV位地址。第二種是點(diǎn)操作符寫法,如MOVC,0D0H.2。第三種是位名稱寫法,即在指令格式中直接采用位定義名稱,這種方式只適用于可以位尋址的SFR,如MOVC,OV。第四種是專用寄存器符號(hào)與點(diǎn)操作符表示法,如MOVC,PSW.0。第三十八頁(yè),共六十五頁(yè),編輯于2023年,星期六位操作類指令分為以下五組:位傳送指令(2條):MOV。位置位和位清0指令(4條):SETB、CLR。位運(yùn)算指令(6條):ANL、ORL、CPL。位轉(zhuǎn)移指令(3條):JB、JNB、JBC。判CY標(biāo)志指令(2條):JC、JNC。第三十九頁(yè),共六十五頁(yè),編輯于2023年,星期六1.位傳送指令(2條)注意:位傳送指令的操作數(shù)中必須有一個(gè)是進(jìn)位位C,不能在其它兩個(gè)位之間直接傳送。進(jìn)位位C也稱為位累加器。第四十頁(yè),共六十五頁(yè),編輯于2023年,星期六2.位置位和位清0指令(4條)3.位運(yùn)算指令(6條)注意:以上指令結(jié)果通常影響程序狀態(tài)字寄存器PSW的CY標(biāo)志。第四十一頁(yè),共六十五頁(yè),編輯于2023年,星期六4.位轉(zhuǎn)移指令(3條)注意:①?JBC與JB指令的區(qū)別是:前者轉(zhuǎn)移后把尋址位清0,后者只轉(zhuǎn)移而不把尋址位清0。②以上指令結(jié)果不影響程序狀態(tài)字寄存器PSW。第四十二頁(yè),共六十五頁(yè),編輯于2023年,星期六

5.判CY標(biāo)志指令(2條)注意:以上結(jié)果不影響程序狀態(tài)字寄存器PSW。第四十三頁(yè),共六十五頁(yè),編輯于2023年,星期六例3.16用位操作指令編程計(jì)算邏輯方程P1.7=ACC.0×(B.0+P2.1)+,其中“+”表示邏輯或,“×”表示邏輯與。解:程序段如下:

MOVC,B.0 ;B.0→C

ORL

C,P2.1 ;C或P2.1→C

ANL

C,ACC.0 ;C與ACC.0→C,即ACC.0×(B.0+P2.1)→C

ORL

C,/P3.2 ;C或/P3.2,即ACC.0×(B.0+P2.1)+→C

MOV

P1.7,C ;C→P1.7第四十四頁(yè),共六十五頁(yè),編輯于2023年,星期六例題:設(shè)字節(jié)地址(20H)=01H,試分析程序執(zhí)行后位地址01H、00H中的內(nèi)容為何值?P1口的8條I/O口線為何狀態(tài)?

clrcmova,#66hjb07h,loop1cplcsetb01hloop1:orlc,acc.2jbcacc.2,loop2clr00hloop2:movP1,aend第四十五頁(yè),共六十五頁(yè),編輯于2023年,星期六

3.3.7常用偽指令

1.定位偽指令ORG格式:

[標(biāo)號(hào):]ORG地址表達(dá)式功能:規(guī)定程序塊或數(shù)據(jù)塊存放的起始位置。例如:ORG1000H ;表示下面的指令MOVA, ;#20H存放于1000H開始的單元

MOVA,#20H第四十六頁(yè),共六十五頁(yè),編輯于2023年,星期六

2.定義字節(jié)數(shù)據(jù)偽指令DB格式:

[標(biāo)號(hào):]DB字節(jié)數(shù)據(jù)表功能:字節(jié)數(shù)據(jù)表可以是多個(gè)字節(jié)數(shù)據(jù)、字符串或表達(dá)式,它表示將字節(jié)數(shù)據(jù)表中的數(shù)據(jù)從左到右依次存放在指定地址單元。例如:ORG1000H

TAB:DB2BH,0A0H,'A',2*4;表示從1000H單元開始的地方存放數(shù)據(jù)2BH,;0A0H,41H(字母A的ASCII碼),08H第四十七頁(yè),共六十五頁(yè),編輯于2023年,星期六

3.定義字?jǐn)?shù)據(jù)偽指令DW格式:

[標(biāo)號(hào):]DW字?jǐn)?shù)據(jù)表功能:與DB類似,但DW定義的數(shù)據(jù)項(xiàng)為字,包括兩個(gè)字節(jié),存放時(shí)高位在前,低位在后。例如: ?ORG1000H

DATA:DW324AH,3CH;表示從1000H單元開始;的地方存放數(shù)據(jù)32H,;4AH,00H,3CH(3CH

;以字的形式表示為;003CH)第四十八頁(yè),共六十五頁(yè),編輯于2023年,星期六

4.定義空間偽指令DS格式:

[標(biāo)號(hào):]DS表達(dá)式功能:從指定的地址開始,保留多少個(gè)存儲(chǔ)單元作為備用的空間。例如: ?ORG1000H

BUF:DS50

TAB:DB22H;表示從1000H開始的地方預(yù)留;50(1000H~1031H)個(gè)存儲(chǔ)字節(jié);空間,22H存放在1032H單元第四十九頁(yè),共六十五頁(yè),編輯于2023年,星期六

5.符號(hào)定義偽指令EQU或=格式:符號(hào)名EQU表達(dá)式或符號(hào)名=表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義為一個(gè)指定的符號(hào)名,只能定義單字節(jié)數(shù)據(jù),并且必須遵循先定義后使用的原則,因此該語(yǔ)句通常放在源程序的開頭部分。例如: LEN=10 SUMEQU21H MOVA,#LEN;執(zhí)行指令后,累加器A中的值;為0AH第五十頁(yè),共六十五頁(yè),編輯于2023年,星期六

6.數(shù)據(jù)賦值偽指令DATA格式:符號(hào)名DATA表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義為一個(gè)指定的符號(hào)名,只能定義單字節(jié)數(shù)據(jù),但可以先使用后定義,因此用它定義數(shù)據(jù)時(shí)可以放在程序末尾。例如:

MOVA,#LEN

LENDATA10盡管LEN的引用在定義之前,但匯編語(yǔ)言系統(tǒng)仍可以知道A的值是0AH。第五十一頁(yè),共六十五頁(yè),編輯于2023年,星期六

7.數(shù)據(jù)地址賦值偽指令XDATA格式:符號(hào)名XDATA表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義為一個(gè)指定的符號(hào)名,可以先使用后定義,可用于雙字節(jié)數(shù)據(jù)定義。例如: DELAYXDATA0356H LCALLDELAY ;執(zhí)行指令后,程序轉(zhuǎn)到;0356H單元執(zhí)行第五十二頁(yè),共六十五頁(yè),編輯于2023年,星期六

8.匯編結(jié)束偽指令END格式:

[標(biāo)號(hào):]END功能:匯編語(yǔ)言源程序結(jié)束標(biāo)志,用于整個(gè)匯編語(yǔ)言程序的末尾處。第五十三頁(yè),共六十五頁(yè),編輯于2023年,星期六本章小結(jié)程序由指令組成。一臺(tái)計(jì)算機(jī)能夠提供的所有指令的集合稱為指令系統(tǒng)。指令有機(jī)器碼指令和助記符指令兩種形式。計(jì)算機(jī)能夠直接執(zhí)行的指令是機(jī)器碼指令。尋找操作數(shù)地址的方式稱為尋址方式。MCS-51指令系統(tǒng)共使用了7種尋址方式,包括寄存器尋址、直接尋址、立即數(shù)尋址、寄存器間接尋址、變址尋址、相對(duì)尋址和位尋址等。

MCS-51單片機(jī)指令系統(tǒng)包括111條指令,按功能可以劃分為以下5類:數(shù)據(jù)傳送指令(29條)、算術(shù)運(yùn)算指令(24條)、邏輯運(yùn)算指令(24條)、控制轉(zhuǎn)移指令(17條)和位操作指令(17條)。第五十四頁(yè),共六十五頁(yè),編輯于2023年,星期六習(xí)題3

3.1單項(xiàng)選擇題。

(1)單片機(jī)在與外部I/O口進(jìn)行數(shù)據(jù)傳送時(shí),將使用

指令。

A.?MOVX

B.?MOV

C.?MOVC

D.視具體I/O口器件而定

(2)在寄存器間接尋址方式中,Ri是指

。

A.?R0~R7

B.?R0~R1

C.操作碼 D.操作數(shù)地址

(3)下列指令中,影響堆棧指針的指令是

。

A.?LJMPaddr16B.?DJNZRn,rel

C.?LCALLaddr16D.?MOVXA,@Ri第五十五頁(yè),共六十五頁(yè),編輯于2023年,星期六

(4)?MCS-51單片機(jī)有七種尋址方式,其中:MOVA,direct指令的源操作數(shù)屬于

尋址方式。

A.間接 B.變址 C.相對(duì) D.直接

(5)指令JZNEXT的作用是

A.當(dāng)CY標(biāo)志為0時(shí)跳轉(zhuǎn)到NEXT語(yǔ)句執(zhí)行

B.當(dāng)累加器A內(nèi)容不為全0時(shí)跳轉(zhuǎn)到NEXT語(yǔ)句執(zhí)行

C.當(dāng)累加器A內(nèi)容為全0時(shí)跳轉(zhuǎn)到NEXT語(yǔ)句執(zhí)行

D.當(dāng)CY標(biāo)志為1時(shí)跳轉(zhuǎn)到NEXT語(yǔ)句執(zhí)行

(6)將外部數(shù)據(jù)存儲(chǔ)單元的內(nèi)容傳送到累加器A中的指令是

。

A.MOVXA,@A+DPTRB.?MOVA,@R0

C.MOVCA,@A+DPTRD.?MOVXA,@DPTR第五十六頁(yè),共六十五頁(yè),編輯于2023年,星期六

(7)在指令MOV30H,#55H中,30H是

。

A.指令的操作碼 B.操作數(shù)

C.操作數(shù)的目的地址 D.機(jī)器碼

(8)在下列指令中,屬判位轉(zhuǎn)移的指令是

A.?AJMPaddr11 B.?CJNEA,direct,rel

C.?DJNZRn,rel D.?JNCrel

(9)?8031有4組工作寄存器區(qū),將當(dāng)前工作寄存器設(shè)置為第2組應(yīng)使用的指令是

A.?SETBRS0和CLRRS1 B.?SETBRS0和SETBRS1

C.?CLRRS0和CLRRS1 D.?CLRRS0和SETBRS1

(10)?MCS-51單片機(jī)中,下一條將要執(zhí)行的指令地址存放在

中。

A.?SP

B.?DPTR C.?PC

D.?PSW第五十七頁(yè),共六十五頁(yè),編輯于2023年,星期六

(11)當(dāng)執(zhí)行DAA指令時(shí),CPU將根據(jù)

的狀態(tài)自動(dòng)調(diào)整,使ACC的值為正確的BCD碼。

A.?CY B.?MOV20H,R4

C.?CY和AC D.?RS0和RS1

(12)下列指令中正確的是

。

A.?MOVA,R4 B.?MOV@R1,R3

C.?MOVR4,R3D.?MOV@R4,R3

(13)在堆棧操作中,當(dāng)進(jìn)棧數(shù)據(jù)全部彈出后,這時(shí)SP應(yīng)指向

A.棧底單元 B.?7FH單元

C.棧底單元地址加1 D.棧底單元地址減1第五十八頁(yè),共六十五頁(yè),編輯于2023年,星期六

3.2填空題。

(1)在直接尋址方式中,只能使用

位二進(jìn)制數(shù)作為直接地址,因此,其尋址方式對(duì)象只限于

(2)在相對(duì)尋址方式中,尋址得到的結(jié)果是

(3)假定A=85H,(20H)=0FFH,CY=1,執(zhí)行指令:ADDCA,20H后,累加器A的內(nèi)容為

,CY的內(nèi)容為

,AC的內(nèi)容為

,OV的內(nèi)容為

。

(4)假定A=56H,R5=67H,執(zhí)行如下指令后,累加器A的內(nèi)容為

,CY的內(nèi)容為

。

ADDA,R5

DAA

(5)假定A=40H,B=0A0H,執(zhí)行指令:MULAB后,寄存器B的內(nèi)容

,累加器A的內(nèi)容為

,CY的內(nèi)容為

,OV的內(nèi)容為

。第五十九頁(yè),共六十五頁(yè),編輯于2023年,星期六

(6)假定A=0FEH,B=15H,執(zhí)行指令:DIVAB后,累加器A的內(nèi)容為

,寄存器B的內(nèi)容為

,CY的內(nèi)容為

,OV的內(nèi)容為

(7)假定A的內(nèi)容為0FEH,執(zhí)行完指令:SWAPA后,累加器A的內(nèi)容為

。

(8)將累加器A清0的指令有很多種,請(qǐng)按下面的要求寫出指令:數(shù)據(jù)傳送指令

邏輯與操作指令

邏輯異或操作指令

累加器清0指令

(9)在位操作中,能起到字節(jié)操作中累加器作用的是

。第六十頁(yè),共六十五頁(yè),編輯于2023年,星期六

(10)假定addr11=00100000000B,標(biāo)號(hào)n

溫馨提示

  • 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)論