大学课件MCS51单片机指令系统与汇编语言程序设计
- 格式:ppt
- 大小:288.50 KB
- 文档页数:60


第三章MCS51单片机的指令系统和汇编语言程序示例(第5、6、7节)
1. 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
(1)MOV A,#19H
ADD A,#66H
(2)MOV A,#5AH
ADD A,#6BH
2. 已知:A=85H,R0=30H,(30H)=11H, (31H)=0FFH,C=1,试计算单片机执行下列指令后累加器A和C中的值各是多少?
(1) ADDC A,R0, (2)ADDC A,31H
(3) ADDC A,@R0, (4) ADDC A,#85H
3. 已知M1和M2中分别存放两个16位无符号数的低8位,M1+1和M2+1中分别存放两个16位无符号数的高8位,计算两数之和(低8位存放在M1,高8位存放在M1+1,设两数之和不超过16位)。
4. 试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
CLR C
MOV A,#52H
SUBB A,#0B4H
5. 已知:A=0DFH,R1=40H,R7=19H,(30H)=00H,(40H)=0FFH,试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?
(1) DEC A (2) DEC R7 (3) DEC 30H (4) DEC @R1
6. 试写出能完成85+59的BCD加法程序,并对工作过程进行分析。
7. 已知:两个8位无符号乘数分别放在30H和31H单元中,编程实现他们乘积的低8位存放在32H,高8位存放在33H。
8. 已知:R0=30H,(30H)=0AAH,试分析执行下列指令后累加器A和30H单元的内容是什么?
(1) MOV A, #0FFH ANL A, R0
(2) MOV A, #0FH ANL A, 30H
(3) MOV A, #0F0H ANL A, @R0
(4) MOV A, #80H ANL 30H, A
3·1 汇编指令 第 3 章 MCS 一 51 系列单片机的指令系统
和汇编语言程序
3·1·1 请说明机器语言、汇编语言、高级语言三者的主要区分,进一步说明为什么这三种语言缺一不行。
3·1·2 请总结:
(1) 汇编语言程序的优缺点和适用场合。
(2) 学习微机原理课程时,为什么肯定要学汇编语言程序?
3·1·3MCS 一 51 系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与寻址范围。
3·1·4 要访问片内RAM,可有哪几种寻址方式?
3·1·5 要访问片外RAM,有哪几种寻址方式?
3·1·6 要访问ROM,又有哪几种寻址方式?
3·1·7 试按寻址方式对 MCS 一 51 系列单片机的各指令重进展归类(一般依据源操作数寻址方式归类,程序转移类指令例外)。
3·1·8 试分别针对 51 子系列与 52 子系列,说明 MOV A,direct 指令与MOV A,@Rj
指令的访问范围。
3·1·9 传送类指令中哪几个小类是访问RAM 的?哪几个小类是访问ROM 的?为什么访问ROM 的指令那么少?CPU 访问ROM 多不多?什么时候需要访问ROM?
3·1·10 试绘图示明MCS 一 51 系列单片机数据传送类指令可满足的各种传送关系。
3·1·11 请选用指令,分别到达以下操作: (1)将累加器内容送工作存放器R6.
(2)将累加器内容送片内RAM 的 7BH 单元。(3)将累加器内容送片外RAM 的 7BH 单元。(4)将累加器内容送片外RAM 的 007BH 单元。(5)将
ROM007BH 单元内容送累加器。
3·1·12 区分以下指令的不同功能:
(l)MOV A,#24H 与 MOV A.24H
(2)MOV A,R0 与MOV A,@R0
(3)MOV A,@R0 与 MOVX A,@R0
3·1·13 设片内RAM 30H 单元的内容为 40H;
思考题与习题部分参考答案
1 MCS51单片机指令系统 与汇编语言程序设计
1. 8051单片机的指令系统有何特点?
解:8051的指令系统由111条指令组成。如果按字节数分类,有49条单字节指令46条双字节指令和16条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64条单周期指令、45条双周期指令和2条四周期指令,以单周期指令为主。
8051的指令系统具有以下特点:
(1)存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行I/O口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器Rn。这样可以大大提高传送速度和缓解累加器A的瓶颈效应。
(2)用变址寻址方式访问程序存储器中的表格,将程序存储器单元中的固定常数或表格字节内容传送到累加器A中。这为编成翻译算法提供了方便。
(3)在算术运算指令中设有乘法和除法指令
(4)指令系统中一些对I/O口进行操作的指令具有“读——修改——写”的功能。这一功能指:在执行读锁存器的指令时,CPU首先完成将锁存器的值通过缓冲器BUF2度入内部,进行修改、改变,然后重新写到锁存器中去。这种类型指令包含所有的逻辑操作和位操作指令。
(5)8051单片机内部有一个布尔处理器,对为地址空间具有丰富的位操作指令。布尔操作类指令有17条,包括布尔传送指令、布尔状态控制指令、布尔逻辑操作指令、布尔条件转移指令。
2.8051单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?
解:MCS-51单片机指令系统按功能可分为5类:
(1)数据传送指令
(2)算术运算指令
(3)逻辑运算和移位指令
(4)控制转移指令
(5)位操作指令
MCS-51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:
3.访问特殊功能寄存器和外部数据存储器应采用哪种寻址方式?
第二章 PIC单片机指令系统和汇编语言程序设计
2.1 指令系统概述
2.1.1 指令的表示方法
1.机器指令的表示方法:指令用于规定计算机的基本操作。一台计算机所能执行的指令集合就是它的指令系统。指令共有两种表示方法,分别是机器语言表示方法和汇编语言表示方法。不同种类的单片机有不同的一套命令(即所谓“指令系统”)。
2.汇编语言的表示方法:汇编语言是对机器语言的改进,它采用便于人们记忆的一些符号(例如简化的英文单词)来表示操作码、操作数和地址码等。通常把表示指令的符号称之为助记符。
3.PIC16F87X单片机指令: PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功能强。它的指令为单字的宽字位(14)指令,由此生成的程 序代码短。指令条数少,仅有35条。(1)面向字节操作类 (2)面向位操作类 (3)常数操作和控制类操作。
2.1.2PIC单片机指令的寻址方式
1.寄存器间接寻址:所谓寄存器间接寻址指的是通过寄存器F0、F4来实现。实际的寄存器地址放在F4的低5位中,通过F0来进行间接寻址。INDF不是物理上实际存在的寄存器,而任何寻址INDF的指令都是以FSR寄存器内容为地址的RAM单元中存放着参加运算或操作的数据。
2.立即数寻址:所谓立即寻址就是操作数在指令中直接给出。通常把出现在指令中的操作数称之为立即数,因此就把这种寻址方式称之为立即寻址。
3.直接寻址:指令中操作数以其所在存储单元地址的形式给出,就称之为直接寻址。这种方式是对任何一寄存器直接寻址访问。
4.位寻址:这种寻址方式是对寄存器中的任一位(bit) 进行操作。
2.1.3指令符号的意义说明
1.PIC汇编语言指令格式 PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:
标号 操作码助记符 操作数1,操作数2;注释
2.指令符号的意义说明:在PIC系列单片机指令中常把数据存储器RAM当作寄存器来使用(处理)并用字母f(或F)表示。