第四章 指令系统、寻址方式

合集下载

第4章_计算机指令构成和寻址方式

第4章_计算机指令构成和寻址方式

Pentium指令系统所支持的数据类型:
1. 整数:补码表示的二进制数,字节(8位)、字(16位)和双字(32 位)3种。
2. 序数:无符号二进制数,字节(8位)、字(16位)和双字(32位)3 种。
3. UBCD数:未压缩的(unpacked)BCD数,数字值0到9,每个数字 占一个字节。 4. BCD数:压缩的BCD数,一个字节可以表示2位数字,从00到99。 5. 指针:32位有效地址,指出段内的地址偏移量。
二地址指令
一地址指令 零地址指令
add r1,r2
add r1 add
r1←r1+r2
A←A+r1 T←T+(T-1)
寻址方式:
寻址方式指的是如何描述一个操作数或下一条指令的地址, 即确定操作数或下一条指令地址的方法。常用的寻址方式有 立即数寻址、寄存器寻址、直接寻址、间接寻址、相对寻址 等。
指令长度: 指令长度有固定长度和可变长度两种。RISC处理机一般采用 固定长度的指令格式,例如SUN SPARC的指令长度均为32位, 与数据字长相同。定长指令格式的好处在于指令译码和流水 线执行比较容易。Pentium处理机的指令长度是可变的,常用 指令用较少的二进制位表示,不常用的指令使用较多的位表 示,它的好处是可以缩短指令的平均长度。 指令系统设计中的问题: 指令种类和寻址方式越多越好,还是越少越好?指令种类越 多、寻址方式越复杂,说明处理机的功能越强。但同时,实 现一条复杂指令需要较多的逻辑门电路,执行一条复杂指令 所化费的时间也比较长,而且处理机的设计复杂度提高、设 计周期增长,并且复杂指令的使用频率较低。指令种类少、 寻址方式简单的好处是可以提高时钟频率,缩短指令周期, 从而很快完成一条指令的执行。但并不是越简单越好,指令 太简单,完成一次比较复杂的操作往往需要一长串的简单指 令序列,也会使执行时间变长,同时也使程序变长。

微机原理 第四章 微型计算机指令系统

微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H

78H 21000H 56H
青岛理工大学琴岛学院

4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。

例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP

MCS-51单片机的指令系统

MCS-51单片机的指令系统

整理ppt
12
4.2 寻址方式
51汇编语言有42种操作码助记符,用来描述33种操作功 能。一种操作码可以使用一种以上的数据类型,又由于 助记符规定了其访问的存储器空间,所以一种功能可能 有几个助记符(如MOV、MOVX、MOVC)。功能助记 符与寻址方式组合,得到111条指令。
整理ppt
13
4.2 寻址方式
1)无操作数单字节指令
这类指令只有操作码字段,操作数隐含在操作码中。
例如:INC DPTR
指令码为 :
数据指针隐含其中
整理ppt
6
指令的组成及字节数
2)含有操作数寄存器号的单字节指令 单字节的指令码由操作码字段和指示操作数所 在寄 存器号的字段组成。 例如;MOV A,Rn 指令码为:
其中,rrr为寄存器Rn的编号
整理ppt
2
4.1 指令和指令程序
“指令”: CPU能直接识别和执行的命令。 指令系统:CPU所能执行的全部指令的集合。
与CPU的能力、使用的方便灵活性密切相关。 指令的记忆问题?指令本身是二进制代码。
例如以下的51单片机指令:
把10放到累 740AH 加器A中 为பைடு நூலகம்便于记忆 指令助
A加20,结 果仍在A中
整理ppt
8
指令的组成及字节数
3.三字节指令(17条)
这条指令的指令码的第1字节为操作码;第2和第3字节为 操作数或操作数地址,有如下3类。 1)16位数据 例如:MOV DPTR,#26ABH 指令码为:
整理ppt
9
指令的组成及字节数
2)8位地址和8位数据 例如:MOV 74H,#0FFH 指令码为:
在MCS-51指令中,若操作数是以R0~R7来表示操作数时, 就属于寄存器寻址方式。

《计算机组成原理》教程第4章指令系统

《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.

楼第4章指令系统习题解答

楼第4章指令系统习题解答

楼第4章指令系统习题解答习题解答:1.什么是寻址模式?8086/8088 CPU的寻址模式是什么?答:指令的寻址方式就是指获得操作数所在地址的方法。

8086/8088cpu指令的寻址方式可分为8种,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。

2.指示源操作数和目标操作数在以下指令中的寻址方式(1)movax,[si]源操作数:寄存器寻址目的操作数:寄存器间接寻址(2)movdi,100源操作数:寄存器寻址目的操作数:立即寻址(3)mov[bx],al源操作数:寄存器间接寻址目的操作数:寄存器寻址(4)mov[bx+si],cx源操作数:基址变址寻址目的操作数:寄存器寻址(5)adddx,106h[si]源操作数:寄存器寻址目的操作数:寄存器相对寻址3.阅读以下说明(1)sti对(2)call1000h错(3)divax,dl错(4)shlal,4错(5)popax对(6)inal,[30h]错(7)inccs错(8)out40h,al对4.地址是根据已知的物理条件计算的。

已知:SS=1000h,ES=2000h,DS=3000h,CS=4000H,BX=5000h,di=1200h,BP=2300h(1)(2)(3)(4)(5)5.将SP的初始值设置为2400h,ax=4000H,BX=3600h,然后在执行pushax指令后,SP=?,执行pushbx和popax后,SP=?答:则执行指令pushax后,sp=2400h-2=23feh,再执行pushbx和popaxMovax,[2300h]计算公式:DS×16+2300hmov[BX][di],ax计算公式:DS×16+BX+diaddax,es:[2100h]计算公式:es×16+2100hsubdx,[BP+6]计算公式:SS×16+BP+6movax,[di]计算公式:DS×16+di后sp=23feh。

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。

计算机组成原理(白中英)第4章指令系统

计算机组成原理(白中英)第4章指令系统

计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。

微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。

它是机器硬件设计的依据,也是软件设计的基础。

它决定了一台计算机硬件的主要性能和基本功能。

是硬件和软件间的界面。

系列计算机:有共同的指令集,相同的基本体系结构。

CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。

1.完备性:指令丰富,功能齐全,使用方便。

完备性 2.有效性程序占空间小,执行速度快。

有效性: 2.有效性:程序占空间小,执行速度快。

3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。

据格式的一致性。

4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。

的软件可以在高档机上运行。

20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。

器的指令系统密切相关。

汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。

编写与硬件没有直接关系的应用软件。

20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。

指令字(简称指令)即表示一条指令的机器字。

第四章 指令系统2

第四章  指令系统2

二、RISC
4、较少的指令数和寻址方式,容易解释 较少的指令数和寻址方式, 5、固定的指令格式,用以解释 固定的指令格式, 6、CPU内大量设置通用寄存器,减少对内存的 CPU内大量设置通用寄存器, 内大量设置通用寄存器 访问,提高速度 访问, 7、硬布线控制器,提高速度 硬布线控制器,
进栈操作为: 进栈操作为: ,(SP)- )-1→SP (A)→Msp ,( )- ) 其中( )表示通用寄存器A的内容, 表示 其中(A)表示通用寄存器A的内容,SP表示 堆栈指示器, 堆栈指示器,Msp 表示堆栈指示的存储器栈 顶单元。 顶单元。 出栈操作为: 出栈操作为: )+1→SP,( ,(Msp)→A (SP)+ )+ ,( ) A
4.5指令类型自己看
RISC和CISC 一、复杂指令系统计算机CISC 复杂指令系统计算机
1、指令系统复杂庞大,指令数目一般2、3 指令系统复杂庞大,指令数目一般2 百条,需要用复杂的控制器支持。 百条,需要用复杂的控制器支持。 2、寻址方式多,影响速度 寻址方式多, 指令格式多, 3、指令格式多,难以解释 4、指令字长不固定,解释复杂 指令字长不固定,
3.特点: 3.特点: 特点
堆栈能够具有程序员要求的任意长度; (1) 堆栈能够具有程序员要求的任意长度; 只要程序员喜欢,愿意建立多少堆栈, (2) 只要程序员喜欢,愿意建立多少堆栈, 就能建立多少堆栈; 就能建立多少堆栈;
3.特点( 3.特点(续): 特点 (3) 可以用对存储器寻址的任何一条指令来 对堆栈中的数据进行寻址。 对堆栈中的数据进行寻址。 (4) 在存储器类型的堆栈中,需要一个堆栈 在存储器类型的堆栈中, 指示器,它是CPU中一个专用的寄存器。 CPU中一个专用的寄存器 指示器,它是CPU中一个专用的寄存器。堆 栈指示器指定的存储器单元, 栈指示器指定的存储器单元,就是堆栈的栈 这一部分就不能用作其他用途。 顶。这一部分就不能用作其他用途。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、立即寻址
指令中给出的操作数就是实际操作数,不用寻址。
例:MOV A,#70H ;#表示立即数
二、直接寻址
指令中直接给出操作数存放的地址,直接就是结果地址。 例:ANL 70,#48H ;若(70H)=0FH,结果(70H)=?
说明:
1、内部RAM 2、特殊功能寄存器(SFR),而 且是唯一的方式 3、位地址空间
四、堆栈传送(2条)
Rn
Rn
MOV Rn, #Data MOV Rn, Direct MOV Rn, A
A
A
#Data #Data Direct
MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV
A, #Data A, Direct A, @Ri A, Rn Direct, #Data Direct, Direct Direct, @Ri Direct, A Direct, Rn @Ri, #Data @Ri, Direct @Ri, A
指令归纳(24条) 典型指令说明:
B
MUL AB DIV AB
ADD A, <X> ADDC A, <X> SUBB A,<X>
Rn
#Data
A
INC <X> DEC <X> DA A DPTR
INC DPTR Direct
@Ri

举例:
例1:A=85H, (20H)=AFH, C=1
执行 ADD A,20H和 ADDC A,20H 求:C= AC= P= OV= A= ? 例2:两个三字节二进制数相加。 (52H)(51H)(50H)←(32H)(31H)(30H)+(42H)(41H)(40H) 8C 2C 1D 35 97 98 56 94 85
3、 SWAP A; 高低半字节自交换 (1条)
高4位
低4位
堆栈操作指令(2条)
(1)PUSH direct 进栈或压栈 4 (2) POP direct 出栈或弹出 堆栈的概念 是一种存储器操作,按先进后出规则
3
2 1
另一种操作称队列,按先进先出规则
例:设初始输入序列为1,2,3,4,5,利用一栈操作产生一个 输出序列,下列哪一个序列是不可能通过栈操作产生的? A、1,2,3,4,5 C、4,3,2,1,5 B、5,3,4,1,2 D、3,4,5,2,1
MOV A, 30H
ADD A, 40H MOV 50H, A MOV A, 31H ADDC A, 41H
MOV A, 32H
ADDC A, 42H MOV 52H, A JC OVER
MOV 51H, A
DA A ;BCD码的加法调整, 1字节(D4H),1周期 IF[(A3-0)>9] OR [AC=1] THEN (A3-0)+6 AND IF[(A7-4)>9] OR [C=1] THEN (A7-4)+6 例3:两个三字节二进制数相加。 (52H)(51H)(50H)←(32H)(31H)(30H)+(42H)(41H)(40H) 92 92 83 35 97 98 56 94 85 MOV A, 30H ADD A, 40H DA A MOV 50H, A MOV A, 31H ADDC A, 41H DA A MOV 51H, A MOV A, 32H ADDC A, 42H DA A MOV 52H, A
第四章 指令系统
4.1 概述
指令系统:计算机所能识别和执行的所有指令的集合。
原始的指令格式和现行指令格式 第一个操作 第二操作数 操作码 数地址 地址
MCS-51总共有111条指令: 字 长 单字节指令 49条
结果数地 址
下一条指令 地址
时 间 1个机器周期指令 64条
双字节指令
三字节指令
45条
17条
SP→ 07 08 SP→ 09 0A 0B 0C
XX 10H 36H
(2)POP direct
2字节 2周期 D0H XXH SP→ 07 08 SP→ 09 0A 0B 0C XX 10H 36H
编码: 1101 0000 功能:进栈
direct (direct) ← (SP)
SP ←SP-1
编码: 1110 0101
direct
E5 XX
(3)MOV A,@Ri 1字节 编码: 1110 011i (4)MOV A,#data 2字节
; A ←((Ri))
1周期 i = 0,1 , E6H , E7H
A ←data(立即数)
1周期 74H XXH
编码:0111 0100 #data(8位)
2个机器周期指令
4个机器周期指令
45条
2条
举例: 1、单字节指令 MOV R0, A D7 1 D6 1 D5 1 D4 1 D3 1 ; R0← (A) D2 0 D1 0 注:()表取内容 D0 0 F8H
2、 双字节指令 MOV 20H,R0 ;20H←(R0)
D7 1 0 D6 0 0 D5 0 1 D4 0 0 D3 1 0 D2 0 0 D1 0 0 D0 0 0 操作码 88H
;与、或、异或
单操作数:CLR、CPL、RL、RLC、RR、RRC ;清零、取反、左移、带进位左移、右移、带进位右

左循环: RL A 带进位左循环:RLC A
右循环:RR A
带进位右循环:RRC A
高低四位交换:SWAP A
字节逻辑运算(24条)
单操作数:CLR、CPL 、RL、RLC 、RR、RRC Rn Direct 双操作数:ANL、ORL、XRL
操作:A(商),B(余数) A/B 对标志位的影响:C=0,若原来B=0则OV=1,否则OV=0 例5:A=58H, B=10H 执行:DIV AB
B= ?
08H
A= ?
05H
C= ?
0
OV= ?
0
4.3.3 逻辑运算 (36条)
字节逻辑运算(24条)
1、字节逻辑运算
位逻辑运算 (12条)
双操作数:ANL、ORL、XRL
Direct
@Ri
@Ri
片内字节传送 (15条)
片内字节传送指令举例 格式:MOV 〈目的字节〉,〈源字节〉 功能:传送位数据。〈目的字节〉←〈源字节〉
举例:
(1)MOV 1字节 编码: 1 1 0 1 A,Rn 1周期 1rrr E8H~EFH ;n=0~7 , A ←(Rn)
r r r 从 000~111 对应工作寄存器R0~R7 (2)MOV A,direct 2字节 1周期 ; A ←(direct)
举例:MOV C, 06H
@Ri @DPTR
MOVX A, @DPTR MOVX @DPTR, A MOVX A, @Ri MOVX @Ri, A ;外RAM低8位地址
A
外 RAM @Ri @DPTR
;高8位地址, MOV P2, X
2、访问程序存储器(内外统一) (2条)
MOVC A, @A+PC
MOVC A, @A+DPTR
例:设栈的状态如右图,执行 POP 20H POP 30H
问: (20H)= ? (30H)= ? SP= ? 及栈的变化。
举例:A=1FH,DPTR=0123H 主程序
PUSH A
PUSH DPL PUSH DPH LCALL S1 POP DPH 调用子程
POP DPL
POP A
4.3.2 算术运算
(1)PUSH direct 2字节 2周期 direct SP ←SP+1 C0H XXH
编码: 1100 0000 功能:进栈
(SP) ←(direct)
例:设A=10H,B=36H,SP=07H,执行 PUSH 0E0H PUSH 0F0H 问:A= ? B= ? SP= ? 及栈的变化。 仿真
操作数
20H
3、三字节指令 MOV 60H,#2FH ;60H← 2FH D7 D6 D5 D4 D3 D2 D1 D0
0
0 0
1
1 0
1
1 1
1
0 0
0
0 1
1
0 1
0
0 1
1
0 1
操作码
75H
操作数地址60H
操作数 2FH
4.2 寻址方式
将指令中操作数的形式地址→物理地址(或结果地址)的方式。 在MCS-51系统中有7种寻址方式: 1、立即寻址 5、变址寻址 2、直接寻址 3、寄存器寻址 4、寄存器间接寻址 6、相对寻址 7、位寻址
综合举例:
内部RAM:(30H)=40H; (40H)=10H; P1口上数据为CAH。 MOV R0, #30H
MOV A, @R0
MOV R1, A MOV B, @R1 MOV @R1, P1 MOV P2, P1 结果:(R0)= (R1)= (A)= (B)= (40H)= (P1)= (P2)=
六、相对寻址
专门为程序转移设置,(PC)+偏移量作为转移地址。 例: JC 10H ;若C=1转
1000 40 10 JC 10H 1002

1012
七、位寻址 在指令中直接给出位地址。
指令系统
指令系统:计算机所能识别和执行的所有指令的集合。
MCS-51总共有111条指令: 单字节(49条)、双字节(45条)、三字节(17条) 1机器周期(64条)、2机器周期(45条)、4机器周期(2条) MCS-51有7种寻址方式: 1、立即寻址 2、直接寻址 #Data Direct 5、变址寻址 6、相对寻址
MUL AB ;乘法,1字节(A4H),4周期 操作: (B)15-8(A)7-0 AB 对标志位的影响:C=0,若结果B=0则OV=0,否则OV =1 例4:A=50H, B=A0H
相关文档
最新文档