单片机第3章习题答案
单片机原理及应用第三章习题答案

习题三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章习题解答

第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章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章习题解答

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章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章思考题及习题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章练习

例4 答案 如果累加器A中已有一个加数20, 20 如果累加器A中已有一个加数20,那么能够完 20+ 并把结果送入累加器A的加法指令的: 成20+6并把结果送入累加器A的加法指令的: 二进制形式为 二进制形式为: 0011100000000110B; 十六进制形式为 十六进制形式为: 3806H; 助记符形式为 助记符形式为: ADD A,#06H ;A ←A+06H ,#06H
A 06H
DPTR 00H 20
程序存储器
0000H
× ×
ALU 2006H
34H
图1 如图1所示,这里A具有双重作用, 如图1所示,这里A具有双重作用,在指 令执行前用来存放地址偏移量, 令执行前用来存放地址偏移量,指令执行后 为目的操作数。 为目的操作数。
例2 下述程序功能?
MOV 30H,C 30H ; MOV A,30h A,30h ; MOV C,ACC.7 ; C,ACC.
例11 下述程序功能?
MOV SP ,#60H PUSH 20H PUSH 50H POP 20H ; ;栈底首地址为60H 60H ;SP←SP+1,61H←M1 ;SP←SP+1,62H←M2 ;20←M2,SP←SP-1=61H
例11
已知:(20H)=M1,(50H)=M2编程用堆栈 指令把20H和50H单元中内容相交换。 解:由堆栈所具备的原则,程序为: MOV SP ,#60H ;栈底首地址为60H PUSH 20H ;SP←SP+1,61H←M1 PUSH 50H ;SP←SP+1,62H←M2 POP 20H ;20←M2,SP←SP-1=61H
例3 将片内RAM 56H单元中的内容 将片内RAM 56H单元中的内容 34H送到累加器A 34H送到累加器A中。
单片机第三章习题2

单片机第三章习题2您的姓名: [填空题] *_________________________________8.在MCS-51系列单片机中,减1指令的操作码助记符是()。
[单选题] *A、DEC(正确答案)B、DAC、DIVD、MUL1.片内数据存储器的数据传送指令中,以direct为目的操作数的指令有()。
[单选题] *A、5条(正确答案)B、3条C、6条D、4条2在MCS-51系列单片机中,累加器A清零指令的操作码助记符是( A )。
[单选题] *CLR(正确答案)RLRLCD、RRC3.()用于保存片内RAM单元(低128字节)或特殊功能寄存器的内容。
[单选题] *A、数据传送指令B、数据交换指令C、出栈指令D、进栈指令(正确答案)4.指令ADDC A , @Ri的寻址方式是()。
[单选题] *A、立即寻址B、寄存器寻址C、直接寻址(正确答案)D、寄存器间接寻址5.指令MOVC A ,@A+DPTR的寻址方式是()。
[单选题] *A、直接寻址B、寄存器寻址C、寄存器间接寻址D、变址寻址(正确答案)6.已知(P1)=05H ,()=33H ,执行指令ORL P1 , A后,( P1)等于( C )。
[单选题] *A、05H(正确答案)B、47HC、37HD、27H7.在MCS-51系列单片机中,逻辑与指令的操作码助记符是()。
[单选题] *A、ANL(正确答案)B、ORLC、XRLD、CPL9.MCS-51系列单片机给用户提供了()寄存器间接寻址、变址寻址、相对寻址和位寻址。
[单选题] *A、立即寻址B、直接寻址C、寄存器寻址D、以上都是(正确答案)11.查表指令的操作码助记符是()。
[单选题] *A、MOVXB、MOVC(正确答案)C、PUSHD、MOV12.在MCS-51系列单片机中,空操作指令是()。
[单选题] *A、JZB、NOP(正确答案)C、RETID、RET13.()用于恢复片内RAM单元(低128字节)或特殊功能寄存器的内容。
单片机第3章习题参考答案

第3章习题参考答案3.1(略)3.2(略)3.3(略)3.4指出下列指令源操作数的寻址方式和功能。
1)MOV A,# 40H ;立即寻址。
40H→ A2)MOV A,40H ;直接寻址。
(40H)→ A3)MOV A,@R1 ;寄存器间址。
(R1)→ A4)MOV A,R3 ;寄存器寻址。
R3→ A5)MOVC A,@A+PC ;变址寻址。
(A+PC)→ A6)SJMP LOOP ;相对寻址。
程序转到标号为LOOP的语句处执行。
3.5内部RAM的00H单元的寻址方式:1)直接寻址,MOV A,00H2)因为00H是工作寄存器区,所以还可以寄存器寻址。
MOV A,R0特殊功能寄存器中的操作数的寻址方式:1)直接寻址,MOV A,SP2)部分SFR可以位寻址,MOV C,ACC.73.6变址寻址和相对寻址中的地址偏移量异同:1)变址寻址的偏移量是一个00H ~ FFH范围内的无符号数;相对寻址偏移量是一个带符号的8位二进制补码,范围为-128 ~ +127。
2)变址寻址的偏移量放在累加器A中,相对寻址的偏移量直接在指令中给出。
3)都是将基地址与地址偏移量相加,形成操作数地址。
3.7写出下列指令的机器码,指出指令中50H和66H各代表什么?1)指令50H的含义机器码MOV A,# 50H 源操作数7450HMOV A,50H 源操作数的地址E550HMOV 50H,# 20H 目的操作数的地址755020HMOV C,50H 位地址A250HMOV 50H,20H 目的操作数的地址852050H2)指令66H的含义机器码MOV @R0,# 66H 源操作数7666HMOV R6,#66H 源操作数7E66HMOV 66H,# 45H 目的操作数的地址756645HMOV 66H,C 位地址9266HMOV 66H,R1 目的操作数的地址8966H3.8写出下列指令的机器码,指出下列程序执行后的结果。
1)MOV A,# 60H 机器码:7460HMOV R0,# 40H 7840HMOV @R0,A F6 HMOV 41H,R0 8841HXCH A,R0 C8 H结果:A = 40H,R0 = 60H,(40H)= 60H,(41H)= 40H2)MOV DPTR,# 2003H 机器码:902003HMOV A,# 18H 7418HMOV 20H,# 38H 752038HMOV R0,# 20H 7820HXCH A,@R0 C8H结果:A = 38H,R0 = 20H,(20H)= 18H3.9写出能完成下列数据传送的指令。
单片机原理及接口技术课后答案第三章

单⽚机原理及接⼝技术课后答案第三章第三章1、指令:CPU根据⼈的意图来执⾏某种操作的命令指令系统:⼀台计算机所能执⾏的全部指令集合机器语⾔:⽤⼆进制编码表⽰,计算机能直接识别和执⾏的语⾔汇编语⾔:⽤助记符、符号和数字来表⽰指令的程序语⾔⾼级语⾔:独⽴于机器的,在编程时不需要对机器结构及其指令系统有深⼊了解的通⽤性语⾔2、见第1题3、操作码 [⽬的操作数] [,源操作数]6、 MOV A,40H ;直接寻址(40H)→AMOV R0,A;寄存器寻址(A)→R0MOV P1,#0F0H ;⽴即数寻址0F0→P1MOV @R0,30H;直接寻址(30H)→(R0)MOV DPTR,#3848H;⽴即数寻址 3848H→DPTRMOV 40H,38H;直接寻址(38H)→40HMOV R0,30H;直接寻址(30H)→R0MOV P0,R0;寄存器寻址( R0 )→P0MOV 18H,#30H ;⽴即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址 ((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、⽤直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;⽴即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;⽴即数寻址3字节2周期如果想查某⼀指令的机器码,字节数或周期数可查阅书本后⾯的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、⽤直接寻址,位寻址,寄存器寻址11、只能采⽤寄存器间接寻址(⽤MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)⾼128字节:直接寻址,位寻址,寄存器寻址13、采⽤变址寻址(⽤MOVC指令)14、压缩BCD码在进⾏加法运算时应逢⼗进⼀,⽽计算机只将其当作⼗六进制数处理,此时得到的结果不正确。
(完整版)单片机原理与应用技术江力版第三四六章答案

第三章作业参考答案3-10. 己知(A)=7AH,(R0)=34H,(34H)=A5H,请写出分别执行下面各条指令后累加器A的内容。
(1) MOV A,R0 ;(A)=34H(2) MOV A,@R0 ;(A)=A5H(3) MOV A,34H ;(A)=A5H(4) MOV A,#34H ;(A)=34H3-12. 1设(R0)=32H,(A)=48H,片内RAM中(32H)=60H,(40H)=61H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ; (A)=(32H)=60HMOV @R0,40H ; (32H)=61HMOV 40H,A ; (40H)=(A)=60HMOV R0,#40H ; (R0)=40H即:执行完程序段后,(R0)=40H, (A)=60H, 片内RAM中,(32H)=61H, (40H)=60H3-13已知(A)=83H,(R0)=47H,(47H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,47H ;(A)=83H∧34H=00HORL 47H,A ;(47H)=34H∨00H=34HXRL A,@R0 ;(A)=00H34H=34HSWAP A ;(A)=43H答:执行完程序段后,(A)=43H3-14 14. 说明下段程序执行过程中,SP的内容及堆栈中内容的改变过程。
MOV SP,#30H ;(SP)=30HMOV 30H,#55HMOV 40H,#66HPUSH 30H ;(SP)=31H, 堆栈区中(31H)=55HPUSH 40H ;(SP)=32H, 堆栈区中(32H)=66HPOP 30H ;先将堆栈区中32H单元的内容送入30H单元,使(30H)=66H, 再使;SP值减1,即: (SP)=31HPOP 40H ;先将堆栈区中31H单元的内容送入40H单元,使(40H)=55H, 再使;SP值减1,即: (SP)=30H最终,(SP)=30H, 内部RAM中,(30H)=66H, (40H)=55H.3-15编程实现两个16位二进制数的减法。
单片机原理与运用-第三章答案

第三章单片机的汇编语言与程序设计习题1.设内部RAM中59H单元的内容为50H,写出当执行以下程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOV A,59HMOV R0,AMOV A,#00HMOV @R0,AMOV A,#25HMOV 51H,AMOV 52H,#70H解:MOV A,59H ;A=50HMOV R0,A ;RO=50HMOV A,#00H ;A=00HMOV @R0,A ;50H=00HMOV A,#25H ;A=25HMOV 51H,A ;51H=25HMOV 52H,#70H ;52H=70H所以:A=25H R0=50H ;50H=00H 51H=25H2.请选用合适的指令对P0口内容做修改〔〕。
解:MOV A,P0ANL A,0fhMov P0,A3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
解:访问外部数据存储器指令有:MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,AMOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTRMOVX A,@Ri MOVX A,@R0MOVX @Ri,A MOVX @RI,A访问程序存储器指令有:MOVX A,@A+PCMOVX A,@A+DPTR4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行以下程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30HPUSH 31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH解:PUSH 30H ;61H=24HPUSH 31H ;62=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH5.设(A)=40H,(R1)=23H,(40H)=05H。
(完整版)单片机原理及应用第四版林立第三章习题答案

第三章选择题(1)指令中包含“@Ri”或“@DPTR”形式操作数的寻址方式称为寄存器______。
A.变址寻址B.间接寻址C.直接寻址D.立即寻址(2)能实现“先将操作数减1,若结果仍不为零则转移到目标地址”功能的汇编操作码是______。
A.DJNZ B.CJNE C.LJMP D.MOVX,执行下列第______项指令后可使其第3位置1。
(3)已知P0 = #23H,执行下列第A.ADD P0,#34H B.ANL P0,#3BH C.ORL P0,#3BH D.MOV P0,#34H (4)下列指令中,能访问外部数据存储器的正确指令为______。
A.MOV A,@DPTRB.MOVX A,Ri C.MOVC A,@A+DPTRD.MOVX A,@Ri (5)80C51汇编语言指令格式中,唯一不可缺少的部分是______。
A.标号B.操作码C.操作数D.注释(6)下列完成80C51片内RAM数据传送的指令是______。
A.MOVX A,@DPTRB.MOVC A,@A+PC C.MOV A,@RiD.JMP @A+DPTR (7)80C51的立即寻址的指令中,立即数就是______。
A.放在寄存器R0中的内容B.放在指令中的常数C.放在A中的内容D.放在B中的内容(8)指令JB 0E0H,LP 中的0E0H是指______。
A.累加器AB.累加器A的最高位C.累加器A的最低位D.一个字节地址(9)下列指令中条件转移指令是指______。
A.AJMP addr11B.SJMP rel C.JNZ relD.LJMP addr16(10)80C51指令MOV R0,20H中的20H是指______。
A.立即数B.内部RAM中的字节地址C.内部RAM中的位地址D.内部ROM中的字节地址(11)在80C51指令中,下列指令______是无条件转移指令。
A.LCALL addr16B.DJNZ direct,relC.SJMP relD.ACALL addr11(12)设A=0AFH,(20H)=81H,指令ADDC A,20H执行后的结果是______。
单片机第三章作业参考答案

MOV A, #78H;立即寻址,将立即数送入累加器AMOV A, 78H;直接寻址,将内部RAM 78H单元内容送累加器AMOV A, R6;寄存器寻址,将R6内容送累加器AINC @R0;寄存器间接寻址,将指针R0指向的内部RAM单元内容加1PUSH ACC;寄存器寻址,将累加器A的内容入栈RL A;寄存器寻址,将累加器A的内容左移1位CPL 30H;位寻址,将位变量30H的内容取反SJMP $;相对寻址,死循环指令MOVC A, @A+DPTR;基寄存器加变址寄存器间接寻址,从程序存储器中DPTR+A对应的地址单元取数到累加器A1.指出下列指令中哪些是非法的DEC DPTRMOV A, @R2MOV R1, @R0MOV , 30HMOV #30H, AMOV OV, 30HMOV A, @A+DPTRRRC 30HRL BXRL C, 30H2.如何将1个立即数30H送入内部RAM 90H单元如何将立即数送特殊功能寄存器P1(1)MOV R0, #90HMOV @R0, #30H(2)MOV P1, #30H3.执行下列一段程序后,试分析有关单元内容。
MOV PSW, #0;MOV R0, #30H;MOV 30H, #40HMOV 40H, #50MOV A, @R0ADDC A, #0CEHINC R0执行结果:(R0)=31H, (30H)=40H, (40H)=50, (A)=0EH, (PSW)=81H4.试编写一段程序,内部RAM 40H、41H单元内容传送到外部RAM 2000H、2001H单元中。
MOV DPTR, #2000HMOV R0, #40HMOV A, @R0MOVX @DPTR, AINC R0INC DPTRMOV A, @R0MOVX @DPTR, A5.试编写一段程序,根据累加器A的内容,到程序存储器1000H起始的表格中取一双字节数,送内部RAM 50H、51H单元。
单片机原理及应用第三张毅刚课后习题答案完整版

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S52单片机工作频率上限为 MHz。
答:33 MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。
错6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对四、简答1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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的内容互换。