您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页第3章MCS-51单片机指令系统

第3章MCS-51单片机指令系统

来源:爱够旅游网


第3章MCS-51单片机指令系统

3.1概述

3.1.1指令格式

3.1.2指令的三种表示形式

3.1.3指令的字节数

1. 单字节指令(49条)

图3-1 MOVA,Rn指令的格式

2. 双字节指令(46条) 3. 三字节指令(16条) 3.1.4指令的分类

1. 数据传送指令(2)

2

单片机原理及其接口技术(第2版)

2. 算术运算指令(24条) 3. 逻辑操作和环移指令(25条) 4. 控制转移指令(17条) 5. 位操作指令(17条) 3.1.5指令系统综述

1. 指令系统中所用符号的说明 2. 指令对标志位的影响 3.2寻址方式

3.2.1寄存器寻址

图3-2寄存器寻址示意图

3.2.2直接寻址

立即寻址

寄存器间址

变址寻址

单片机原理及其接口技术(第2版)

3

图3-3直接寻址示意图

图3-4寄存器间址寻址示意图

图3-5变址寻址示意图

3.2.33.2.43.2.

3.2.6相对寻址

3.2.7位寻址

3.3数据传送指令

3.3.1内部数据传送指令(15条)

1. 立即寻址型传送指令 2. 直接寻址型传送指令 3. 寄存器寻址型传送指令 4. 寄存器间址型传送指令 5. 内部数据传送指令的使用

单片机原理及其接口技术(第2版)

图3-6相对寻址示意图

单片机原理及其接口技术(第2版)

5

图3-7 8×C552/8051指令的数据传送方式

3.3.2外部数据传送指令(7条)

1. 16位数传送指令

2. 外部ROM的字节传送指令

图3-8 0~9平方值表

3. 外部RAM的字节传送指令 3.3.3堆栈操作指令(2条)

6

单片机原理及其接口技术(第2版)

图3-9例3.8的堆栈变化示意图

3.3.4数据交换指令(4条)

3.4算术与逻辑运算和移位指令

3.4.1算术运算指令(24条)

1. 加法指令 2. 减法指令 3. 十进制调整指令 4. 乘法和除法指令 3.4.2逻辑运算指令(20条)

1. 逻辑与运算指令 2. 逻辑或指令 3. 逻辑异或指令 4. 累加器清零和取反指令

3.4.3移位指令(5条)

3.5控制转移和位操作指令

3.5.1控制转移指令(17条)

1. 无条件转移指令

单片机原理及其接口技术(第2版)

7

图3-10例3.26附图

8

单片机原理及其接口技术(第2版)

图3-11 AJMP指令转移范围

图3-12例3.29附图

图3-13带符号数的比较方法

3. 子程序调用和返回指令

4. 空操作指令 3.5.2位操作指令(17条)

1. 位传送指令 2. 位置位和位清零指令 3. 位运算指令 4. 位控制转移指令 习题与思考题

单片机原理及其接口技术(第2版)

9

图3-14二级子程序嵌套及断点地址存放

图3-15例3.33附图

10

单片机原理及其接口技术(第2版)

3.1指令通常有哪三种表示形式?各有什么特点?

3. 2 MCS-51指令按功能可以分为哪几类?每类指令的作用是什么? 3. 3 MCS-51共有哪七种寻址方式?各有什么特点?

3. 4指出下列每条指令源操作数的寻址方式和功能。① MOV A, #40H② MOV A,40H ③ MOV A, @R1④ MOV A,R3 ⑤ MOVCA, @A+PC⑥ SJMPLOOP

3.5内部RAM的00H单元可以有哪几种寻址方式?特殊功能寄存器中的操作数有几种寻址方式?请举例说明。

3.6变址寻址和相对寻址中的地址偏移量有何异同?

3.7写出下列指令的机器码,指出指令中的50H或66H各代表什么?① MOVA, #50H② MOV @R0,#66H

MOVA, 50HMOVR6,#66H MOV50H, #20HMOV66H,#45H MOVC, 50HMOV66H,C MOV50H, 20HMOV66H,R1

3.8写出下列指令的机器码,指出下列程序执行后的操作结果:① MOVA, #60H② MOVDPTR,#2003H

MOVR0, #40HMOVA,#18H

单片机原理及其接口技术(第2版)

11

MOV@R0, AMOV20H,#38H MOV41H, R0MOVR0,#20H XCHA, R0XCHA,@R0

3.9写出能完成下列数据传送的指令:① R1中的内容传送到R0 ② 内部RAM20H单元中的内容送到30H单元

③ 外部RAM20H单元中的内容送到内部RAM 20H单元 ④ 外部RAM2000H单元中的内容送到内部RAM 20H单元 ⑤ 外部ROM2000H单元中的内容送到内部RAM的20H单元 ⑥ 外部ROM2000H单元中的内容送到外部RAM的3000H单元

3.10试编出把外部RAM的2050H单元中的内容与2060H单元中的内容相交换的程序。 3.11已知(20H)=X,(21H)=Y,(22H)=Z。请用图示说明下列程序执行后堆栈中的内容是什么?① MOVSP, #70H② MOVSP, #60H

PUSH20HPUSH22H PUSH21HPUSH21H PUSH22HPUSH20H

3.12已知SP=73H,(71H)=X,(72H)=Y,(73H)=Z。试问执行下列程序后20H、21H和22H单元中的内容是什么?并用图示说明堆栈指针SP的指向和堆栈中数据的变化。① POP20H② POP22H

POP21HPOP21H

12

单片机原理及其接口技术(第2版)

POP22HPOP20H

3.13试问如下程序执行后累加器A和PSW中的内容是什么?①MOVA, #0FEH②MOVA, #92H

ADDA, #0FEHADDA, #0A4H

3.14已知A=7AH,R0=30H,(30H)=A5H,PSW=80H。试问如下指令执行后的结果是什么?①ADDCA, 30H②SUBBA, 30H

INC30HINCA

③SUBBA, #30H④SUBBA, R0 DECR0DEC30H

3.15已知内部RAM的M1、M2和M3单元中有无符号数X1、X2和X3。试编一程序令其相加,并把和存入R0和R1(R0中为高8位)中。

3.16被乘数是16位无符号数,低8位在M1单元且高8位在M1+1单元,乘数为8位无符号数(M2单元内)。试编写能将它们相乘并把积存入R2、R3和R4(R2内为高8位、R4内为低8位)中的程序。

3.17已知被除数和除数都是8位无符号数(被除数在20H单元,除数在21H单元)。请编写程序令其相除,并把商放在外部RAM的20H单元,余数放在外部RAM的21H单元。

3.18请编写减法程序,令其完成6F5DH-13B4H,并把操作结果存入内部RAM的30H和31H单元,30H单元存放差的低8位。

3.19已知A=7AH,Cy=1,试指出8031执行下列程序的最终结果。①MOVA, #0FH②MOVA,

单片机原理及其接口技术(第2版)

13

#0BBH

CPLACPLA

MOV30H, #00HRRA

ORL30H, #0ABHMOV40H, #0AAH RLAORLA, 40H

③ANLA, #0FFH④ORLA, #0FH MOV30H, ASWAPA XRLA, 30HRRCA RLCAXRLA, #0FH SWAPAANLA, #0F0H

3.20试编写能完成如下操作的程序:

① 使20H单元中数的高两位变“0”,其余位不变。 ② 使20H单元中数的高两位变“1”,其余位不变。 ③ 使20H单元中数的高两位变反,其余位不变。 ④ 使20H单元中数的所有位变反。

3.21已知X和Y皆为8位无符号二进制数,分别在外部RAM的2000H和2001H单元。试编写能完成如下操作并把操作结果(设Z<255)送入内部RAM 20H单元的程序。

① Z=3X+2Y② Z=5X-2Y

14

单片机原理及其接口技术(第2版)

3.22试编写当累加器A中的内容分别满足下列条件时都能转到LABEL(条件不满足时停机)处执行的程序。

① A≥20② A<20③ A≤10④ A<10

3.23利用减1条件转移指令把外部RAM起始地址为DATA1的数据块(数据块长度为20)传送到内部RAM起始地址为30H的存储区。请编写相应程序。

3.24已知SP=70H,PC=2345H。试问8031执行调用指令LCALL3456H后堆栈指针和堆栈中的内容是什么?此时机器调用何处的子程序?

3.25在题3.24中,当8031执行完子程序末尾一条RET返回指令时,堆栈指针SP和程序计数器PC变为多少?71H和72H单元中的内容是什么?它们是否属于堆栈中的数据?为什么?

3.26已知SP=70H,MA=2000H,SUBPR=4060H。试问如下三种程序中哪些是正确的,为什么?哪些程序最好,为什么?若SUBPR=2060H,则哪一个程序最好,为什么?① MA:ACALLSUBPR

② MA:LJMP4000H

4000H:ACALLSUBPR LJMP2003H

③ MA:LCALLSUBPR

3.27已知以外部RAM 2000H为起始地址的存储区有20个带符号补码数,请编写程序把正数和正零取出来存放到内部以RAM 20H为起始地址的存储区(负数和负零不作处理)。

3.28请编写能求20H和21H单元内两数差的绝对值,并把操作结果|(20H)-(21H)|保留在30H

单片机原理及其接口技术(第2版)

15

单元的程序。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务