資源描述:
《指令系統(tǒng)及匯編語言程序設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第3章指令系統(tǒng)及匯編語言程序設(shè)計一、簡答題1、80C51系列單片機(jī)的指令系統(tǒng)有何特點?2、80C51單片機(jī)有哪幾種尋址方式?各尋址方式所對應(yīng)的寄存器或存儲器空間如何?3、訪問特殊功能寄存器SFR可以采用哪些尋址方式?4、訪問內(nèi)部RAM單元可以采用哪些尋址方式?5、訪問外部RAM單元可以采用哪些尋址方式?6、訪問外部程序存儲器可以采用哪些尋址方式?7、為什么說布爾處理功能是80C51單片機(jī)的重要特點?8、對于80C52單片機(jī)內(nèi)部RAM還存在高128字節(jié),應(yīng)采用何種方式訪問?9、試根據(jù)指令編碼表寫出下列指令的機(jī)器碼。(1)MOV?A,#88H(2)MO
2、V?R3,50H(3)MOV?P1.1,#55H(4)ADD??A,@R1(5)SETB?12H10、完成某種操作可以采用幾條指令構(gòu)成的指令序列實現(xiàn),試寫出完成以下每種操作的指令序列。(1)將R0的內(nèi)容傳送到R1;(2)內(nèi)部RAM單元60H的內(nèi)容傳送到寄存器R2;(3)外部RAM單元1000H的內(nèi)容傳送到內(nèi)部RAM單元60H;(4)外部RAM單元1000H的內(nèi)容傳送到寄存器R2;(5)外部RAM單元1000H的內(nèi)容傳送到外部RAM單元2000H。11、11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。試分析執(zhí)行下列程
3、序段后上述各單元內(nèi)容的變化。??MOV?A,@R1??MOV?@R1,40H??MOV?40H,A??MOV??R1,#7FH12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,試寫出下列各指令獨立執(zhí)行后有關(guān)寄存器和存儲單元的內(nèi)容?若該指令影響標(biāo)志位,試指出CY、AC、和OV的值。(1)MOV?A,@R0(2)ANL?40H,#0FH(3)ADD?A,R4(4)SWAP?A(5)DEC?@R1(6)XCHD??A,@R113、若(50H)=40H,試寫出執(zhí)行以下程序段后累加器A、寄存器
4、R0及內(nèi)部RAM的40H、41H、42H單元中的內(nèi)容各為多少????MOV?A,50H???MOV?R0,A???MOV?A,#00H???MOV?@R0,A???MOV?A,3BH???MOV?41H,A???MOV?42H,41H14、試用位操作指令實現(xiàn)下列邏輯操作。要求不得改變未涉及的位的內(nèi)容。(1)使ACC.0置位;(2)清除累加器高4位;(3)清除ACC.3,ACC.4,ACC.5,ACC.6。2、試編寫程序,將內(nèi)部RAM的20H、21H、22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH單元。3、試編寫程序,完成兩個16位數(shù)的減法:
5、7F4DH-2B4EH,結(jié)果存入內(nèi)部RAM的30H和31H單元,31H單元存差的高8位,30H單元存差的低8位。4、試編寫程序,將R1中的低4位數(shù)與R2中的高4位數(shù)合并成一個8位數(shù),并將其存放在R1中。5、試編寫程序,將內(nèi)部RAM的20H、21H單元的兩個無符號數(shù)相乘,結(jié)果存放在R2、R3中,R2中存放高8位,R3中存放低8位。6、若(CY)=1,(P1)=10100011B,(P3)=01101100B。試指出執(zhí)行下列程序段后,CY、P1口及P3口內(nèi)容的變化情況。??????MOV?P1.3,C??????MOV?P1.4,C??????MOV?
6、C,P1.6??????MOV?P3.6,C??????MOV?C,P1.0??????MOV?P3.4,C7、若單片機(jī)的主頻為12MHz,試用循環(huán)轉(zhuǎn)移指令編寫延時20ms的延時子程序。并說明這種軟件延時方式的優(yōu)缺點。8、?80C51單片機(jī)匯編語言有何特點?9、利用80C51單片機(jī)匯編語言進(jìn)行程序設(shè)計的步驟如何?10、常用的程序結(jié)構(gòu)有哪幾種?特點如何?11、子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種?12、什么是偽指令?常用的偽指令功能如何?13、設(shè)被加數(shù)存放在內(nèi)部RAM的20H、21H單元,加數(shù)存放在22H、23H單元,若要求和存放在24H、25H中,
7、試編寫出16位數(shù)相加的程序。14、編寫一段程序,把外部RAM中1000H~1030H的內(nèi)容傳送到內(nèi)部RAM的30H~60H中。15、編寫程序,實現(xiàn)雙字節(jié)無符號數(shù)加法運算,要求(R1R0)+(R7R6)→(61H60H)。16、若80C51的晶振頻率為6MHz,試計算延時子程序的延時時間。DELAY:MOV?R7,#0F6H??LP:MOV?R6,#0FAH??????DJNZ?R6,$??????DJNZ?R7,LP??????RET17、在內(nèi)部RAM的21H單元開始存有一組單字節(jié)不帶符號數(shù),數(shù)據(jù)長度為30H,要求找出最大數(shù)存入BIG單元。18、編
8、寫程序,把累加器A中的二進(jìn)制數(shù)變換成3位BCD碼,并將百、十、個位數(shù)分別存放在內(nèi)部RAM的50H、51H、52H中。19、