单片机第3章习题答案
- 格式:doc
- 大小:62.00 KB
- 文档页数:7
习题三1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM 可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。
片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。
片外RAM寻址有:寄存器间接寻址方式。
2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR 间接寻址有什么区别?答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。
例如:20H2.字节地址带位号。
例如:20H.3表示20H单元的3位。
3.特殊功能寄存器名带位号。
例如:P0.1表示P0口的1位。
4.位符号地址。
例如:TR0是定时/计数器T0的启动位。
4.写出完成下列操作的指令。
(1)R0的内容送到R1中。
MOV A,R0MOV R1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。
MOV 40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。
MOV A,30HMOV R0,#50HMOVX @R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H 单元中。
MOV A,50HMOV DPTR,#3000HMOVX @DPTR,A(5)片外RAM的2000H单元内容送到片内RAM的20H 单元中。
MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H 单元中。
MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#4000HMOV @DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。
单片机,第三章答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March思考题:【3-1】汇编语言与C语言哪种语言的可读性和可移植性强在对速度和时序敏感的场合应该使用什么语言对于复杂的单片机系统一般采用C与汇编混合编程的形式这句话对吗【3-2】二进制机器语言与C和汇编语言两者之间是什么关系用C或汇编编制的程序在ROM中是以编译后的二进制代码的形式存放这句话对吗【3-3】80C51系列单片机指令的格式包含哪几个部分各部分之间的间隔符是什么四个部分中哪个部分是必须存在的,哪几个部分是可有可无的标号的格式和代表的意义是【3-4】80C51系列单片机有哪几种寻址方式【3-5】80C51单片机中立即数是存放在ROM中还是RAM中【3-6】判断下列说法是否正确。
(1)立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。
()(2)指令周期是执行一条指令的时间。
()(3)指令中直接给出的操作数称为直接寻址。
()(4)内部寄存器Rn(n=0~7)可作为间接寻址寄存器。
()【3-7】80C51单片机可以进行直接寻址的区域是【3-8】80C51单片机可以进行寄存器寻址的范围是【3-9】80C51单片机可以进行寄存器间接寻址的寄存器是寻址的范围是【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的()。
【3-11】80C51单片机变址寻址方式中可以作基址的寄存器是可以作变址的寄存器是@A+PC,@A+DPTR所找到的操作数是在ROM中对吗【3-12】80C51单片机相对寻址改变的是PC的当前值,即改变的CPU执行指令的顺序这句话对否【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式【3-14】若访问外部RAM单元,只可以使用哪种寻址方式【3-15】若访问内部RAM单元,可使用哪些寻址方式【3-16】若访问内外程序存储器,可使用哪些寻址方式【3-17】80C51单片机可以进行位寻址的字节单元范围除11个可位寻址的特殊功能寄存器外还包括哪个区域分别找出位地址是00H、08H、22H、7FH、D0H、E0H对应的字节地址【3-18】已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=0EFH,试写出执行以下程序段后有关单元的内容。
第3章思考题及习题31.C51在标准C的基础上,扩展了哪几种数据类型?答:扩展了4种数据类型(见教材表3-1中最后4行)。
它们分别是:bit、sfr、sfr16和sbit。
2.C51有哪几种数据存储类型?其中数据类型“idata,code,xdata,pdata”各对应AT89S8051单片机的哪些存储空间答:C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。
数据存储类型idata对应片内RAM的256字节。
数据存储类型code对应程序存储区。
数据存储类型xdata对应片外64KB的RAM空间。
数据存储类型pdata对应片外RAM的256字节。
3.bit与 sbit定义的位变量有什么区别?答:bit是用来定义普通的位变量,它的值只能是二进制的0或1。
而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。
4.说明3种数据存储模式(1)SMALL模式(2)COMPACT模式(3)LARGE模式之间的差别。
答:3种数据存储模式之间的差别如下:(1)SMALL模式。
在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。
在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM。
(2)COMPACT模式。
本模式下的所有变量都默认在外部数据存储器的1页(256字节)内,这与使用pdata指定存储器类型是一样的。
该存储器类型适用于变量不超过256字节的情况,此限制是由寻址方式决定的,相当于使用数据指针@Ri进行寻址。
与SMALL模式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE模式快。
(3)LARGE模式。
在LARGE模式下,所有变量都默认位于外部数据存储器,相当于使用数据指针@DPTR进行寻址。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
1.设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:X, X>0Y= 20H, X=0X+5, X<0编程根据x的值求y值并放回原单元。
答:START:MOV A,30HJZ NEXTANL A,#80HJZ EDMOV A,#05HADD A,30HMOV 30H,ASJMP EDNEXT:MOV 30H,#20HED:SJMP $2.MCS-51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?答:立即寻址对应程序存储器直接寻址对应内部数据存储器和SFR寄存器寻址对应工作寄存器R0~R7,A,B,DPTR寄存器间接寻址对应片内RAM:@R0,@R1,SP,片外RAM:@R0,@R1,@DPTR变址寻址对应程序存储器:@A+PC,@A+DPTR相对寻址对应程序存储器256字节范围内:PC+偏移量位寻址对应片内RAM的位寻址区(20H~2FH字节地址),某些可位寻址的SFR 3.访问特殊功能寄存器SFR可以采用哪些寻址方式?答:直接寻址方式和位寻址方式4.访问片内RAM单元可以采用哪些寻址方式?答:直接和间接寻址方式5.访问外部RAM单元可以采用哪些寻址方式?答:间接寻址方式6.访问外部ROM可以采用哪些寻址方式?答:立即、变址和相对寻址方式7.为什么说布尔处理功能是8051单片机的重要特点?答:因为8051具有位寻址功能8.对于AT89S52单片机内部RAM还存在高128字节,应采用何种方式访问?答:采用间接寻址方式9.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令。
(1)将R0的内容传送到R1;(2)内部RAM单元50H的内容传送到寄存器R4;(3)外部RAM单元2000H的内容传送到内部RAM单元70H;(4)外部RAM单元0800H的内容传送到寄存器R5;(5)外部RAM单元2000H的内容传送到外部RAM单元2100H。
第三章习题参考答案一、填空题1、指令格式是由操作码和操作数所组成,也可能仅由操作码组成。
2、若用传送指令访问MCS-51的程序存储器,它的操作码助记符应为MOVC 。
3、若用传送指令访问MCS-51的片内数据存储器,它的操作码助记符应为MOV 。
4、若访问MCS-51的片外数据存储器,它的操作码助记符应为MOVX 。
5、累加器(A)=80H,执行完指令ADD A,#83H后,进位位C= 1 。
6、执行ANL A,#0FH指令后,累加器A的高4位= 0000 。
7、JZ rel的操作码地址为1000H,rel=20H,它的转移目的地址为1022H 。
8、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H 。
9、累加器(A)=7EH,(20H)= #04H,MCS-51执行完ADD A,20H指令后PSW.0= 0 。
10、MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。
11、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H →PC。
12、MOVX A,@DPTR源操作数寻址方式为寄存器间接寻址。
13、ORL A,#0F0H是将A的高4位置1,而低4位保持不变。
14、SJMP rel的指令操作码地址为0050H,rel=65H,那么它的转移目标地址为 00B7H 。
15、设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为2080H 。
16、MOV C,20H源寻址方式为位寻址。
17、在直接寻址方式中,只能使用8 位二进制数作为直接地址,因此其寻址对象只限于片内RAM 。
18、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
19、在变址寻址方式中,以 A 作变址寄存器,以PC 或DPTR 作基址寄存器。
20、假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器1031H 单元的内容送入累加器A中。
习题与思考题3-8 按要求写出相应的指令。
(1)把寄存器R6的内容送到累加器A中。
(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。
(3)清除内部RAM 3FH 单元的高4位。
(4)使累加器A的最低位置1。
(5)清除进位位。
(6)使ACC.4和ACC.5置1。
(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。
(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。
答案:(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。
(1)将寄存器R0中的内容乘以10(积小于256)。
(2)将片内RAM 30H单元开始的15个字节的数据传送到片外RAM 3000H开始的单元中。
(3)将片外RAM 2000H开始的5个字节的数据传送到片内RAM 20H开始的单元中。
(4)有10个字节的二进制数存放在片内RAM以40H开始的单元内,编程找出其中的最大值并存于内部50H单元中。
(5)将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。
(6)将外部RAM 2040H单元的内容与3040H单元的内容互换。
答案:(1) MOV B,#0AHMOV A,R0MUL ABMOV R0,A(2) ORG 0000HMOV R0,#30HMOV DPTR,#3000HMOV R7,#0FHLOOP: MOV A,@R0MOVX @DPRT,AINC R0INC DPTRDJNZ R7,LOOPSJMP $END(3) MOV DPTR,#2000HMOV R0,#20HMOV R7,#05HLOOP: MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R7,LOOPEND(4) ORG 0000HMOV A,40H;A寄存器放最大值,且初始化最大值(默认第一个数)MOV R3,#09H;比较次数MOV R0,#41HSTART: CJNE A,@R0,LOOPLOOP: JNC LOOP1;如果比A小,则跳转到LOOP1MOV A,@R0;如果比A大,则更新A的值LOOP1: INC R0DJNZ R3 STARTMOV 50H,ASJMP $END(5) MOV DPTR,#20000HMOV R1,#0BHLOOP: MOVX A,@DPTRANL A,#0FHMOVX @DPTR,AINC DPTRDJNZ R1,LOOPSJMP $(6) MOV DPTR,#2040HMOVX A,@DPTRMOV R0,#20HMOV @R0,AMOV DPTR,#3040HMOVX A,@DPTRXCH @R0,AMOVX @DPTR AMOV A,@R0MOV DPTR,#2040HMOVX @DPTR,A3-15 设有一带符号的十六位数以补码形式存放在R2、R3寄存器中,试编制求其原码的程序。
一.指出指令中哪些是非法指令?(正确的打√,错的打×)MOV A,R7 (√)ADDC B,R6(×)SETB 30H.0(×)MOV R5,R2 (×)SUBB A,@R1(√)CJNE @R0,#64H,LABEL(√)MOV A,@R0 (√)PUSH R6(×)DJNZ @R0,LABEL(×)MOV SBUF,@R1(√)PUSH B (√)RR B(×)MOV R7,@R1(×)POP @R1 (×)RLC A(√)MOV @R2,#64H (×)ANL R7,A (×)CLR A(√)DEC DPTR (×)ORL A,R7(√)CLR B(×)INC DPTR (√)XRL C,ACC.5(×)MOVX @R0,PSW(×)二.判断正误题(正确的打√,错的打×)(×)1.程序计数器PC和数据指针DPTR均是可寻址的16位专用寄存器。
(√)2.PSW.4=1,PSW.3=0选中2区工作寄存器。
(×)3.指令MOV @R0, A 的源操作数属于寄存器寻址。
(×)4.假设晶振频率fosc=6MHz,则执行指令MOV A,R0 需4us。
(√)5.查表指令MOVC A,@A+PC的查表地址范围是当前指令以下的256字节。
(√)6.单片机是一种微型计算机。
(×)7.MCS-51单片机的I/O口编址和存储器编址是独立的。
(√) 8.MCS-51单片机共有111条指令,7种寻址方式。
(×)9.Intel 8031 单片机内部有4kBROM。
三.阅读程序1.执行MOV A,#12HCLR CSUBB A,#15H后(A)=_FDH______(Cy)= 1 (OV)= 0 (P)= 1 (AC)=__1______2.执行MOV A,#34HADD A,#39H后(A)=_6DH______继续执行DA A后(A)=73H______3.若(30H)=56H ,(40H)=60H ,(50H)=78H ,执行下列指令后PUSH 30HPUSH 40HPUSH 50HPOP 30H (30H)=78H_________POP 40H (40H)=_60H________POP 50H (50H)=_56H________4.MOV A,#10HMOV DPTR,#3100HMOV R0,#30HMOV 31H,#89HMOV @R0,#1FH 整个程序执行后XCHD A,@R0 (A)= 98H_______MOV R0,31H (R0)=_89H________XCH A,31H (30H)=_10H________MOVX @DPTR,A (31H)=__1FH_______SWAP A (3100H)=89H_________END5.3000H SJMP LOOP300AH LOOP: MOV A,#30H已知SJMP LOOP 指令(PC)源=3000H, (PC)目=300AH,求该指令第二个字节rel为__08H_______。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
第3章思考题及习题3参考答案一、填空1.访问SFR,只能使用寻址方式。
答:直接.2.指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
3.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR4.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H5.在AT89S52中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据6.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 .答:地址7.下列程序段的功能是。
答:A的内容与B的内容互换。
PUSH AccPUSH BPOP AccPOP B8.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH.下述程序执行后, (A)= ,(SP)= ,(51H)= ,(52H)= ,(PC)=。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H9.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)= .ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
10.假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)= ,(R3)= .答:(A)=00H,(R3)=0AAH。
11.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)= ,(DPL)= ,(SP)= 。
第3章习题答案一、选择题1.在中断服务程序中,至少应该有一条( D )。
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。
(A)MOV (B)MOVC (C)MOVX (D)以上都行3.JNZ rel指令的寻址方式是( C )。
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。
(A)保护PC (B)PC←1020H(C)保护现场(D)PC+3入栈,PC←1020H5.下面哪条指令产生WR信号( D )。
(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。
(A)(SP)←(SP)+1,((SP))←(ACC)(B)(SP)←(ACC),((SP))←(SP)-1(C)(SP)←(SP)-1,((SP))←(ACC)(D)((SP))←(ACC),(SP)←(SP)+17.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。
(A)C (B)F0 (C)OV (D)P8.指令AJMP的跳转范围是( C )。
(A)256B (B)1KB (C)2KB (D)64KB9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量10.执行返回指令时,返回的断点是( C )。
(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址二、填空题:1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。
2.MOV A,20H源寻址方式为直接寻址。
3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。
4.JZ rel的操作码首地址为1000H,rel=20H,它的转移目的地址为1022H 。
5.若R7的初值为00H的情况下,DJNZ R7,rel指令将循环执行 256 次。
6.SJMP rel的指令操作码首地址为0050H,rel=65H,那么它的转移目的地址为00B7H 。
7.指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H 入栈,37B0H→PC。
8.RET是子程序指令,RETI是中断返回指令。
9.ORL A,#0F0H是将A的高4位置1,而低4位不变。
10.堆栈是在RAM中设定的存储区,栈底是固定的,栈顶是浮动的,存取数据的规则是先入后出,后入先出。
11.假定(A)=85H,(R0)=40H,(40H)=0AFH。
执行指令:ADD A,@R0后,累加器A的内容为 38H ,CY的内容为 1 ,AC的内容是 1 ,OV的内容是 1 。
12.MCS-51的2条查表指令是MOVCA,@A+DPTR 和MOVC A,@A+PC 。
13.在MCS-51中PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
14.假定(A)=)0A5H,执行指令:SWAP A后,累加器A的内容为 5AH 。
15.执行下列指令序列后,所实现的逻辑运算式为C=P1.0*P1.1*/P1.2 。
MOV C,P1.0ANL C,P1.1ANL C,/P1.2MOV P3.0,C三.简答题1. 判断下列指令的正误:()(1)MOV @R1,#80H (√)(2)MOV R7,@R1 (╳)(3)MOV 20H,@R0 (√)(4)MOV R1,#0100H (╳)(5)CLR R4 (╳)(6)SETB R7.0 (╳)(7)MOV 20H,21H (√)(8)ORL A,R5 (√)(9)ANL R1,#0FH (√)(10)XRL P1,#31H (√)(11)MOVX A,2000H (╳)(12)MOV 20H,@DPTR (╳)(13)MOV A,DPTR (╳)(14)MOV R1,R7 (╳)(15)PUSH DPTR (√)(16)POP 30H (√)(17)MOVC A,@R1 (╳)(18)MOVC A,@DPTR (╳)(19)MOV @DPTR,#50H (╳)(20)RLC B (╳)(21)ADDC A,C (╳)(22)MOVC @R1,A (╳)(23)DEC DPTR (╳)(24)SUBB B,A (╳)(25)MUL A,B (╳)(26)INC B (√)(27)ADDC ACC,#30H (╳)(28)RLC 30H (╳)(29)MOV R1,C (╳)(30)CLR 25H (√)(31)LJMP DEC (╳)(32)LACLL ABC1 (╳)(33)JZ #30H (╳)(34)JBC 0FFH,LL1 (╳)(35)JB P,LOOP (√)(36)DJNZ @R1,NEXT (╳)(37)DJNE R1,LAST (╳)(38)DJNZ DPTR,LOOP (╳)(39)CJNZ A,#30H,NEXT (√)(40)CJNE R7,30H,ABC (╳)2.说明下列指令中源操作数和目的操作数的寻址方式。
(1)ADD A,30H源操作数:寄存器寻址目的操作数:直接寻址(2)MOV 30H,20H源操作数:直接寻址目的操作数:直接寻址(3)MOV A,@R0源操作数:寄存器寻址目的操作数:寄存器间接寻址(4)MOVX @R1,A源操作数:寄存器间接寻址目的操作数:寄存器寻址(5)SJMP $相对寻址(6)MOV R0,#20H源操作数:寄存器寻址目的操作数:立即寻址(7)ORL C,00H源操作数:位寻址目的操作数:位寻址(8)MOV DPTR,#2000H源操作数:寄存器寻址目的操作数:立即寻址(9)MOVC A,@A+PC源操作数:寄存器寻址目的操作数:变址寻址(10) ANL 20H,#30H源操作数:直接寻址目的操作数:立即寻址(11) ANL C,/30H源操作数:位寻址目的操作数:位寻址(12) CPL C位寻址(13) CPL A寄存器寻址(14) CPL 20H位寻址(15)ADD A,@R1源操作数:位寻址目的操作数:直接寻址(15) MOVC A,@A+DPTR源操作数:寄存器寻址目的操作数:变址寻址(16) DJNZ R0, rel源操作数:寄存器寻址目的操作数:相对寻址(17) SETB 00H位寻址(18) CJNE A,#00H,rel寄存器寻址、立即寻址、相对寻址(20)INC DPTR寄存器寻址3.设A=5AH,R1=30H,(30H)=0E0H,Cy=1。
分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。
(1)XCH A,R1 ;A=30H,(2)XCH A,30H;A=0E0H(3)XCH A,@R1;A=0E0H(4)XCHD A,@R1;A=50H(5)SWAP A ;A=0A5H(6)ADD A,R1;A=5DH,Cy=0,Ac=0,OV=0(7)ADD A,30H;A=3AH, Cy=1,Ac=0,OV=0(8)ADD A,#30H;A=8AH, Cy=0,Ac=0,OV=0(9)ADDC A,30HA=3BH, Cy=1,Ac=0,OV=0(10)INC AA=5BH(11)SUBB A,30HA=79H, Cy=1,Ac=0,OV=0(12)SUBB A,#30HA=29H, Cy=0,Ac=0,OV=0(13)DEC AA=59H(14)RL AA=0B4H(15)RLC AA=0B5H(16)CPL AA=0A5H(17)CLR AA=00H(18)ANL A,30HA=50H(19)ORL A,@R1A=0FAH(20ORL A,#30HA=6AH4.分步写出下列程序每条指令的运行结果。
(1) MOV SP,# 40H;SP=40HMOV A,#20H;A=20HMOV B,#30H;B=30HPUSH A;SP=41H,(41H)=20HPUSH B;SP=42H,(42H)=30HPOP A;A=30H;SP=41HPOP B;B=20H;SP=40H(2) MOV A,#83H;A=83HMOV R0,#47H;R0=47HMOV 47H,#34H;(47H)=34HANL A,#47H;A=03HORL 47H,A;47H=37HXRL A,@R0;A=32H(3) MOV R0,#00H;R0=00HMOV A,#20H;A=20HMOV B,#0FFH;B=0FFHMOV 20H,#0F0H;(20H)=0F0HXCH A,R0;A=00H,R0=20HXCH A,B;A=0FFH,B=00HXCHD A,@R0,A=0F0H(4) MOV A,#45H;A=45HMOV R5,#78H;R5=78HADD A,R5;A=0ADHDA A;A=23H四、应用题1.请用数据传送指令来实现下列要求的数据传送。
(1)R0的内容输出到R1MOV A,R0MOV R1,A(2)内部RAM20H单元的内容传送到A中。
MOV A,20H(3)外部RAM30H单元的内容送到R0。
MOV R1,#30HMOVX A,@R1MOV R0,A(4)外部RAM30H单元的内容送内部RAM20H单元。
MOV R1,#30HMOVX A,@R1MOV 20H,A(5)外部RAM1000H单元的内容送内部RAM20H单元。
MOV DPTR,#1000HMOVX A,@DPTRMOV 20H,A(6)程序存储器ROM2000H单元的内容送R1。
MOV A,#00HMOV DPTR,#2000HMOVC A,@A+DPTRMOV R1,A(7)ROM2000H单元的内容送到内部RAM20H单元。
MOV A,#00HMOV DPTR,#2000MOVC A,@A+DPTRMOV 20H,A(8)ROM2000H单元的内容送外部RAM30H单元。
MOV A,#00HMOV DPTR,#2000MOVC A,@A+DPTRMOV R0,#30HMOVX @R0,A(9)ROM2000H单元的内容送外部RAM1000H单元。
MOV A,#00HMOV DPTR,#2000MOVC A,@A+DPTRMOV DPTR,#1000HMOVX @DPTR,A(10)立即数40H送到内部RAM40H单元。
MOV 40H,#40H2.试分别用三种方法实现数据交换:R0与50H的内容互换。