(完整版)第三章指令系统

合集下载

第3章 指令系统(BH)

第3章 指令系统(BH)
• 指令:是CPU根据人的意图来执行某种操作的命令。
• 程序设计语言:是实现人机交换信息的基本工具,
分为机器语言、汇编语言和高级语言。 能直接识别和执行的语言。
• 机器语言:用二进制编码表示每条指令,是计算机
• 汇编语言:是用助记符、符号和数字等来表示指令
的程序设计语言。它与机器语言指令是一一对应的。
MOV direct,Rn;
111 1rrr direct
(Rn)
direct
MOV direct, direct;
1000 0101 源 direct 目的 direct
(源 direct) 目的 direct
MOV direct,@Ri ;
1000 011i direct
((Ri))
direct
• 例如
计算机科学学院
电子信息科学教研室
12
• 例如:将片内RAM 65H单元内容47H送A,可执行 指令“MOV A,@R0”。其中R0内容为65H。如 图所示:
以指令中所指定 的R0内容(65H) ① 为指针
地址 数据存储器
R0
65H

② A
47H
将片内RAM 65H单 元内容47H送A
65H
11
计算机科学学院
电子信息科学教研室
4、寄存器间接寻址
• 寄存器间接寻址:操作数的地址事先存放在某个寄
存器中,寄存器间接寻址是把指定寄存器的内容作为 地址,由该地址所指定的单元内容作为操作数。
• 89C51规定R0或R1为间接寻址寄存器,它可寻址内部
地址RAM低位的128B单元内容。还可采用DPTR作为 间接寻址寄存器,寻址外部数据存储器的64KB空间。

第三章 指令系统--指令

第三章 指令系统--指令

寻址方式指令系统
数据传送指令算术运算指令逻辑运算指令串操作指令
控制转移指令处理器控制指令
通用传送指令
累加器专用传送指令
地址传送指令
标志传送指令
对标志位的影响: 除SAHF和POPF指令外,其余的所有数据传送类指令
格式:
功能:
操作数类型:
DS,100H

堆栈:执行
PUSH
POP
SS指向堆栈段的起始位置SP指定栈顶
PUSH AX PUSH DS POP DS POP AX
格式:
oprd1,
立即数、段寄存器和
不影响
通用传送指令
累加器专用传送指令地址传送指令
标志传送指令
LEA (Load Effective Address)
LDS (Load pointer into register and DS) LES (Load pointer into register and ES)
LEA LEA
LEA
数据传送指令算术运算指令逻辑运算指令串操作指令
控制转移指令处理器控制指令
实现二进制
所有算术运算指令均所有算术运算指令均
四则运算是计算机经常进行的一种操作。

请注意算术运算指令对
只有一个操作数:寄存器或存储单元对操作数加
用于计数器和地址指针的调整
不影响进位
对操作数减
用于计数器和地址指针的调整不影响进位。

计算机指令系统

计算机指令系统
2、要读或写外部的RAM,当然也必须要知道RAM的地址,在后两条指令中,地址是被直接放在DPTR中的。而前两条指令,由于Ri(即R0或R1)只是一个8位的寄存器,所以只提供低8位地址。因为有时扩展的外部RAM的数量比较少,少于或等于256个,就只需要提供8位地址就够了。
例3-2-2:实现片外数据存储器数据传(2000H)®(2100H)。 若(2000H)=X
一. 汇编语言指令格式 [标号:]操作码 操作数1,操作数2[;注释] 换行表示一条指令结束。 例: LOOP: MOV A,#40H ;取参数
§3-1 指令格式
操作码 [操作数1] [操作数2] 有单字节、双字节和三字节指令。
汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。
(45H)=34H (DPTR)=6712H (12H)=67H (R0)=12H (A)=67H
说明:
非法指令: MOV R1,R2 MOV R2,@R0
1.一条指令中不能同时出现两个工作寄存器:ຫໍສະໝຸດ 非法指令:MOV A,@R2
2.间址寄存器只能使用 R0、R1。
非法指令:MOV R0,#80H MOV A,@R0
MOV DPTR,#2000H
MOVX A,@DPTR
3.SFR区只能直接寻址,不能用寄存器间接寻址。
只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随意创造发明指令。 思考:找出配对指令,实现反向传送。
4.指令表: (指令字节数,机器周期数)
指令格式:MOVX 目的操作数,源操作数 寻址方式:片外数据存储器用寄存器间址方式。 1. DPTR作16位数据指针,寻址64KB片外RAM空间 MOVX A,@DPTR ;A←(DPTR) 读数据 MOVX @DPTR,A ;(DPTR)←A 写数据 2. Ri作8位数据指针,寻址256B片外RAM空间 MOVX A,@Ri ;A←(Ri) 读数据 MOVX @Ri,A ;(Ri)←A写数据

第三章----指令系统PPT课件

第三章----指令系统PPT课件

2021/6/4
7
例如: 计算 a=b+c+d+e;
add a,b,c # b + c的和存放在a中 add a,a,d # b + c + d的和已存放在a中 add a,a,e # b + c + d + e的和已存放在a中
2、减法指令 sub rd, rs, rt
#注释
例3.1 把两个C语言赋值语句编译成MIPS汇编指令
❖ 存储器中---存储器操作数 复杂数据结构,如数组、结构体等包含大量数据元素,不
可能映射到数量有限的寄存器上,只能存储到存储器中。
❖ 指令中---立即数
有些操作数直接与指令存放在一起,称为立即数,而
MIPS中专门设置有一些立即数指令,如addi,slti等。
2021/6/4
11
一、MIPS的寄存器
三、MIPS简介
1、处理器的缩写
① Million Instruction Per Second,泛指每秒能执行百万条指令的处理器
② Microprocessor without Interlocking Pipeline Stage, 一种无内锁的流水线微处理器
2、MIPS公司
2021/6/4
4
3.2 计算机硬件的操作指令
下面这段C语言代码包含5个变量a, b, c, d, e:
a = b + c;
d = a – e;
2021/6/4
8
【解答】 add a, b, c sub d, a, e
# a=b+c #d=a–e
例3.2 把一个复杂的C语言赋值语句编译成MIPS汇 编指令
f = (g + h) – (i + j);

微机课件第三章指令系统

微机课件第三章指令系统

定制化
融合化
随着计算机体系结构的不断发展,未 来可能出现融合多种指令集优势的全 新架构,实现更高的性能和更低的功 耗。
针对不同应用场景和需求,未来将出 现更多定制化的指令集架构,以满足 特定领域的性能、功耗等要求。
04 汇编语言程序设计基础
CHAPTER
04 汇编语言程序设计基础
CHAPTER
汇编语言概述及特点
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
01 指令系统概述
CHAPTER
01 指令系统概述
CHAPTER
指令系统定义与功能
指令系统定义
指令系统是计算机硬件的语言系统,也叫机器语言,指机器所具有的全部指令的 集合。
指令系统功能
它是软件和硬件的主要界面,反映了计算机所拥有的基本功能。从系统结构的角 度看,它是系统程序员看到的计算机的主要属性。因此指令系统表征了计算机的 基本功能决定了机器所要求的能力,也决定了指令的格式和机器的结构。
言高。
汇编语言概述及特点
汇编语言是一种低级语言
01
它与机器语言密切相关,是机器语言的符号化表示,具有直观、
易理解和易操作硬件的优点。
汇编语言依赖于具体的计算机体系结构
02
不同的计算机体系结构有着不同的指令集和寻址方式,因此汇
编语言程序通常只能在特定的计算机上运行。

第三章 单片机的指令系统

第三章  单片机的指令系统

MOV @Rj, #data MOV direct, #data MOV DPTR, #data
(EX2)
数据传送指令(四) 第四类——片外数据存储器访问指令
可访问片外RAM的0~FFH地址共256个单元:
MOVX
MOVX
A,
@Ri,
@Ri
A
; i = 0, 1
; i = 0, 1
可访问片外RAM的整个空间0~FFFFH地址的单元: MOVX MOVX A, @DPTR A
@DPTR,
(EX3)
数据传送指令(五)
第五类——程序存储器访问指令(查表指令)
MOVC
MOVC
A, @A+DPTR
A, @A+PC
(INDXADDRESS.ASM)
数据传送指令(六)
第六类——数据交换指令
XCH
XCH XCH
A,
A, A,
Ri
@Rj direct
;i =0~7
; j = 0 ,1
第三章 指令系统(一)
一、单片机的编程语言
⑴机器语言 以二进制代码形式表示指令、程序
⑵汇编语言 用助记符表示操作码,字符表示操作数的指令。
⑶高级语言 面向过程的语言,与硬件无关,如BASIC、C等。
⑷汇编语言和高级语言的结合 (5)学习汇编语言的意义 ①开发实时性强的系统时,直接应用汇编语言或在C中嵌入 汇编语言进行开发; ②通过汇编语言学习,更好掌握单片机的硬件结构,为应用 C语言编制高效率的单片机程序打好基础。
51单片机的最小系统
AT89C51
30pF
+5V
12M 30pF 2.2K
R1
17 16

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

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

(1)内部数据存储器的低128个字节单元 (00H~7FH)。例: MOV A, 40H ,表示把内 部RAM 40H单元的内容传送给A。 假设40H单元中的内容为2BH,结果是将直接地 址40H单元中的数据2BH传送到累加器A中。
第三章 MCS-51单片机指令系统
3.2.2 直接寻址
(2)特殊功能寄存器。 特殊功能寄存器只能用直接寻址方式进行访问。 对于特殊功能寄存器,在助记符指令中可以直接 用符号来代替地址。例: MOV A, P0 ,表示把 P0口(地址为80H)的内容传送给A。
3.3.1 内部数据存储器传送指令
1.立即数传送指令
MOV A,#data ;A←data MOV Rn,#data ;Rn←data,n=0~7 MOV direct,#data ;direct←data MOV @Ri,#data ;(Ri)←data,i=0,1 MOV DPTR,#data16 ;DPTR←data16 前四条指令将8位立即数传送到指定的存储单元中。 最后一条指令将16位立即数传送到数据指针 DPTR中,其中高8位送入DPH,低8位送入DPL。
(3)三字节指令 编码格式为:
例如数据传送指令MOV 20H,#3AH的编码格式为:
3.2 寻址方式
第三章 MCS-51单片机指令系统
所谓寻址,就是寻找操作数的真正地址,寻址方 式,就是指寻找操作数地址的方式。
在用汇编语言编程时,数据的存放、传送、运算 都要通过指令来完成。 编程者必须自始至终都要 十分清楚操作数的位置, 以及如何将它们传送到适 当的寄存器去参与运算。每一种计算机都具有多 种寻址方式。寻址方式的多少是反映指令系统优 劣的主要指标之一。
2. 汇编语言
汇编语言就是用助记符表示的指令,汇编语言与 机器语言一一对应。用汇编语言编写程序,每条 指令的意义一目了然,给程序的编写、阅读和修 改带来很大方便。而且用汇编语言编写的程序占 用内存少,执行速度快,尤其适用于实时应用场 合的程序设计。因此,在单片机应用系统中主要 是用汇编语言来编写程序。 汇编语言的缺点:缺乏通用性,程序不易移植, 是一种面向机器的低级语言。使用汇编语言编写 程序时,必须熟悉机器的指令系统、寻址方式、 寄存器的设置和使用方法。每种计算机系统都有 它自己的汇编语言。不同计算机的汇编语言之间 不能通用。

三章指令系统ppt课件

三章指令系统ppt课件

MOV SS,AX
SS 12H 34H
AX 12H 34H
第3章 微型计算机指令系统
寻址方式之三:直接寻址
在指令的操作码后面直接给出操作数的16位偏移地
址。这个偏移地址也称为有效地址EA。操作数默
认在DS段中。
低地址
MOV AX, [3000H]
操作码 00H
CS段
DS 5000 0
30H
+ 3000 53000
执行时间:指令的指令时间包括取址、译码和执行的时间, 跟该指令的机器码的长短没有直接关系。
指令
机器码 字节数
时钟数
MOV AL,15H B0H
2
4
15H
MOV AX,BX 8BH
2
2
C3H
第3章 微型计算机指令系统
3.2 8086/8088指令系统
数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 控制转移指令 处理器控制指令
第3章 微型计算机指令系统
数据传送指令之一:通用传送指令
(4)XLAT 查表指令
• XLAT src_table
;(AL)((BX)+(AL))
查表指令,用来取表中某指定数的值
执行指令前:序号 AL
表首址 BX
执行指令后:AL 表中序号对应的字节内容
TABLE DB 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
;低字相加 ;高字相加,包括低字的进位
第3章 微型计算机指令系统
算术运算指令之一:加法运算指令
• INC dest 加1指令
;(dest)(dest)+1
例 加1指令 INC BX INC BYTE PTR [DI+100H]

第三章 MCS--51指令系统

第三章 MCS--51指令系统

(3) 该指令使CY、OV清0。
如除数为0,则A为不定值,OV=1
第五节 逻辑运算指令 一、对A的操作 CLR A;A清0 CPL A;A取反 移位指令 RL A RLC A RR A RRC A
或 MOV R1,#20H MOV @R1, #3AH
MOV DPTR, #3020H
例3 将30H与20H内容互换
MOV A, 30H MOV 30H, 20H MOV 20H, A
(1)MOV 00H,#0FFH 或(1)MOV R0,#00H MOV @R0, #0FFH 或(1)MOV PSW, #00H MOV R0, #0FFH
INC Rn
INC direct INC @Ri
INC DPTR
例17 编程将存放在31H~33H中的数相加,其和放入30H单元 (设和不超过8位)。 MOV R0,#31H MOV A, @R0 INC R0 ADD A, @R0 INC R0 ADD A, @R0 MOV 30H, A MOV R0, #31H MOV R7, #03H MOV A, #00H LOOP:ADD A, @R0 INC R0 DJNZ R7, LOOP MOV 30H, A
第三章MCS-51单片机指令系统
基本要求: 熟记MCS-51的主要指令及简单程序的编程方法。 难点及处理: MCS-51的111条指令比较枯燥 ,需要记忆,可 多读一些例题并动手编一编。
第一节 指令及其表示方式
一、指令的基本概念 指令--让计算机做某操作所发命令
指令系统-- 一台计算机所有指令的集合。 MCS-51单片机共111条指令,分为五大类
四、堆栈操作指令 入栈:PUSH direct 出栈:POP direct

第3章指令系统

第3章指令系统
其中SI、DI、BX寻址时,以DS作为段基地址, BP以SS作为段基地址。
21
寻址方式----寄存器间接寻址
Ex: MOV AX,[SI] DS=2100H,SI=1200H MOV AX, [BP] SS=1200H,BP=2100
22
寻址方式----寄存器间接寻址 段超越
根据需要,也可以指定其它的段寄存器,作为操 作数的基地址。这种指令称段超越指令,即SI, DI,BX的内容也可以与其它段寄存器的内容相加, 形成操作数的地址。例如: MOV ES:[DI], AX MOV DX, DS:[BP]
单元的地址,称为间接寻址方式。 5、若操作数要经过计算,在某个基本地址上加上一个偏移量,称
为变址寻址方式。(基址+变址)
有少数指令只有操作码,没有操作数,如WAIT、NOP等指令
14
复习:8086/8088的存储器组织
8088/8086微处理器内部寄存器和内部总线均 为16位二进制,地址总线为20位。
存的地方-地址)。 操作数可存放在下面三个地方的某一处:寄存
器,存储器(包括堆栈),程序区(代码区)。
立即操作数 :指令的组成部分,存放在程序区 。 寄存器操作数:存放在CPU内部的某个寄存器中 。 存储器操作数:存放在存储器的某个单元中。
13
寻址方式
确定操作数存放位置的算法
1、指令的操作数就是参加运算的数据,立即数寻址方式。 2、指令的操作数代表一个地址,称为直接寻址方式。 3、指令的操作数为寄存器中的数,称为寄存器寻址方式。 4、若指令中操作数是寄存器,而其中的内容才是真正的数据存储
内存单元与通用寄存器之间的传送:
MOV AX,[2000H]
以[DS]为段地址,2000H为段内偏移地址的内存单元 中数据送AX 寄存器。

第3章指令系统

第3章指令系统

h
19
例:设BX=0 158H,
DI=10A5H, 位移量=1B57H, DS=2100H, 各种寻址方式下,有效地址和物理地址如 下:
① 直接寻址:MOV AX,[1B57H] 有效地址=1B57H 物理地址=21000H+1B57H=22B57H ② 寄存器间接寻址(寄存器为BX):
MOV AX, [BX] 有效地址=0158H 物理地址=21000H+0158H=21158H
③ BX寄存器相对间接寻址: MOV AX, [BX+1B57H] 有效地址=0158H+1B57H=1CAFH 物理地址=21000H+1CAFH=22CAFH ④ 变址寻址(寄存器为DI): MOV AX, [DI] 有效地址=10A5H 物理地址=21000H+10A5H=220A5H
⑤ DI寄存器相对变址寻址: MOV AX, [DI+1B57H] 有效地址=10A5H+1B57H=2BFCH 物理地址=21000H+2BFCH=23BFCH ⑥ 基址加变址的寻址(BX为基址寄存器,DI为
第3章 16位和32位微处理器的指令系统
本章要点
汇编语言的寻址方式 8086的传送指令尤其是堆栈操作指令、交换指令
和换码指令的用法 算术运算指令涉及的规则和各种算术运算指令的
使用 逻辑运算指令和移位指令的用法
5条串操作指令的特点和使用方法,尤其是串操 作指令和DF标志的关系
控制转移指令特别是段内转移指令、带参数的返 回指令和循环控制指令的用法
(4) 将BX、BP和SI、DI寄存器组合起来进行间接 寻址——基址加变址的寻址
MOV AX,[BX+SI]
寄存器相对寻址

第三章基本指令系统

第三章基本指令系统

注:该指令用在多字节加法运算中。
28
例:两个4字节无符号数相加,两数分别在2000H、3000H开 始的内存单元,和放在2000H开始的4个内容单元。
MOV SI, 2000H MOV AX, [SI] MOV DI, 3000H ADD AX, [DI] MOV [SI], AX MOV AX, [SI+2] ADC AX, [DI+2] MOV [SI+2], AX ;SI指向一加数首址 2000H ;AX 8423H ;DI指向另一加数首址 ;AX 8423H+7F00H ;低16位和送[2000H][2001H] ;AX 1000H 3000H ;AX 1000H+2000H+CF ;高16位和送[2002H][2003H]
4)DST、SRC长度要一致。
MOV AL, BX ()
5) DST 不能是立即数 MOV 1000H, AX () 6)DST、SRC 不能同时为存储器寻址 MOV [1000H], [3000H] () 7)MOV指令不破坏源操作数
6
一、通用传送指令——XCHG
2、XCHG 格式:XCHG OPR1, OPR2 ; OPR1 OPR2 功能:两操作数内容相交换。 例: XCHG BL, AL ;两寄存器内容交换(字节交换)
第三章基本指令系统指令系统8086指令系统什么是指令系统cpu指令系统mcs51指令系统指令系统层指令系统的作用微处理器的指令系统指令系统就是指令吗
第三章 8086CPU基本指令系统
3.1 数据传送指令 3.2 算术运算指令
3.3 十进制调整指令
3.4 逻辑运算指令和移位指令 3.5 处理器控制指令
27
一、加法指令——ADC

计算机原理 指令系统

计算机原理 指令系统

第三章指令系统第一节指令基本格式及寻址方式一、指令及指令系统的概念1.指令指令是计算机硬件能够直接识别和执行的命令。

指令是计算机微操作的组合。

能够完成一定处理任务的指令序列就是计算机程序。

区别:计算机运行所需的指令及相关文档的集合称为软件。

2.指令系统一台计算机所能执行的所有指令的全体集合称为指令系统。

反而言之,不同计算机有不同的指令系统。

强调:指令系统属于计算机硬件范畴。

一个完整的指令系统应满足下面几个要求:(1)完备性:指用汇编语言编制各种程序时指令系统提供的指令足够用。

(2)有效性:指令尽其所能可能短,以便程序所占存储空间小、执行速度快。

(3)规整性:指令的长度是字节的整数倍。

对称性:所有寄存器和存储单元可以同等对待,指令可以使用各种寻址方式。

匀齐性:指令可以支持各种数据结构,编程时无需考虑数据类型。

一致性:指令的长度与数据的长度有一定的关系,以方便存取和处理。

(4)兼容性:在不同机器上能够不作修改地运行。

二、指令格式及分类1.指令格式指令包括操作码和地址码(操作数)。

操作码:表明该条指令操作的性质和功能。

地址码:表明参加操作的操作数地址和结果地址。

指令长度:是操作码的长度与地址码的长度之和。

指令的长度与字长没有固定关系,但一定是字节的整数倍。

操作码的长度,决定指令的种类(条数)。

地址码的长度,决定了指令的寻址空间(所能访问的最大存储空间)。

2.指令格式的分类根据指令中给出的操作数的个数可以将指令分为:零地址指令、一地址指令、二地址指令、三地址指令、多地址指令。

一条指令可以没有地址码,但必须要有操作码。

( )零地址指令中没有一个操作数地址,如停机指令(HALT)、空操作指令(NOP)。

三、寻址方式寻址方式包括:指令的寻址:确定本条指令的地址和下一条要执行指令的地址的方法。

(顺序寻址方式PC(程序计数器、指令指针寄存器)和跳跃寻址方式)操作数的寻址:找到操作数的方法。

操作数寻址方式有:1.立即数寻址:指令中直接给出操作数,通常用于给寄存器设置初始值,操作数在指令中,特点是寻址速度最快,缺点是灵活性最差。

三章指令系统-PPT精选文档

三章指令系统-PPT精选文档



例如,IBM370机就是采用这种定长操作码格式。 IBM 370机(字长32位)的指令可分为三种不同的 长度,不论指令的长度有多少位,其中的操作码字 段一律都是8位。
特点:字段规整、译码简单。
6

IBM 370机的指令格式
8 4 4 4 4 4 4 4 12
RR 型 RX 型 RS 型 SI 型 SS 型
15

零地址指令

格式:
OP

零地址指令只有操作码,而没有地址码。 例如下面的情况不需要地址码: 指令不需要操作数,例如停机指令就没有操作数. 操作数隐含约定在累加器AC中。 操作数隐含指定在堆栈中,例如堆栈计算机,零 地址指令的操作数从堆栈中获得。
16

简化地址结构与减少地址码字段的位数
13


二地址指令

格式:
OP
A1
A2

执行的操作: (A1) OP (A2) → A1 A1为目的操作数地址,兼做存放结果的地址; A2为源操作数地址。(A1原先的值无需保存) A1、A2可以是内存中的单元地址,也可以是运 算器中的通用寄存器。如果是内存中的单元地址, 则执行一条二地址指令至少要访问4次主存.
扩展窗口
1111 1111 1110 XXXX

1111 1111 1111 0000 1111 1111 1111 1111

1111 1111 0000 XXXX

1111 0000 XXXX YYYY
15条二地址指令
15条一地址指令
16条零地址指令
11
3、地址码

根据一条指令中有几个操作数地址,可将该指令 称为几地址指令。 一般的指令有被操作数、操作数以及操作结果这 三个数,因而就形成了三地址指令格式,这也是 早期计算机指令的基本格式。 在三地址格式的基础上,后来又发展成了二地址 格式、一地址格式和零地址格式。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章指令系统习题参考答案(三)
1、80C51系列单片机的指令系统有何特点?
答:80c51的指令系统的特点有:(1)执行时间短。

一个机器周期指令有64条,2个时间周期指令有45条,而4个机器周期指令仅有2条(即乘法和除法指令);(2)指令编码字节少。

单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;(3)位操作指令丰富。

这是80c51单片机面向控制特点的重要保证。

2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器
空间如何?
答:(1)寄存器寻址。

对应的寄存器有:
·工作寄存器R0~R7
·累加器A
·寄存器B
·数据指针DPTR
(2)直接寻址。

对应的存储空间有:
·片内RAM低128字节(以地址形式表示)
·SFR(以地址形式或SFR符号形式表示,但符号将转换为相应的SFR
地址)
(3)寄存器间接寻址。

对应的空间有:
·片内RAM(采用@R0,@R1或SP);
·片外RAM(采用@R0,@R1或@DPTR)
(4)变址寻址。

对应的空间有:
·ROM空间(采用@A+DPTR,@A+PC)
(5)相对寻址。

·ROM空间(采用JC rel)
(6)位寻址。

·片内RAM的20H~2FH单元的128可寻址位
·SFR的可寻址位
3、访问特殊功寄存器SFR可以采用哪些寻址方式?
答:直接寻址、位寻址
4、访问内部RAM单元可以采用哪些寻址方式?
答:寄存器寻址、直接寻址、寄存器间接寻址
5、访问外部RAM单元可以采用哪些寻址方式?
答:寄存器间接寻址
6、访问外部程序存储器可以采用哪些寻址方式?
答:立即寻址、变址寻址、相对寻址
7、为什么说布尔处理功能是80C51单片机的重要特点?
答:布尔处理功能是MCS-51系列单片机的一个重要特征,在物理结构
上,MCS-51单片机有一个布尔(位)处理器,对位地址空间具有丰富的位操作指令。

它在进行位操作时,以进位标志做为位累加器。

8、对于80C52单片机几个内部RAM还存在高128字节,应采用何种方式
访问?
答:对片外RAM进行访问时,需要以下四条指令进行:
读:
(1)MOVX A,@DPTR;
(2)MOVX A,@Ri;
写:
(3)MOVX @DPTR,A;
(4)MOVX@ Ri,A;
9、试根据指令编码表写出下列指令的机器码。

(1)MOV A ,#88H
(2)MOV R3,50H
(3)MOV P1.1, #55H
(4)ADD A, @R1
(5)SETB 12H
答: 指令对应的机器码为
(1) 74H
(2)ABH
(3) 75H
(4) 27H
10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下
每种操作的指令序列。

(1)将R0的内容传送到R1;
(2)内部RAM单元60睥内容传送到寄存器R2;
(3)外部RAM单元1000H的内容传送到内部RAM单元60H;
(4)外部RAM单元1000H的内容传送到寄存器R2;
(5)外部RAM单元10000H的内容传送到外部RAM单元2000H。

答:(1)MOV A, R0;
MOV R1,A;
(2) MOV R2,60H;
(3)MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV 60H,A;
(4)MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV R2,A;
(5)MOV DPTR,#1000H;
MOVX A,@DPTR;
MOV R0,#2000H;
MOVX @R0,A;
11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。


分析执行下列程序段后上述各单元内容的变化。

答:MOVX A,@R1 ;A=60H
MOV @R1,40H ; (30H)=08H
MOV 40H,A ;(40H)=40H
MOV R1,#7FH ;(R1)=7FH
即最终结果为(R1)=7FH, (40H)=40H, (30H)=08H,( A)=60H
12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,
(20)=0FH,试指出CY、AC和OV的值。

答:(1)MOV A, @R0 ; (A)=2CH, R0=40H
(2)MOV 40H,#0FH ; (40H)=0FH
(3)ADD A,R4 ; (A)=22H, (CY)=1, (AC)=1, (OV)=0
(4)SWAP A ; (A)=8EH
(5)DEC @R1 ; (20H)=0EH, (R1)=20H
(6)XCHD A, @R1 ; (A)=EFH, (20H)=08H, (R1)=20H
13、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部
RAM的40H、41H和42H单元中的内容各为多少?
答:MOV A ,50H ; (A)=40H
MOV R0, A ; (R0)=40H
MOV A,#00H ; (A)=00H
MOV @R0, A ; (40H)=00H
MOV A ,3BH ; (A)=(3BH)
MOV 41H, A ; (41H)=(3BH)
MOV 42H, 41H ; (42H)=(3BH)
即最终结果为(R0)=40H , (40H)=00H , (A)=(3BH) ,(41H)=(3BH) ,
(42H)=(3BH)
14、试用位操作指令实现下列逻辑操作。

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

(1)使ACC。

0置位;
(2)清除累加器高4位;
(3)清除ACC.3, ACC.4, ACC.5, ACC.6.
答:(1) CLR ACC.0 ; 使ACC.0置位
(2) CLR ACC.7
CLR ACC.6
CLR ACC.5
CLR ACC.4
(3) CLR ACC.3
CLR ACC.4
CLR ACC.5
CLR ACC.6
15、试编写程序,将内部RAM的20H、21H和22H三个连续单元的内容存入
2FH、2EH和2DH单元。

答:MOV A,20H
MOV R0,#2FH
LOOP: MOV @R0,A
INC A
DEC R0
CJNE R0,#2CH, LOOP
SJMP $
16、试编写程序,完成两个16位数的减法:F4DH—2B4EH,结果存入内部RAM
的30H和31H,31H单元存差的高8位,30H单元存差的低8位
答:CLR C
MOV A, #4DH
MOV R0,#4EH
SUBB A,R0
MOV 30H, R0
MOV A,#7FH
MOV R0,#2BH
SUBB A,R0
MOV 31H, R0
17、试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,
并将其存入在R1中。

答:MOV A, R2
MOV 40H,R1
MOV R1,#40H
XCHD A,@R1
MOV R1,A
18、试编写程序,将内部RAM的20H和21H单元的两个无符号数相乘,结果
存放在R2、R3中,R2中存放高8位,R3存放低8位。

答:MOV A,20H
MOV B,21H
MUL AB
MOV R2, B
MOV R3, A
19、若(CY)=1,(P1)=10100011B,(P3)=01101100B。

试指出执行下列
程序段后,CY、P1口及P3口内容的变化情况。

答:MOV P1.3, C
MOV P1.4, C ; (P1)=10111011B
MOV C, P1.6 ; (CY)=0
MOV P3.6, C
MOV C, P1.0 ; (CY)=1
MOV P3.4, C ; (P2)=00111100B
即最终为(CY)=1 ,(P1)=10111011B ,(P2)=00111100B
20、若单片机的主频为12MHz,试用循环转移指令编写延时20ms的延时子程
序,并说明这种软件延时方式的优缺点。

答:分析:一个机器周期=12个晶振周期=1us
利用一对内外循环,运行20000个机器周期,从而延迟20ms。

汇编程序如下:
LOOP: MOV R1,#00H
INC R1
NEXT: MOV R0,#00H
INC R0
NOP
CJNE R0,#13H , NEXT
NOP
CJNE R1,#C8H,LOOP
SJMP $。

相关文档
最新文档