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

合集下载

第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]
  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 $。

相关文档
最新文档