《最新关于习题二答案-单片机的指令系统.pdf》由会员分享,可在线阅读,更多相关《最新关于习题二答案-单片机的指令系统.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于习题二答案关于习题二答案-单片机的指令单片机的指令系统系统1 1、执行以下、执行以下3 3 条指令后,条指令后,30H30H 单元的内容单元的内容是是 C C。MOV MOV R0 R0,#30H#30H MOV MOV 40H 40H,#0EH#0EH MOV MOV R0 R0,40H40HA A 40H40HB B 30H30HC C0EH0EHD DFFHFFH2 2、在堆栈中压入一个数据时、在堆栈中压入一个数据时B B。压栈压栈再压栈再压栈3 3、在堆栈操作中,当进栈数据全部弹出后,这、在堆栈操作中,当进栈数据全部弹出后,这时的时的 SPSP 应指向应指向 A A。B B7FH7
2、FHA A栈栈底底单单元元C C先先压压栈栈,再再令令SP-lSP-lD D先令先令 SP-1SP-1,A A先先压压栈栈,再再令令SP+1SP+1B B先令先令 SP+1SP+1,再,再C C栈栈底底单单元元地地址址加加1 1D D栈底单元地址减栈底单元地址减l l4 4、指令、指令 MOVC AMOVC A,A+PCA+PC 源操作数的寻址方式源操作数的寻址方式是是 D D。寻址方式寻址方式址方式址方式5 5、ANL 20HANL 20H,#30H#30H 指令中,源操作数的寻址方指令中,源操作数的寻址方式是式是 A A。址方式址方式C C位位寻寻址址方方式式D D 相相对寻址方式对寻址方
3、式6 6、ANLANL C C,30H30H 指令中,源操作数的寻址方指令中,源操作数的寻址方式是式是 C C。A A立立即即寻寻址址方方式式B B 直接寻直接寻C C直直接接寻寻址址方方式式D D 变址寻变址寻A A存存放放器器寻寻址址方方式式B B 存放器间接存放器间接A A 存放器寻址存放器寻址B B 存放器间接寻址存放器间接寻址 C C直接寻址直接寻址 D D立即寻址立即寻址1010、下面条指令将、下面条指令将 MCS-51MCS-51 的工作存放器置成的工作存放器置成 3 3区区B B A AMOVMOV PSW PSW,#13H#13H B BMOVMOV PSW PSW,#18H
4、#18H1111、MOVMOV C C,00H00H 指令中源操作数的寻址方指令中源操作数的寻址方式是式是A AA A 位位 寻寻 址址B B 直直 接接 寻寻址址 C C立即寻址立即寻址 D D存放存放器寻址器寻址1 1、80518051 单片机共有单片机共有 7 7种寻址方式。访问种寻址方式。访问外部数据存储器应采用外部数据存储器应采用存放器间接存放器间接寻址方式。寻址方式。2 2、访问外部数据存储器应采用、访问外部数据存储器应采用存放器间存放器间接接寻址方式;查表应使用寻址方式;查表应使用变址变址 寻址方寻址方式。式。3 3、在在 80518051 单单 片片 机机 中中,堆堆 栈栈 操
5、操 作作 的的 指指 令令有有PUSHPUSH和和 POP POP两个。两个。4 4、在、在 80518051 单片机中,子程序调用的指令有单片机中,子程序调用的指令有ACALLACALL和和 LCALL LCALL两个。两个。5 5、CJNECJNE 指令都是指令都是 3 3 字节字节字节指令。字节指令。6 6、指令、指令 SJMPSJMP$的功能是的功能是无条件转移到本指无条件转移到本指令的首地址执行程序,令的首地址执行程序,即将本指令的首地址送给即将本指令的首地址送给PCPC。7 7、十进制调整指令十进制调整指令 DADA A A 不能单独执行,不能单独执行,在执在执行该指令之前必须先执
6、行行该指令之前必须先执行ADDADD指令或者指令或者ADDCADDC指令。指令。8 8、位转移指令都是采用、位转移指令都是采用相对相对寻址方寻址方式实现转移的。式实现转移的。9 9、子程序必须使用子程序必须使用 RET RET 指令返回主程序,指令返回主程序,而中而中断效劳程序必须使用断效劳程序必须使用 RETIRETI指令返回主程序。指令返回主程序。1010、PUSHPUSH 指令是实现指令是实现把数据压入堆栈的把数据压入堆栈的操作,操作,而而 POPPOP 指令是实现指令是实现把数据从堆栈中弹出的把数据从堆栈中弹出的操作。操作。1111、执行了、执行了 DIVDIV AB AB 指令后,那
7、么商存放在指令后,那么商存放在 A A中,余数存放中,余数存放 B B中。中。1212、执行了、执行了 MULMUL AB AB 指令后,那么积的高指令后,那么积的高 8 8 位位存存 放放 在在B B中中,而而 积积 的的 低低8 8位位 存存 放放在在A A。1313、在、在 MCS-51MCS-51 单片机中,加法指令可以分为单片机中,加法指令可以分为ADDADD和和 ADDC ADDC两种。两种。1414、读程序存储器指令有读程序存储器指令有 MOVCMOVC A A,A+DPTRA+DPTR和和MOVC AMOVC A,A+PCA+PC 两个,它们的源操作数都属两个,它们的源操作数都
8、属于于变址变址寻址方式。寻址方式。1515、减法指令的助记符为减法指令的助记符为 SUBB SUBB,其作用其作用是是将累加器将累加器 A A 中的内容减去源操作数,中的内容减去源操作数,再减去进位再减去进位位位 C C 的内容,所得的结果存入累加器的内容,所得的结果存入累加器 A A。1616、INCINC 指令的功能是指令的功能是将操作数加将操作数加 l l 后存放后存放到原处到原处,DECDEC 指令的功能是指令的功能是将操作数减将操作数减1 1 后存放到原处后存放到原处。1717、在立即寻址方式中,在立即寻址方式中,在数前使用在数前使用#号号来表示立即数。来表示立即数。1818、在在立
9、立即即寻寻址址方方式式中中,立立即即数数一一定定出出现现在在源源操作数中。操作数中。1919、在执行、在执行MOVXMOVX A A,R0R0 指令时,源操作数的指令时,源操作数的高高 8 8 位是由位是由 P2 P2存放器提供的。存放器提供的。2020、访访 问问 外外 部部 数数 据据 存存 储储 器器 必必 须须 使使用用 MOVX MOVX指令。指令。1 1、在堆栈操作中,当栈内的数据全部弹出后,、在堆栈操作中,当栈内的数据全部弹出后,这时的这时的 SPSP 指向栈底单元。指向栈底单元。()2 2、在堆栈操作中,当栈内的数据全部弹出后,、在堆栈操作中,当栈内的数据全部弹出后,这时的这时
10、的 SPSP 指向栈顶单元。指向栈顶单元。()3 3、数据传送指令将改变源操作数的内容。、数据传送指令将改变源操作数的内容。()4 4、调用子程序指令调用子程序指令 如:如:CALLCALL 及返回指令及返回指令 如:如:RETRET与堆栈有关但与与堆栈有关但与 PCPC 无关。无关。5 5、堆栈遵循数据先进后出,堆栈遵循数据先进后出,后进先出的原那么。后进先出的原那么。()6 6、在在 MCS-51MCS-51 单片机中,单片机中,堆栈的地址随着压栈数堆栈的地址随着压栈数据从小到大递增。据从小到大递增。()7 7、子程序返回可以使用、子程序返回可以使用 RETRET 指令,也可以使用指令,也
11、可以使用RETIRETI 指令。指令。()8 8、ACALLACALL 指令是指令是 2 2 字节指令,字节指令,而而 LCALLLCALL 指令是指令是 3 3字节指令。字节指令。()9 9、空操作指令不占机器周期。、空操作指令不占机器周期。()1010、减法指令只有带借位的减法,减法指令只有带借位的减法,没有不带借位没有不带借位的减法。的减法。()1111、加法指令只有带进位的加法,加法指令只有带进位的加法,没有不带进位没有不带进位的加法。的加法。()1212、不能使用无条件转移指令直接从子程序中转不能使用无条件转移指令直接从子程序中转到主程序中去。到主程序中去。()四、应用题四、应用题1
12、 1、说明以下指令中各个操作数的寻址方式。、说明以下指令中各个操作数的寻址方式。(1)ADD(1)ADD A A,30H30H(2)MOV(2)MOV 30H 30H,20H20H(3)MOV(3)MOV A A,R0R0(4)MOVX(4)MOVX A A,R1R1(5)SJMP(5)SJMP$(6)MOV(6)MOV R0 R0,#20H#20H(7)ORL(7)ORL C C,00H00H(8)MOV(8)MOV DPTR DPTR,#2000H#2000H(9)MOVC(9)MOVC A A,A+PCA+PC(10)ANL(10)ANL 20H 20H,#30H#30H(11)ANL(
13、11)ANL C C,30H30H(12)CPL(12)CPL C C(13)CPL(13)CPL A A(14)CPL(14)CPL 20H 20H(15)ADD(15)ADD A A,R1R1(16)MOVC(16)MOVC A A,A+DPTRA+DPTR(17)DJNZ(17)DJNZ R0,rel R0,rel(18)SETB(18)SETB00H00H解答:解答:(1)(1)解答:源操作数为:直接寻址方式:目的操解答:源操作数为:直接寻址方式:目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(2)(2)解答:源操作数为:直接寻址方式;目的操解答:源操作数为:直接寻址方式;目的
14、操作数为:直接寻址方式。作数为:直接寻址方式。(3)(3)解答:源操作数为:存放器间接寻址方式;解答:源操作数为:存放器间接寻址方式;目的操作数为:存放器方式。目的操作数为:存放器方式。(4)(4)解答:源操作数为:存放器间接寻址方式;解答:源操作数为:存放器间接寻址方式;目的操作数为:存放器寻址方式。目的操作数为:存放器寻址方式。(5)(5)解答:操作数为:相对寻址方式。解答:操作数为:相对寻址方式。(6)(6)解答:源操作数为:立即寻址方式;目的操解答:源操作数为:立即寻址方式;目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(7)(7)解答:源操作数为:位寻址方式;目的操作解答:源
15、操作数为:位寻址方式;目的操作数为:位寻址方式。数为:位寻址方式。(8)(8)解答:源操作数为:立即寻址方式;目的操解答:源操作数为:立即寻址方式;目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(9)(9)解答:源操作数为:变址寻址方式;目的操解答:源操作数为:变址寻址方式;目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(10)(10)解答:源操作数为:立即寻址方式:目的操解答:源操作数为:立即寻址方式:目的操作数为:直接寻址方式。作数为:直接寻址方式。(11)(11)解答:源操作数为:位寻址方式;目的操作解答:源操作数为:位寻址方式;目的操作数为:位寻址方式。数为:位寻址方式
16、。(12)(12)解答:操作数为:位寻址方式。解答:操作数为:位寻址方式。(13)(13)解答:操作数为:存放器寻址方式。解答:操作数为:存放器寻址方式。(14)(14)解答:操作数为:位寻址方式。解答:操作数为:位寻址方式。(15)(15)解答:源操作数为:存放器间接寻址方式:解答:源操作数为:存放器间接寻址方式:目的操作数为:存放器寻址方式。目的操作数为:存放器寻址方式。(16)(16)解答:源操作数为:变址寻址方式;目的操解答:源操作数为:变址寻址方式;目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(17)(17)解答:源操作数为:相对寻址方式;目的操解答:源操作数为:相对寻址方
17、式;目的操作数为:存放器寻址方式。作数为:存放器寻址方式。(18)(18)解答:操作数为:位寻址方式。解答:操作数为:位寻址方式。2 2、写出以下程序的运行结果。、写出以下程序的运行结果。(1)MOV(1)MOV SP,#40H SP,#40HMOVMOV A A,#20H#20HMOVMOV B B,#30H#30HPUSHPUSH A APUSHPUSH B BPOPPOP A APOPPOP B B(SP)=?(SP)=?(A)=?(A)=?(B)=?(B)=?解答:解答:(SP)=40H(SP)=40H,(A)=30H(A)=30H,(B)=20H(B)=20H(2)MOV(2)MOV
18、 SP SP,#40H#40HMOVMOV A A,#20H#20HMOVMOV B B,#30H#30HPUSHPUSH A APUSHPUSH B BPOPPOP B BPOPPOP A A(SP)=?(SP)=?(A)=?(A)=?(B)=?(B)=?解答:解答:(SP)=40H(SP)=40H,(A)=20H(A)=20H,(B)=30H(B)=30H(3)MOV(3)MOV R0 R0,#7EH#7EHMOVMOV DPTR DPTR#10FEH#10FEHMOVMOV 7EH 7EH,#0AAH#0AAHMOVMOV 7FH 7FH#0BBH#0BBHINCINC R0 R0INC
19、INC R0 R0INCINC R0 R0INCINC R0 R0(7EH)=?(7EH)=?(7FH)=?(7FH)=?R0R0=?=?(R0)=?(R0)=?(DPTR)=?(DPTR)=?解答:解答:(7EH)=0ABH(7EH)=0ABH,(7FH)=0BCH(7FH)=0BCH,(R0)=7FH(R0)=7FH,(R0)=0BCH(R0)=0BCH,(DPTR)=10FFH(DPTR)=10FFH(4)MOV(4)MOV R0 R0,#00H#00HMOVMOV A A,#20H#20HMOVMOV B B,#0FFH#0FFHMOVMOV20H20H,#0F0H#0F0HXCHXC
20、H A A,R0R0XCHXCH A,A,B BXCHXCH A,A,R0R0(A)=?(A)=?(B)=?(B)=?(20H)=?(20H)=?(R0)=?(R0)=?解解H H答答:(A)=F0H(A)=F0H(B)=00H(B)=00H(20H)=FFH(20H)=FFH(R0)=20(R0)=203 3、在设在设 A=0FHA=0FH,R0=30HR0=30H,内部内部 RAMRAM 的的 30H30H=0AH=0AH、31H31H=0BH=0BH、32H32H=0CH=0CH,请指出在执行以下,请指出在执行以下程序段后上述各单元内容的变化。程序段后上述各单元内容的变化。MOV MOV
21、 A A,R0R0 MOV MOV R0 R0,32H32H MOV MOV 32H 32H,A A MOV MOV R0 R0,#31H#31HMOVMOV A A,R0R0解答:解答:R0=31H,A=0BH,R0=31H,A=0BH,30H30H=0CH=0CH、31H31H=0BH=0BH、32H32H=0AH=0AH4 4、请用数据传送指令来实现以下要求的数据传、请用数据传送指令来实现以下要求的数据传送。送。1 1 R0 R0 的内容输出到的内容输出到 R1R1解答:解答:MOVMOV A,R0 A,R0MOVMOV R1,A R1,A2 2内部内部 RAM20HRAM20H 单元的
22、内容传单元的内容传送到送到 A A 中。中。解答:解答:MOVMOV A,20H A,20H3 3外部外部 RAM30HRAM30H 单元的内容送单元的内容送到到 R0R0。解答:解答:MOVMOV R0,#30H R0,#30HMOVXMOVX A,R0 A,R0MOVMOV R0,A R0,A4 4外部外部 RAM30HRAM30H 单元的内容送单元的内容送内部内部 RAM20HRAM20H 单元。单元。解答:解答:MOVMOV R1,#30H R1,#30HMOVXMOVX A,R1 A,R1MOVMOV 20H,A 20H,A5 5外部外部 RAM1000HRAM1000H 单元的内容
23、单元的内容送内部送内部 RAM20HRAM20H 单元。单元。解答:解答:MOVMOV DPTR,#1000H DPTR,#1000HMOVXMOVX A,DPTR A,DPTRMOVMOV 20H,A 20H,A6 6程序存储器程序存储器 ROM2000HROM2000H 单元单元的内容送的内容送 R1R1。解答:解答:MOVMOV DPTR,#2000H DPTR,#2000HCLRCLR A AMOVCMOVC A,A+DPTR A,A+DPTRMOVMOV R1,A R1,A7 7 ROM2000H ROM2000H 单元的内容送到单元的内容送到内部内部 RAM20HRAM20H 单元
24、。单元。解答:解答:MOVMOV DPTR,#2000H DPTR,#2000HCLRCLR A AMOVCMOVC A,A+DPTR A,A+DPTRMOVMOV 20H,A 20H,A8 8 ROM2000H ROM2000H 单元的内容送外单元的内容送外部部 RAM30HRAM30H 单元。单元。解答:解答:MOVMOV DPTR,#2000H DPTR,#2000HCLRCLR A AMOVCMOVC A,A+DPTR A,A+DPTRMOVMOV R0,#30H R0,#30HMOVXMOVX R0,A R0,A9 9 ROM2000H ROM2000H 单元的内容送外单元的内容送外
25、部部 RAM1000HRAM1000H 单元。单元。解答:解答:MOVMOV DPTR,#2000H DPTR,#2000HCLRCLR A AMOVCMOVC A,A+DPTR A,A+DPTRMOVMOV DPTR,#1000H DPTR,#1000HMOVXMOVX DPTR,A DPTR,A5 5、设、设 A=5AHA=5AH,R1=30HR1=30H,30H30H=E0H=E0H,Cy=1Cy=1。分。分析以下各指令执行后析以下各指令执行后 A A 的内容以及对标志位的的内容以及对标志位的影响影响 每条指令都以题中规定的原始数据参加操每条指令都以题中规定的原始数据参加操作。作。1 1
26、XCHXCHA A,R1R1;A=30HA=30H2 2 XCHXCH A A,30H30H;A=E0HA=E0H3 3XCHXCH A A,R1R1;A=E0HA=E0H4 4 XCHDXCHD A A,R1R1;A=50HA=50HSWAPSWAPA A;A=A5HA=A5H6 6R1R17 7 ADDADDA=30HA=30H8 8ADDADDA=8AHA=8AH9 9ADDCADDCA=31HA=31HINCINCA A;A=5BHA=5BH1111 SUBBSUBBA=79HA=79H5 5ADDADD A A,30H30H A A,#30H#30H A A,30H30H1010 A
27、 A,30H30H;A=8AHA=8AHA A,;1212SUBBSUBB A A,#30H#30H;A=29HA=29H1313DECDECA A;A=59HA=59HRLRL;A=B2HA=B2HRLCRLCA=B5HA=B5HCPLCPLA=A5HA=A5HCLRCLRA=00HA=00H1818ANLANLA=40HA=40H1919ORLORLA=FAHA=FAHA AA A1414151516161717,30H30H,R1R1;A A A A A A A A2020CRLCRL A A,#30H#30H;A=BAHA=BAH五、问答题五、问答题1 1、在、在 MCS-51MCS-
28、51 单片机中有几种寻址方式单片机中有几种寻址方式?写出每写出每一种寻址方式。一种寻址方式。解答:有解答:有 7 7 种寻址方式,分别是立即寻址方式、种寻址方式,分别是立即寻址方式、直接寻址方式、直接寻址方式、存放器寻址方式、存放器寻址方式、存放器间接寻存放器间接寻址方式、址方式、变址寻址方式、变址寻址方式、相对寻址方式和位寻址相对寻址方式和位寻址方式。方式。2 2什么是堆栈什么是堆栈?解答:解答:堆栈是一个特殊的存储空间,堆栈是一个特殊的存储空间,有一端是固有一端是固定的,称为栈底,另一端是活动的,称为栈项,定的,称为栈底,另一端是活动的,称为栈项,数据的存取是在栈顶进行的。数据的存取是在栈
29、顶进行的。数据的存取遵循先数据的存取遵循先进后出,后进先出的原那么。进后出,后进先出的原那么。3.3.在在 MCS-51MCS-51 单片机的指令系统中,有关堆栈操单片机的指令系统中,有关堆栈操作的指令有哪些作的指令有哪些?解答:解答:PUSHPUSH 和和 POPPOP 指令。指令。4.CJNE4.CJNE 指令的一般格式为:指令的一般格式为:CJNE CJNE操作数操作数 l l,操作数,操作数 2 2relrel简述怎样使用简述怎样使用 CJNECJNE 指令判断两个操作数的大指令判断两个操作数的大小。小。解答:假设操作数解答:假设操作数 1操作数1操作数 2 2,那么进位标志,那么进位
30、标志C=0C=0,否那么,否那么 C=1C=15.5.写出写出 AJMPAJMP 和和 LJMPLJMP 指令的共同点和区别。指令的共同点和区别。解答:解答:共同点是都是无条件转移,共同点是都是无条件转移,转到指定的标转到指定的标号执行程序。号执行程序。区别:区别:(1)(1)转移范围不同,转移范围不同,LJMPLJMP 指令的转移范围为指令的转移范围为64KB64KB,AJMPAJMP 指令的转移范围为指令的转移范围为 2KB2KB。(2)(2)指令字节数不同,指令字节数不同,LJMPLJMP 指令是指令是 3 3 字节指令,字节指令,AJMPAJMP 指令是指令是 2 2 字节指令。字节指
31、令。(3)AJMP(3)AJMP 指令的机器码特殊。指令的机器码特殊。6.6.写出写出 ACALLACALL 和和 LCALLLCALL 指令的共同点和区别。指令的共同点和区别。解答:解答:共同点是都是调用子程序指令,共同点是都是调用子程序指令,转到指定转到指定的标号执行子程序。的标号执行子程序。区别:区别:(1)(1)转移范围不同,转移范围不同,LCALLLCALL 指令的调用范围为指令的调用范围为64KB64KB,ACALLACALL 指令的调用范围为指令的调用范围为 2KB2KB。(2)(2)指令字节数不同,指令字节数不同,LCALLLCALL 指令是指令是 3 3 字节指令,字节指令,
32、ACALLACALL 指令是指令是 2 2 字节指令。字节指令。(3)ACALL(3)ACALL 指令的机器码特殊。指令的机器码特殊。7.RET7.RET 和和 RETIRETI 指令主要有哪些区别指令主要有哪些区别?解答:解答:区别:区别:(1)(1)使用场合不同,使用场合不同,RETRET 指令在子程序中使用,指令在子程序中使用,RETIRETI 指令在中断效劳程序中使用。指令在中断效劳程序中使用。(2)(2)从功能上看,从功能上看,RETRET 指令从堆栈中自动取出断指令从堆栈中自动取出断点地址给点地址给 PCPC,使之返回到调用指令的下一个指,使之返回到调用指令的下一个指令,令,继续执行主程序。继续执行主程序。而而 RETIRETI 指令除了具有指令除了具有 RETRET指令的功能之外,指令的功能之外,还有去除中断响应时被设置的还有去除中断响应时被设置的优先级状态、优先级状态、开放低级中断以及恢复中断逻辑等开放低级中断以及恢复中断逻辑等功能。功能。8.NOP8.NOP 指令的用途是什么指令的用途是什么?解答:常常用于程序的等待或时间的延迟。解答:常常用于程序的等待或时间的延迟。