课程A:_第3章_指令系统

合集下载

第3章 8086指令系统及汇编语言程序设计

第3章 8086指令系统及汇编语言程序设计

图3-7 立即数寻址
第3章 8086指令系统及汇编语言程序设计
注意: (2)寄存器寻址方式 ● 寄存器寻址方式的指令操作在CPU 定义:操作数放在寄存器内,由指令直接给出某个 内部执行,不需要执行总线周期,执行速 寄存器的名字,以寄存器的内容作为操作数。寄存器可以 度快。 是16位的 AX、BX、CX、DX、SI、DI、SP、BP寄存器, ● 寄存器寻址方式既适用于指令的源 也可以是8位的 AH、AL、BH、BL、CH、CL、DH、DL 寄存器。 操作数,也适用于目的操作数,并且可同 时用于源操作数和目的操作数。 【例3-2】 MOV AX,CX ;(AX)←(CX) INC AL ;(AL)←(AL)+1 指令执行结果如图3-8 所示
图3-8 寄存器寻址
第3章 8086指令系统及汇编语言程序设计
(3)直接寻址方式 定义:操作数在存储器中,指令中直接给出操作数所在存 注意: 储单元的有效地址。有效地址( EA)也称为偏移地址,它代表 ●直接寻址方式的操作数所在存储单元的段地址一 操作数所在存储单元距离段首址的字节数。有效地址是一个无 般在数据段寄存器DS中。 符号的16位二进制数。 ●如果操作数在其他段,则需要在指令中用段超越 【例3-3】 前缀指出相应的段寄存器名。 ● VALUE是一种符号表示法,此内容将在伪指令中 MOV AH, [1234H ] ;将DS段中1234H单元的内容送给AH 给予讲解。 MOV AH ,VALUE ;将DS段中VALUE单元的内容送给AH ●在实地址方式下,物理地址=16*段地址(DS) MOV AX, [2100H] ;将DS段中2100H单元的内容送给AL, +偏移地址(EA) 2101H单元的内容送给AH MOV BX,ES:【2000H】 ;段超越,操作数在附加段。即 物理地址=(ES)*16+2000H

第三章指令系统总结及课后题

第三章指令系统总结及课后题

(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,
(40H)
=40H,(48H)=38H
精选2021版课件
5
7、8951片内高128字节的地址寻址要注意什么/? 答: 用直接寻址,位寻址,寄存器寻址
8、指出些列指令的本质?
MOV MOV MOV MOV
A,DATA ;
寄存器寻址 工作寄存器R0-R7、A、B、C、DPTR
寄存器间接寻 址
片内RAM低128B、片外RAM
变址寻址
程序存储器(@A+PC,@A+DPTR)
相对寻址
程序存储器256B范围(PC+偏移量)
位寻址
片内RAM的20H-2FH字节地址、部分SFR
精选2021版课件
3
寻址方式中常用的符号注释
Rn(n=0~7):当前选中的工作寄存器组R0~R7。 Ri(I=0,1):作为地址指针的两个工作寄存器R0,R1。 #data:8位立即数。 #data16:16位立即数。 direct:8位片内RAM单元(包括SFR)的直接地址。 addr11:11位目的地址,用于ACALL和AJMP指令中。 addr16:16位目的地址。用于LCALL和LJMP指令中。 rel:补码表示的8位地址偏移量。范围:-128~+127D。 bit:片内RAM或SFR的直接寻址位地址。 @:间接寄存器的符号。 /:位操作指令中对该位先取反再参与操作,不影响原值。 (×):×中的内容。 ((×)):×指出的地址单元中的内容。 →:指令操作流程方向。
高级语言:独立于机器的,在编程时不需要对机 器结构及其指令系统有深入了解的通用性语言
精选2021版课件
2

第3章 指令系统

第3章 指令系统

第3章 指令系统3.1 指令系统的概述及符号约定指令是CPU执行某种操作的命令。

微处理器(MPU)或微控制器(MCU)所能识别全部指令的集合称为指令系统或指令集。

指令系统是制造厂家在设计CPU时所赋予它的功能,用户必须正确的书写和使用指令。

因此学习和掌握指令的功能与应用非常重要,是程序设计的基础。

本章将详细的介绍SPCE061A指令系统的寻址方式和各种指令。

µ’nSP™单片机指令按其功能可划分为:1) 数据传送指令,包括立即数到寄存器、寄存器到寄存器、寄存器到存储器存储器到寄存器的数据传送操作;2) 算术运算,包括加、减、乘运算;3) 逻辑运算,包括与、或、异或、测试、移位等操作;4) 转移指令,包括条件转移、无条件转移、中断返回、子程序调用等操作;5) 控制指令,如开中断、关中断、FIR滤波器的数据的自由移动等操作。

按寻址方式划分,可分为以下几类:立即数寻址这种寻址方式是操作数以立即数的形式出现,例如:R1 = 0x1234,是把16进制数0x1234赋给寄存器R1。

存储器绝对寻址这种寻址方式是通过存储器地址来访问存储器中的数据,例如:R1 =[0x2222],访问0x2222单元的数据。

寄存器寻址这种寻址方式是操作数在寄存器中,例如:R1 = R2,是把寄存器R2 中的数据赋给寄存器R1。

寄存器间接寻址这种寻址方式是操作数的地址由寄存器给出,例如:R1 = [BP],是把由BP指向的内存单元的数据送寄存器R1。

变址寻址这种寻址方式下,操作数的地址由基址和偏移量共同给出,例如:R1 =[BP+0x34]。

表3.1中的符号是在指令系统叙述过程中所要用到的,在此统一进行约定。

表3.1 符号约定R1,R2,R3,R4,R5(BP) 通用寄存器PC 程序计数器CS,DS SR寄存器中的代码段选择字段和数据段选择字段NZSC SR寄存器中的四个标志位(请参考下面几行)SR 段寄存器,其中BIT15~BIT10对应DS;BIT9~BIT6对应NZSC标志位; BIT5~BIT0对应CSIM6 6位(BIT)的立即数IM16 16位(BIT)的立即数A6 6位地址码A16 16位地址码Rd 目的(destination)寄存器或存储器指针Rs 源寄存器或存储器指针→数据传送符号MR 由R4,R3组成的32位结果寄存器(R4为高字节,R3为低字节)&,|,^,逻辑与记号,逻辑或记号,逻辑异或记号{} 可选项[] 寄存器间接寻址标志++,- - 指针单位字增量,字减量ss,us 两个有符号数之间的操作,无符号数与有符号数之间的操作Label 程序标号FIR Finite Impulse Response(有限冲击响应),数字信号处理中的一种具有线性相位及任意幅度特性的数字滤波器算法。

第3章 AT89S51的指令系统

第3章 AT89S51的指令系统
1. 累加器A 清“0”指令
(1) CLR A A清“0”,不影响Cy、Ac、OV等标志位。
2. 累加器A 求反指令
(2) CPL A A的内容按位逻辑取反,不影响标志位。
3.2.3 逻辑运算指令(25条)续
3.左环移指令
(3)RL A A7 A6 A5 A4 A3 A2 A1 A0
A向左循环移位,位7循环移入位0,不影响标志位。 4.带进位左环移指令
3.2.4 控制转移类指令(17条)续 4.条件转移指令(2条)
(4)JZ rel ;若A内容为“0”,则转移 (5)JNZ rel ;若A内容非“0”,则转移
规定的条件满足,则进行转移,条件不满足 则顺序执行下一条指令。
3.2.4 控制转移类指令(17条)续
5.比较不相等转移指令(4条)
举例: CJNE A,direct,rel
•不影响标志位:Cy、Ac和OV • 影响标志位:P(仅当A为目的操作数时)
3.2.1 数据传送类指令(28条)续
举例: MOV A,70H ;(70H)→A
MOV A,#70H ;70H→A
MOV A,R0 MOV A,@R0
;(R0)→A ;((R0))→A
3.2.1 数据传送类指令(28条)续
累加器A与外部数据存储器传送指令(4条) ;((DPTR))→A,读外RAM/IO MOVX A,@DPTR ;((Ri))→A,读外RAM/IO MOVX A,@Ri
MOVX @DPTR,A MOVX @Ri,A ;(A)→((DPTR)),写外RAM/IO ;(A)→((Ri)),写外RAM/IO
ACALL addrll ;短调用指令
2KB范围内的调用子程序的指令。
•与AJMP指令相类似,是为了与MCS-48中的CALL 指令兼容而设的。

单片机原理与应用第3章8051单片机指令系统

单片机原理与应用第3章8051单片机指令系统

80H SJMP 38H
38H 1832H+2
(1832H)
186CH
1834H 186CH
7.位寻址
对片内RAM中20H~2FH中的128个位地址及SFR中的 可位寻址的位地址寻址。
例如: MOV C,20H;20H位即24H.0的内容送CY标志 位,C称为位累加器。 MOV A,20H ;字节寻址,将内部 RAM中20H单 以上两条指令均为直接寻址,究竟是位寻址还是字节寻 址,根据两操作数类型一致的原则,由另一个操作数决定。 例如, MOV ACC.7, C
• • • • •
指令分类 数据传送指令(29条) 算术运算指令(24条) 逻辑运算和移位指令(24条) 位操作指令 (17条) 控制转移指令(17条) 共111条
3.2 寻址方式
指令中操作数提供的方式称为寻址方式。
指令符号约定
符号 Rn Ri #data addr16 addr11 direct rel 含 义
3.直接寻址: 操作数的地址直接出现在指令中。
寻址对象:①内部数据存贮器:使用它的地址 ②特殊功能 寄存器:既可使用它的地址,也可以 直接使用寄存器名。 例:MOV A,40H ; A=56H 机器码 E540H
41H 40H
78H 56H
MOV 40H,41H ; 机器码为854140H 内部RAM (41H)→(40H) 41H (40H)=(41H)=78H 40H MOV P0,#45H ;45H→P0, P0为直接寻址的 SFR,其地址为 80H, 机器码为758045H
操作数存放在寄存器中。 寻址对象:A,B,DPTR,R0~R7 。 B 仅在乘除法指令中为寄存器寻址,在其他指令中为直 接寻址。 A 可以寄存器寻址又可以直接寻址,直接寻址时写作ACC。

第3章 8086(8088)CPU指令系统

第3章 8086(8088)CPU指令系统
数据段 BX + SI 10H
20H 00H
00H 34H 12H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
16
+
3000H:3000H
AH
AL
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
●存储器寻址之相对基址加变址寻址(Base
9
第3章 8086/8088CPU指令系统
3.1.3 操作数寻址方式
4.1操作数寻址方式
所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操 作数的存放位臵,CPU在执行该指令时,按照指令格式中的表示找 到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一 部分存放在代码段中,在取指阶段数据 随指令一起被取到CPU,这种数据在指 令格式中的直接表现为常数。 如:MOV AL,34H

2
第3章 8086/8088CPU指令系统
汇编语言指令或符号指令:用字母和其它一些符 号组成的“助记符”与操作数等表示的指令称为汇编 语言指令或符号指令。 例如: MOV AX, BX ; AX←BX 而其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。助记符是MOV。
操作码
操作数
4
第3章 8086/8088CPU指令系统
3.1.1 8086/8088指令格式
4.1操作数寻址方式
8086/8088机器指令格式通常1-6个字节组成。典型的指令格式 由2个字节组成,如下图所示。
操作码 D W MOD REG R/M

微机原理第3章指令

微机原理第3章指令

第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。

为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。

第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。

个别指只有操作码没有操作数。

由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。

8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。

指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。

段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。

生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。

确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。

立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。

这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。

段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。

第3章单片机指令系统

第3章单片机指令系统

寄存器寻址 寻址方式 寄存器间接寻址
基址加变址寄存器间接寻址 相对寻址 位寻址
1.立即寻址

操作数直接由指令给出,通常紧跟指令操作码之 后的字节是操作数,该操作数被称为立即数。

立即寻址所对应的寻址空间为:ROM 立即数:8/16位二进制数
如:MOV MOV A,#7AH DPTR, #1234H
注意:
① 适当选择SFR。寻址SFR时,可以用直接地址,也可以 用寄存器名,但后者更容易理解和阅读 如: MOV A,0D0H ; (A)←(D0H) MOV A,PSW ; (A)←(PSW)
② 适当选择累加器的表达式
累加器A表达方式 A → 寄存器寻址 ACC 直接寻址 E0H ;04H 单字节
如:
INC A INC ACC INC 0E0H
;05E0H 双字节
③ 注意地址的区别(位地址与字节地址)
如: MOV A,30H MOV C,30H ; (A)←(30H) ;(C)←(30H) 字节操作 位操作
3. 寄存器寻址

操作数在寄存器中
可用寄存器有: (1)四组工作寄存器R0~R7共32个工作寄存器 (2)SFR中有A、AB、DPTR及CY 如: MOV R3,#12H MOV A,R3
注意:① 立即数前加“#”号 ② 立即寻址方式的指令是双字节的(第1个字节为 操作码,第2个字节是操作数) ③ 操作数是放在ROM内的常数
2. 直接寻址

指令中直接给出操作数所在的单元地址或位地址
直接寻址可访问的存储空间: (1)内部RAM低128个单元 在指令中直接以单元地址形式给出,地址范围00H~7FH (2)特殊功能寄存器SFR 直接寻址是SFR惟一的寻址方式,SFR可以用单元地址给出, 也可用寄存器符号形式给出(但A、AB、DPTR除外) (3)211个位地址空间 内部RAM中可位寻址的20H~2FH单元对应的128个位地址空间 11个SFR中83个可用的位地址空间

第3章体系结构与指令系统

第3章体系结构与指令系统

西南林学院计算机系 贺金平
2.6 ARM寄存器组成
2.6.1ARM寄存器组成概述 2.6.2ARM状态下的寄存器组织 2.6.3Thumb状态下的寄存器组织
西南林学院计算机系 贺金平
2.6.1 ARM寄存器组成概述
ARM处理器总共有37个寄存器,可以分为以下两 类寄存器 : 1) 31个通用寄存器 :
3.3 Thumb技术介绍
3.4 ARM处理器工作状态
3.5 ARM处理器工作模式
3.6 ARM寄存器组成
3.7 ARM异常中断
西南林学院计算机系 贺金平
本章的主要内容为:
3.8 ARM组织结构简介
3.9 ARM存储器接口及存储器层次
3.10 ARM协处理器
3.11 ARM片上总线AMBA
3.12 ARM核综述
西南林学院计算机系 贺金平
2.3.1 Thumb的技术概述
Thumb是ARM体系结构的扩展。它有从标准32位 ARM指令集抽出来的36条指令格式,可以重新编成 16位的操作码。这能带来很高的代码密度 ARM7TDMI是第一个支持Thumb的核,支持 Thumb的核仅仅是ARM体系结构的一种发展的扩展, 所以编译器既可以编译Thumb代码,又可以编译 ARM代码 支持Thumb的ARM体系结构的处理器状态可以方 便的切换、运行到Thumb状态,在该状态下指令集 是16位的Thumb指令集 。
西南林学院计算机系 贺金平
ARM体系结构的基本版本
ARM体系结构总结
核 ARM1 ARM2 ARM2aS,ARM3 ARM6,ARM600,ARM610 ARM7,ARM700,ARM710 ARM7TDMI,ARM710T,ARM720T ARM740T Strong ARM,ARM8,ARM810 ARM9TDMI,ARM920T,ARM940T 体系结构 V1 V2 V2a V3 V3 V4T V4 V4T

第三章指令系统(可编辑修改word版)

第三章指令系统(可编辑修改word版)

第三章指令系统习题参考答案(三)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 单片机有一个布尔(位)处理器,对位地址空间具有丰富的位操作指令。

第3章 寻址方式与指令系统

第3章 寻址方式与指令系统

- 8-
⑵ 寄存器间接寻址





若操作数在存储器中,存储单元有效地址被放在基址寄存器 BX、BP或变址寄存器SI、DI中,则称为寄存器间接寻址。 寄存器间接寻址方式在汇编格式中表示为: [基址寄存器名或变址寄存器名] 例如: MOV AX,[BX] ;物理地址=DS×16+BX MOV AL,[BP] ;物理地址=SS×16+BP MOV AX,CS:[DI] ;物理地址=CS×16+DI 其中“[BP]”、“[BX]”、“[DI]”都是寄存器间接寻址方式。
-11-
例如,TABLE是数据段中定义的一个变量名,假设它在数据段中的偏移地址为 0100H,有指令: MOV AX,TABLE[SI] 若(DS)=2000H,(SI)=00A0H,(201A0H)=12H,(201A1H)=34H, 则源操作数20位物理地址=20000H+0100H+00A0H=2000H+01A0H=201A0H 操作的示意图如图3.9所示:
3.1.4 指令的执行
要执行的程序段的指令,均保存在存储器中, 当计算机需要执行一条指令时,首先产生这条指令 的相应地址,并根据地址号打开相应的存储单元, 取出指令代码,CPU根据指令代码的要求以及指令 中的操作数,去行相应的操作。
- 4-
3.2 8086寻址方式
3.2.1 数据寻址方式
1. 立即数寻址 操作数直接存放在指令中,紧跟在指令操作码之后。这样的数称为 立即数,相应的寻址方式称为立即寻址方式。这种寻址方式在汇编语言 格式中表示为: 数字表达式 这个数字表达式的值可以是一个8位无符号整数,也可以是一个16 位无符号整数,但不可以为小数。 例如: MOV AX,251 ;将十进制数251送入寄存器AX,“251”是立即数 MOV AL,‘5’ ;将5的ASCII码送入寄存器AL,其中‘5’是立即 数 MOV AL,0E8H ;将8位立即数E8H送入寄存器AL MOV AX,2346H ;将16位立即数2346H送入寄存器AX 可以看到,立即数寻址方式主要用来给寄存器或存储单元赋值,因 此这种寻址方式不能用于单操作数指令;若用于双操作数指令,也只能 用于源操作数字段,不能用于目标操作数字段。

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

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

2.2 用@Ri进行间接寻址的指令 MOVX A, @Ri; ((Ri)) MOVX @Ri,A; (A) (A) ((DPTR))
说明:若外部扩展RAM小于等于256单元,用@Ri间接 寻址进行数据传送,8位地址线足够使用。
若外部扩展较大的RAM区域,须用P2口输出高8位地址, 用@Ri表示低八位地址,P0口分时作低8位地址线和数 据线,P2口应事先预置。
累加器
Rn #data 立即数
寄存器
2 外部数据存储器(或I/O)的读写指令 2.1 用@DPTR进行间接寻址的指令
MOVX A, @DPTR; ((DPTR)) (A)
MOVX @DPTR,A; (A)
((DPTR))
DPTR为16位数据指针,该指令可寻址外部RAM64K范围 (0000H-0FFFFH),地址低8位由P0口输出,地址高8 位由P2口输出,数据通过P0口读入或写出。
一 数据传送指令 1 内部数据传送指令(MOV) 指令格式:MOV <目的操作数〉,<源操作数> 指令的源操作数和目的操作数都在单片机内部。可以 是片内RAM地址,也可以是特殊功能寄存器SFR的地址 指令的功能是把源操作数指定的字节变量复制到目的 操作数所规定的单元或寄存器中,源字节不变。
1.1 立即数传送指令 源操作数为立即数 八位立即数传送指令: MOV A,#DATA; DATA (A) 例:MOV A,#02H; MOV Rn,#DATA; DATA (Rn) n=0-7 例:MOV R3,#02H; MOV @Ri,#DATA; DATA ((Ri)) i=0,1 例:MOV @R1,#02H; MOV direct,#DATA; DATA (direct) 例:MOV 30H,#02H;

第3章80888086指令系统(老师用的课件哦)

第3章80888086指令系统(老师用的课件哦)

第3章 8088/8086指令系统
图3.5 变址寻址示意图
第3章 8088/8086指令系统
例:MOV AX,200AH[SI];或(AX)←
[(DS)*16+(SI)+200AH
EA=(SI)
+200AH,SI为变址寄存器,200AH为16位的位移量。
图3.6为用BP寄存器进行变址寻址时的示意图。
第3章 8088/8086指令系统
3.存储器操作数 存储器操作数是把操作数放在存储器单元中。对这 类操作数,在指令中必须给出存储器的地址。存储器 的实际地址(也称物理地址)是由指定的段基址和段内地 址偏移量(也称为有效地址EA)所决定的。由于段基址 相对很少改变,故一般预先予以指定,以后通过隐含 方法使用,即只要段基址未改变,其在汇编指令中便 不再出现。此时,只给出有效地址EA(以各种寻址方式 给出)。
第3章 8088/8086指令系统
3.2 8088/8086指令系统
3.2.1 数据传送指令 1 .数据传送指令MOV 指令格式:MOV OPRD1,OPRD2 MOV 为操作码。 OPRD1为目的操作数,可以是寄存器、存储器、
累加器。
第3章 8088/8086指令系统
OPRD2为源操作数,可以是寄存器、存储器、累 加器和立即数。
第3章 8088/8086指令系统
4.寄存器间接寻址
寄存器间接寻址的操作数类型为存储器操作数,与 直接寻址方式的区别是:该存储单元的16位段内偏移 地址,不是从指令代码中直接得到,而是从指令所指 定的寄存器中得到。能用于间接寻址的寄存器为SI、 DI、BX、BP。若以SI、DI、BX进行间接寻址,应由 数据段DS的内容作为段基址,间接寻址寄存器的内容 为段内偏移量,并指定形成操作数的物理地址。若以 寄存器BP间接寻址,则BP中的内容为段内偏移量,段寄 存器SS与之一起形成物理地址。寄存器间接寻址示意 图如图3.4所示。

第3章 Cortex-M3 指令系统

第3章  Cortex-M3 指令系统
低,它集中地反映了微处理器的硬件功能和属性。
3.2.1指令和指令格式
2. 指令的表示方法 从形式上看,ARM指令在机器中的表示格式是用32位的二进制数
表示。如ARM中有一条指令为: ADDEQS R0, R1, #8
其二进制代码形式为:
31~28 27~25 24~21 20
0000 001
0100 1
3.1.2 指令周期和时序
举例:以ARM7微处理器为例,所有存储器的传输周期都可以被 归结到以下四种类型之一:
(1)不连续周期:ARM请求传输到某个地址或者从某个地址传输 ,但这个地址跟前一个周期用到的地址没有联系,这种情况所 需的时间称为访问一个非顺序的内存位置的周期,简称为N 周 期。
(2)连续周期:ARM请求传输到某个地址或者从某个地址传输, 此地址或者同上一个周期的地址相同或者是上一个周期的地址 之后一个字。这种情况所需的时间称为访问一个顺序的内存位 置的周期,简称为S 周期。
3.2.3指令的条件执行
• 条件后缀只是影响指令是否执行,不影响指令的内容,如上
述ADDEQ指令,可选后缀EQ并不影响本指令的内容,它执 行时仍然是一条加法指令。
要的指令特征和可选后缀的编码;
第3个域是地址基址Rn,是4位[19:16],为R0~R15共16个寄存器 编码;
第4个域是目标或源寄存器Rd,是4位[15:12],为R0~R15共16个 寄存器编 码;
第5个域是地址偏移或操作寄存器、操作数区[11:0]。
3.2.1指令和指令格式
• 3. 汇编指令格式
3.2.3指令的条件执行
程序要执行的指令,均保存在存储器中,当计算机需要执行 一条指令时,首先产生这条指令的地址,并根据地址号打开 相应的存储单元,取出指令代码,CPU根据指令代码的要求 以及指令中的操作数,去执行相应的操作。

第3章 指令系统

第3章 指令系统
跳转指令的入口处和程序的开始位置通常需要设置标号,当程 序需要转移和调用时,可直接引用此标号,将程序的执行流向 引导到设置的标号处。 标号也有三个属性:段属性、偏移属性和距离属性。 标号以字母开头,由字母、数字、特殊字符(如?,下划线等 )组成的字符串表示。标号不能与保留字相同。保留字包括寄 存器名、指令助记符等。 3
(2) 32位寻址:任何一个32位通用寄存器可作为基址寄存器 ;除ESP之外的任一个32位通用寄存器可作为变址寄存器。 如:MOV AX,[EBX+ECX] ; 或 MOV AX,[EBX][ECX] ; DS段的字数据送AX。
17
7、带位移的基址加变址寻址:基址寄存器内容与变址 寄存器内容再加偏移量之和形成操作数的EA。即: EA=[基址寄存器]+[变址寄存器]+偏移量
:通用寄存器。长度可以是8位、16位、32位。 如reg8表示8位通用寄存器,reg16表示16位通用寄存 器。
Sreg mem imm
:段寄存器(段选择符)。
:存储器。长度可以是8位、16位、32位。如 mem8表示8位存储器。 :立即数。长度可以是8位、16位、32位。 AL,AX或EAX) 。
操作符:指令的操作符,指示CPU完成某种操作,不 可省略。 操作数:指令执行时的操作对象,可以是数据或地址 表达式。 注释:程序注解。 **方括号表示其中的内容为可选项。
START:MOV AX,DATA MOV DS,AX
;设置DS
4
数据类型
80X86主要包括以下六种数据类型: 1、无符号二进制数:
有符号二进制数以补码形式存储,地址单元分配与 无符号数类似。
3、浮点数(实数)
(从略)
6
4、BCD码 1)压缩(组合)BCD码:1字节存放两个BCD码,如图 a。 2)非压缩BCD码:1字节存放一个BCD码(低4位) ,如图b。

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

第03章 MCS - 51单片机指令系统
这里源操作数不能进行寄存器间接寻址, 也就是MOV Rn , @Rn 这个指令是不能用 的。
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
(2)将数据传送到工作寄存器Rn的指令(3条) 例:已知累加器A的内容为30H,寄存器R7的内容 为50H,内部RAM30H单元的内容为40H,内部 RAM50H单元的内容为10H,请指出下列每条指令 执行以后相应单元内容的变化.
第 一 节 指 令 格 式 与 寻 址 方 式
第3章 MCS-51单片机指令系统
(6) 相对寻址:
在MCS -51 指令系统中设有转移指令, 分 为直接转移和相对转移指令, 在相对转移 指令中采用相对寻址方式。这种寻址方式 是以PC的内容为基本地址, 加上指令中给 定的偏移量作为转移地址,也就是目的地 址(用来修改PC的值)。指令中给出的偏 移量是一个 8 位带符号的常数, 可正可负, 其范围为-128~+127。
第3章 MCS-51单片机指令系统
(1) 立即寻址:
立即寻址方式是将操作数直接存放在指令字 节中,作为指令的一部分存放在代码段里。 比如:MOV A, #3AH 跟在指令操作码后面的数就是参加运 算的数, 该操作数称为立即数。立即数有一字 节和二字节两种可能, 如指令: MOV DPTR, #0DFFFH 上述两条指令均为立即寻址方式, 第 一条指令的功能是将立即数 3AH送累加器A中, 第二条指令的功能是将立即数 0DFFFH送数据 指针DPTR中(DPH, 0FFH→DPL)。
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
3.2数据传送指令
程序中使用最多的指令,主要用于内部RAM、 寄存器、外部RAM以及程序存储器之间的数据 传送、保存以及交换。 工作原理:将源操作数简单地传给目的 操作数,而源操作数的内容不变,PSW的内容 不改变。 分类:内部数据传送指令、外部传送指 令、查表指令、交换指令和堆栈指令。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

……
I/O接口
…… MM
操作数在 内存中
I/O设备
第3章 指令系统
一级间接寻址
主存储器 IR OP @ 间接地址 有效地址 IR
三级间接寻址
主存储器 OP @ 一级间址 操作数 1 二级间址 三级间址 有效地址
操作数 1 0
(a)
(b)
EA=(A) S=((A))
EA=(((A))) S=((((A))))
16 位操作码 16 条零地址指令
第3章 指令系统
例:PDP-11机的指令格式
4 6 6
OP
8
S
2
D
6
OP
8
R
8
S X
6
单字长 (16位)
OP
10
OP
13
D
3
OP
16
R
OP 二字长 (32位) 三字长 (48位)
4 6 6 16
OP
4
S
6
D
6
地址
16 16
OP
S
D
地址1
地址2
第3章 指令系统
§3.2 指令类型
计算机组成原理A
西 南 交 通 大 学 信息科学与技术学院
2006年2月
第3章
§3.1 指令格式 §3.2 指令类型 §3.3 寻址技术
指令系统
§3.4 堆栈与堆栈操作 §3.5 指令系统实例
第3章
本章重点:
指令系统
1. 理解指令的基本格式和基本操作种类,理解扩展操 作码方法; 2. 掌握基本数据寻址方式和有效地址的确定方法,搞 清楚每一种基本寻址方式的特点; 3. 存储器堆栈的概念及堆栈的进、出栈操作
第3章 指令系统
地址段Ai的长度(N)与存储器容量(M)的关系: OP A M=2N
内存地址
存在问题:① 地址段位数增长→指令过长; ② 程序设计的灵活性差。 ∴ 需要采用好的寻址技术!
第3章 指令系统
3.1.3 指令的操作码
OP
A
1. 规整型(定长操作码、变长指令码) n位操作码最多可表示2n 种计算机指令. 特点:操作码字段规整,译码简单、迅速。 指令的长度随操作数个数的不同而变化。 (适于大、中、小型机)
…… MM
I/O设备
注:输入、输出都是对CPU而言的。 例如输入,指从I/O到CPU的数据传送。
第3章 指令系统
3.2.4 输入输出类指令 输入指令如: IN A,端口地址 输出指令如: OUT 端口地址,A ; A是CPU中的寄存器 ; A是CPU中的寄存器
在I/O设备独立编址的计算机中,指令系统设有专门的输入/ 输出指令(IN/OUT);而在I/O设备与内存统一编址的计算机 中,输入输出由传送指令来实现,不设专门的输入/输出指令。
IR PC R0 R1 …… CPU
…… 操作数 在内存 中
I/O接口
…… MM
I/O设备
第3章 指令系统
(4)间接寻址(Indirect Addressing) 形式地址是有效地址的地址。 EA = (A)
OP ...... M A A EA 内存
EA ……
操作数
需访问两次主存才能取出操作数。
IR PC R0 R1 …… CPU
特点: 扩大了寻址范围,可用指令的短地址访问大容量的主存空 间; 访问速度较慢。
第3章 指令系统
(5)寄存器间接寻址(Register Indirect Addressing) 寄存器中存放操作数的有效地址。 EA = (Ri)
OP … M Ri Ri ...... EA ...... EA 操作数 内存
OP
A
与机器的用途、性能的总体要求有关。 通用型计算机其基本的操作种类有: 数据传送类指令 运算类指令 程序控制类指令 输入输出类指令 (非必备) 其它种类指令还有: 串操作指令 数据转换指令 处理机控制指令 特权指令
第3章 指令系统
§3.2 指令类型
3.2.1 数据传送类指令
1.一般传送指令 (复制) 把数据从源地址复制到目的地址中去。 常用助记符:MOV ,LOAD(LD) ,STORE 类型:寄存器→寄存器 寄存器→主存 主存→寄存器 主存→主存 2.堆栈操作指令 进栈PUSH、出栈POP,在程序中它俩往往成对出现。 3.数据交换指令 常见的有字节交换、字交换、高低半字节之间交换等。 常用助记符:XCHG
第3章 指令系统
思考题: P78 1,2,5,6 习题:P78 3,4
第3章 指令系统
§3.3 寻址技术
寻址:1)指令寻址 2)数据寻址 指令寻址:寻找下一条将要执行的指令地址。 通常采用顺序寻址(顺序执行)或跳跃寻址(转移) 数据寻址:寻找操作数的地址。 (本章重点) 寻址与存储单元的编址有关
第3章 指令系统
3.3.1 编址 1.编址单位 常见的编址单位有: 按字编址:编址单位=计算机字长 按字节编址:编址单位=1个字节 按位编址:编址单位=1bit 2.指令中地址码的位数 主存容量越大,所需的地址码位数越长; 编址单位越小,所需的地址码位数越长。
第3章 指令系统
3.3.2 基本的数据寻址方式 数据寻址方式:由指令中形式地址确定有效地址的方法。 以单操作数为例 无寻址技术时: 有寻址技术时:
0000 第0页256个单元 00FF 0100 第1页256个单元 01FF 0200 …… 64K个单元
页面地址 页内地址
第3章 指令系统
⑼页面寻址 页面寻址又可以分成三种不同的方式: 1)基页寻址 EA = 0∥A 操作数S在零页面中。实际上就是直接寻址。 2)当前页寻址 EA=(PC)H∥A 3)页寄存器寻址 页面地址取自页寄存器,与形式地址相拼接形成有效地址。 操作数S与指令本身处于同一页面中。
形式地址短,但可访问较大的内存空间。
IR PC R0 R1 …… CPU
……
I/O接口
…… MM
操作数 在内存 中
I/O设备
第3章 指令系统
(6)变址寻址(Indexed Addressing) 有效地址 = 变址寄存器的内容 + 形式地址(位移量)。 EA = (Rx) + A
主存储器 IR OP RX A
4位操作码 15 条三地址指令
8 位操作码 15 条二地址指令
1111 1111 0000 xxxx 1111 1111 0001 xxxx ... ... 1111 1111 1110 xxxx
12 位操作码 15 条一地址指令
1111 1111 1111 0000 1111 1111 1111 0001 ... ... 1111 1111 1111 1111
(取指令的同时取出数据)
寻址方式
操作数在 指令中 IR PC R0 R1 …… CPU …… MM I/O设备
……
I/O接口
第3章 指令系统
(2)寄存器寻址(Register Addressing) 操作数在某一通用寄存器(在 CPU)中。
OP … M Ri Ri ...... 操作数 ......
主存储器 IR OP Rb D 操作数 -D ALU 基址值 +D 操作数 Rb 基址值
第3章 指令系统
◆ 变址寻址与基址寻址的区别: 变:通常由变址寄存器提供修改量, 形式地址为基准地址, 面向用户(例如向量运算); 基:基址寄存器提供基准地址, 形式地址为位移量, 面向操作系统(例如程序的动态重定位)。
OP A OP M A 寻址方式 存储器地址 (有效地址) 形式地址
形式地址:指令中地址字段给出的地址。
(通常不能直接用来访问存储器)
有效地址:形式地址经过一定的计算而得到的能直接访问存 储器的地址。
形式地址
寻址方式
有效地址
第3章 指令系统
采用寻址方式的原因: ① 操作数地址表示多样化需要; ② 压缩操作数地址字段的长度。
第3章 指令系统
例:IBM 370机的指令格式 指令可分为几种不同的长度,不论指令的长度为多少位, 其中操作码字段一律都是8位。
8 4 4 4 4 4 12
RR型 RX型 RS型 SI型 SS型
OP
8
R1 R2 R1 X2
4 4
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
第3章 指令系统
第3章

指令系统
令: 执行某种基本操作的命令(如:加、减)。 指令是计算机硬件能够识别并直接执行的操作命令, 指示计算机硬件完成指定的基本操作。

序: 由一系列有序指令构成。
指令系统:一台计算机能执行的全部的指令的集合。 指令系统是软件和硬件的主要界面。 是设计计算机硬件的一个基本依据, 是软件设计者则编制程序的基础。
C C 0
注:算逻运算除了产生运算结果外,还产生一些状态信息记录在 状态寄存器PSW的标志位中。 例如:进位、溢出、全零、正负和奇偶标志等。
第3章 指令系统
3.2.3 程序控制类指令 1.转移指令 (1)无条件转移 功能:PC←A (2)条件转移 如:JC A 2.子程序调用指令 CALL SUB_A 3.返回指令 RET 返回主程序 RETI 中断返回 (进位位标志C=1时转)
第3章 指令系统
⑻相对寻址
主存储器 IR OP D 操作数 ALU
OP | D
-D
下条指令 +D 操作数
PC
指令地址
EA=(PC)+D 位移量D指出的是操作数和现行指令之间的相对位置。
第3章 指令系统
⑼页面寻址 将主存空间分页,可解决地址码位数与主存访问范围的矛盾。
相关文档
最新文档