第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx

上传人:b****5 文档编号:21615353 上传时间:2023-01-31 格式:DOCX 页数:24 大小:30.05KB
下载 相关 举报
第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx_第1页
第1页 / 共24页
第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx_第2页
第2页 / 共24页
第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx_第3页
第3页 / 共24页
第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx_第4页
第4页 / 共24页
第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx

《第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。

第3章MCS51系列单片机的指令系统和汇编语言程序Word文档下载推荐.docx

(2)MOV@R0,A

(3)MOVA,廿90H

(4)MOVA,90H

(5)MOV80H,廿81H

(6)MOVX@R0,A

(7)PUSHA

(8)SWAPA

(g)XCHA,R0

1.15已知:

(A)=02H,(Rl)=7FH,(DPTR)=2FFCH,片内RAM(7FH)=70H,片外RAM(FFEH)=llH,ROM(FFEH)=64H,试分别写出下列指令的机器码及执行各条指令的结果。

(l)MOVA,@Rl

(2)MOVX@DPTR,A

(3)MOVCA,@A+DPTR

(4)XCHDA,@Rl

1.16已知:

(A)=78H,(Rl)=78H,(B)=04H,C=l,片内RAM(78H)=DDH,片内RAM(80H)=6CH,试分别写出下列指令的机器码及执行各条指令的结果(如涉及标志位,也要写出)。

(l)ADDA,@Rl

(2)ADDCA,78H

(3)SUBBA,#77H

(4)INCRl

(5)DEC78H

(6)MULAB

(7)DIVAB

(8)ANL78H,#78H

(9)ORLA,#0FH

(10)XRL80H,A

17已知:

C=0,累加器和Rl内容分别为无符号数甲和乙,间:

执行指令ADDCA,

Rl后,进位位、符号位和溢出位将各为何值?

累加器的内容为何,该如何读取?

(1)甲为02H,乙为FFH

(2)甲为02H,乙为F0H

18已知:

C=0,累加器和Rl内容分别为补码表示的带符号数甲和乙,间:

执行指令

ADDCA,Rl后,进位位、符号位和溢出位将各为何值?

(1)甲为78H,乙为05H

(2)甲为88H,乙为FBH

(3)甲为78H,乙为69H

(4)甲为88H,乙为97H

(5)甲为7FH,乙为FEH

(6)甲为7FH,乙为80H

19已知:

执行指令STTBBA,Rl

后,进位位、符号位和溢出位将各为何值?

(2)甲为FFH,乙为02H

20已知:

C=0,累加器和Rl内容分别为补码表示的带符号数甲和乙,问:

SUBBA,R1后,进位位、符号位和溢出位将各为何值?

(1)甲为02H,乙为0lH

(2)甲为0lH,乙为02H

(3)甲为FFH,乙为FFH

(4)甲为FEH,乙为FFH

(5)甲为04H,乙为FFH

(6)甲为FFH,乙为04H

(7)甲为7FH,乙为ClH

(8)甲为ClH,乙为7FH

21请对下列各组数分别计算"

与"

、"

或"

异或"

的结果:

(1)10011010和00001111

(2)11010011和01011010

(3)11001100和00110011

(4)10101010和11111111

22为达到下列要求,请说明应采用何种逻辑操作、采用什么操作数。

要求不得改变各未涉及位的内容。

(1)使累加器的最低位置"

1"

(2)清除累加器的高4位

(3)使A.2和A.3置"

(4)清除A·

.3、A.4、A.5、A.6

93请总结运用"

指令对字节内容进行修改的各种办法。

94写出下列各条指令的机器码,并逐条写出依次执行每一条后的结果和PSw的内容:

(l)CLRA

(2)MOVA,#9BH

(3)MOvB,#0AFH

(4)ADDA,B

3,1·

95请详细说明RET和RETI这两条指令的区别。

96已知:

(A)=0,(Rl)=40H.片内RAM(30H)=0lH,FIRST=2000H,SECOND

=2050H,试分别写出下列指令的机器码及执行各条指令的结果:

(l))FIRST:

AIMPSECOND

(2)FIRST:

LIMPSECOND

(3)FIRST.SIMPSECOND

(4)FIRST.JZSECOND

C5)FIRST:

CINEA,30H,SECOND

(6)FIRST:

LCALLSECOND

(7)SECOND:

DJNZRl,FIRST

97已知:

P1.7=1,A.0=0,C=l,FIRST=l000H,SECOND=l020H,试分别写出

下列指令的机器码及执行各条指令的结果:

(l)MOV26H,C

(2)CPLA.0

(3)CLRPl.7

(4)ORLC,/P1.7

(5)FIRST:

lCSECOND

JNBA.0,SECOND

JBCPl.7,FIRST

28要选用工作寄存器3组,请采用三种不同的指令实现之。

29列举三种能使累加器A内容清零的指令,并比较其优、缺点。

3016位地址共涉及两个字节,请统计在哪些场合按照"

先低后高"

规则处理,哪些场合却按照"

先高后低"

规则。

31分组讨论:

(1)算术操作类指令对标志位的影响。

(2)逻辑操作类指令对字节内容的修改。

(3)程序转移类指令长转移、绝对转移、短转移、绝对转移与相对转移、无条件转移与

条件转移的区分;

绝对转移指令机器码与转移范围的确定;

相对转移指令相对偏移量的计算;

散转指令的查表转移;

调用与返主指令的堆栈操作;

比较转移指令的格式与功用。

(4)位操作类指令中直接寻址位的表示方式。

39请统计MCS一51系列单片机有哪些指令可用于数据输入与输出?

33请统计MCS一51系列单步机有哪些指令可用于修改并行I/O口端口寄存器的内

容?

34综述MCS一51系列单片机指令系统的特点、所长和所短。

已学Z80的学生,试比较两种指令系统的优、缺点。

35请按MCS一51系列单片机指令的大类,分别统计其单字节、双字节、三字节指令数和单周期、双周期、四周期指令数。

36试按图3-1所示的格式,整理出MCS一51系列单片机各种指令的速查表(由机器码的第一字节查指令,或倒查)。

1.37请解释下列名词:

机器码助记符操作码操作数源程序

目标程序汇编指令汇编程序汇编语言

汇编语言程序汇编机器汇编人工汇编

1.38经过汇编后,下列各条语句的标号将是什

么数值?

ORG2000H

TABLE:

DSl0

WORD:

DSl5,20,25,30

FANG:

EQUl000H

BEGIN:

MOVA,R0

39下列程序段经汇编后,从2000H开始的各

有关存储单元的内容将是什么?

TAB:

DS5

DB10H,10

DW2100H

ORG2050H

DWTAB

DB"

WORK"

40下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么?

ORGl000H

TABl:

EQU1234H

TAB2:

EQU3000H

START"

DWTABl,TAB2

2汇编语言程序

1综述汇编语言程序的书写格式。

2要将片内RAM0FH单元的内容传送去专用寄存器B,对OFH单元的寻址可有三种

办法:

(l)R寻址

(2)R间址(3)direct寻址

请分别编出相应程序,比较其字节数、机器周期数和优缺点。

3设(R0)=7EH,(DPTR)=l0FEH

片内RAM7E单元的内容为0FFH

7F单元的内容为38H

试为下列程序的每条指令注释其执行结果。

INC@R0

INCR0

INCDPTR

TNCDPTR

4试编程:

引用"

运算,判断某8位二进制数是奇数还是偶数。

5试编程:

运算,使任意8位二进制数

的符号位必为"

6请思考:

运算,怎样可使一带符号

数的符号位改变、数据位不变;

怎样可使该数必然变

"

0"

7要选择工作寄存器组,可有几种编程办法?

8某压力测试的线性处理程序如下,如A/D转换器

的输出为02H,问执行程序后(A)=?

MOVP1,#0FFH

MOVA,P1

MOVCA,@A+PC

DB00H

DB01H

DB02H

;

DBFEH

END

9设ROM、片内RAM、RAM各有关单元的内容示如下图,问执行下列程序段后(A)=?

0000AJMP030H

ORG0030H

0030MOVR0,#32H

MOVA,@R0

MOVR1,A

MOVXA,@R1

MOVCA,@A+DPTR

10若在片内RAM30H单元中有2位压缩的BCD码95H,间执行下列程序后,片内

RAM30H单元的内容是什么?

31H、32H的内容又是什么?

并写出BCD码十进制调整的过程。

MOVR0,#30H

MOVA,@R0

ANLA,#0FH

MOVR3,A

SWAPA

ADDA,R3

DAA

MOV@R0,A

INCR0

MOVA,R3

ANLA,#0F0H

MOV@R0,A

RET

11有程序如下:

CLRC

CLRRS1

CLRRS0

MOVA,#38H

MOVR0,A

MOV29H,R0

SETBRS0

MOVRl,A

MOV26H,A

MOV28H,C

请:

(1)区分哪些是位操作指令?

哪些是字节操作指令?

(2)写出程序执行后,片内RAM有关单元的内容。

(3)译成机器码。

(4)按汇编语言程序的标准格式书写,要求有各条指令的存放地址和必要的注释。

(5)如fOSC=l2MHz,计算这段程序的执行时间。

12试编程:

将两个4位二进制数并存于一个字节。

13试编程:

将存于片内RAM40H、41H单元中的16位数求补,结果放回原单元(低

字节放40H单元)。

14试编程:

有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和40H、41H单元,和要求放回30H、31H单元。

15试编程:

将累加器A内容低4位送片外RAM7AH单元,高4位送片外RAM7BH

单元,7AH、7BH单元的高4位均清零。

16试编程:

将片内RAM50H、51H单元两个无符号数中较小的数存于60H单元。

17试编程:

将片内RAM60H~69H单元中的l0个数相加,和的低8位存入7EH,高8位存入7FH。

18试编程:

统计从片内RAM60H单元起所存60个数中"

的个数,并存入工作寄

存器R7。

19试编程:

将ROM中自2000H单元起的100个数,按序移至片外RAM自2080H单

元起的内存区间去。

20试编程:

将ROM中以TAB为初址的32个单元的内容依次传送到片外RAM以

00H为初址的区域去(规定用查表指令)。

21试编写一段子程序,将片外RAM20H单元中压缩的BCD码转换成共阴的七段笔划信息码,存于片内RAM20H、21H单元,以待显示(七段笔划信息码的最高位为0)。

22请编一将A中内容乘10的程序,要求:

(1)不可用MUL指令

1)乘积≤2552)乘积﹥255

(2)可用MUL指令

1)乘积≤2552)乘积>255

规定乘积放在片内RAM的30H单元或30H、0lH单元。

23教材例3·

4是按总和仍为两位BCD码、无溢出进行编程的;

如有溢出,请重编程序。

24设教材例3·

6程序中的多字节数为010000H,试剖析程序执行的经过与结果。

25教材例3·

7如不是两个数、而是n个数,请重编程序。

(如有二数相等,不必建起标志位)。

26CJNE指令执行何种操作?

上述例3·

7示出的程序为什么不用这一指令?

如改用这一指令,程序将作何种改动?

并请将重编后的汇编语言源程序译成机器码。

27设晶振为12MHz,请详细剖析(包括计算)下列程序段的性质和用途:

0B07963DELAY:

MOVRl,#63H

0B200DLl:

NOP

0B300NOP

0B4D9FCDJNZRl,DLl

0B622RET

28请编写一个能延时1.5ms的子程序,要列出计算。

Tcy=1us。

29请编写两段子程序,分别用指令延时法和定时器定时l0ms,设晶振为12MHz。

30设晶振为12MHz,请编写二段子程序,分别用指令延时法和定时器实现30ms延时。

31某单片机系统:

fOSC=l2MHz,定/计0用于20ms定时,定/计

1用于100次计数,定/计0和定/计1均要求重复工作。

问:

(1)外部计数脉冲应从何引脚输入?

(2)试编能达到上述要求的程序。

32请回答:

教材例3·

19为什么按"

TH0、TL0、TH0"

的次序读,

却不按"

TL0、TH0、TL0"

的次序读。

33阅读下列程序,

(1)说明该程序的功能。

(2)填出所缺的机器码。

(3)试修改程序,使片内RAM的内容达到右下图所示的结果。

7A__MOVR2,#0AH

____MOVR0,#50H

E4CLRA

E6LOOP:

MOV@R0,A

08INCR0

DA__DJNZR2,LOOP

DONE:

34阅读下列程序,并要求:

(1)说明程序的功能。

(2)写出涉及的寄存器及片内RAM单元的最后结果。

MOVR0,#40H

ADDA,@R0

MOV@R0,A

CLRA

ADDCA,#0

35同上题要求,程序如下

MOVA,61H

MOVB,#02H

MULAB

ADDA,62H

MOV63H,A

ADDCA,B

MOV64H,A

36同上题要求,程序如下

CLRC

MOVA,R3

RRCA

MOVR3,A

MOVA,R4

MOVR4,A

37同上题要求,程序如下:

MOVR0,#31H

SWAPA

DECR0

XCHDA,@R0

MOV40H.A

38同上题要求,程序如下:

MOVR0,#60H

MOVA,#40H

MOVX@R0,A

39同上题要求,程序如下:

MOVRl,#30H

MOVXA,@Rl

MOV@Rl,A

TNCRl

MOV@Rl,A

2.40

同上题要求,程序如下:

ABS:

MOVR0,#38H

MOVRl,#48H

MOVR2,#06H

LOOP:

JNBA,7,NEXT

CPLA

SETBA.7

INCA

NEXT:

INCRl

DJNZR2,LOOP

DONE:

41阅读下列程序,写出程序执行后片外RAM8008H和800AH单元以及DPTR、Rl、A的内容。

ORG0100H

START:

MOVDPTR,#BLK1

MOVR2,#4

MOVR1,#30H

MOVR0,#30H

LOP1:

MOVXA,@DPTR

MOV@R1,A

INCR1

DJNZR2,LOP1

LOP2:

ADDCA,@R0

DAA

DJNZR2,LOP2

MOVR2,#4

LOPS:

MOVA,@R0

MOVX@DPTR.A

DJNZR2,LOP3

HERE:

SJMPHERE

ORG8000H

BLKl:

DB96H,74H,32H,l6H

BLK2:

DB65H,94H,87H,29H

BLK3:

DS4

42阅读下列程序,写出程序执行后片外RAM7008H、700AH和700FH单元以及DPTR、Rl的内容。

ORG0200H

MOVDPTR,#BLOCK

MOVRl,#40H

MOVR2,#08H

MOVR3,#00H

MOVR4,#00H

CHODEV:

MOVXA,@DPTR

MOVR5,A

ANLA,#0lA

JNZDD

MOVA,R5

INCR3

SJMPNEXT

DD:

MOVA,R5

MOV@Rl,A

INCR1

INCR4

DJNZR2,CHODEV

MOVR0,#30H

EVMOV:

MOVX@DPTR,A

DJNZR3,EVMOV

ODMOV:

MOVA,@Rl

MOVX@DPTR,A

DJNZR4,ODMOV

ORG7000H

BLOCKDB69H,47H,32H,61H

DB56H,49H,27H,78H

BUFFERlDS3

BUFFER2DS5

43阅读下列程序,写出程序执行后片外RAM8003H和8005H单元以及DPTR、R2,R0的内容。

ORG0200H

MOVRl,#30H

MOVR2,#2

MOVDTPR,#BUFFER

HETOAS:

ADDA,#90H

ADDCA,#40H

MOV@Rl,A

INCDPTR

DJNZR2,HETOAS

MOVR2,#4

LOOP:

MOVX@DPTR,A

SJUMPHERE

BUFFERDB2AH,49H

BLOCKDS4

44阅读下列程序,写出程序执行后片外RAM2002H和200l3H单元以及DPTR、SP、R3的内容。

注意:

本程序在RESET后执行

MOVDPTR,#DAT

MOVR0,A

ANLA,#0FH

ACALLBTOA

MOVR4,A

MOVA,R0

MOVR5,A

MOVRl,A

MOVR6,A

MOVA,R

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1