《计算机硬件技术基础(第三版)》第4章 指令系统

时间:2025-05-01

《计算机硬件技术基础(第三版)》

第4章

指令系统天津大学 计算机科学与技术学院

《计算机硬件技术基础(第三版)》

4. 1

指令格式

4.1.1 指令格式 . . 指令是由许多部分组成的,在构成指令的这几部分中, 只有操作码部分是必需存在的。其余各部分则要根据指令操 作所涉及的操作数类型、以及操作数存放在何处等因素决定 取舍。 任何一条机器指令都是由一组二进制代码构成,通常又 被进一步分成操作码部分和地址码部分,一般的指令格式如 图所示。操作码 地址码

计算机硬件技术基础

《计算机硬件技术基础(第三版)》

8086~80286是16位的微处理器, 16位的指 令格式如图所示。

操作码 1~2字节

MOD-REG-R/M 0~1字节

位移量 0~1字节

立即数 0~2字节

计算机硬件技术基础

《计算机硬件技术基础(第三版)》

Pentium(32位)指令的一般格式如图所示;指令前缀 指令前缀 0或1字节 段的超前前缀 0或1字节 地址大小前缀 0或1字节 操作数大小前 缀 0或1字节

操作码 1或2 字节 指令

Mod R/M 0或1 字节

SIB 0或1字节

立即数 位移量 0,1,2或4字节 0,1,2或4字节

Mod 7 6 5

Reg/OPcode 4 3 2

R/M 1 0 7

SS 6 5

Index 4 3 2

Base 1 0

由图可知,一条指令是由可任选的指令前缀(可以以任何的次序)、一个或两 由图可知,一条指令是由可任选的指令前缀(可以以任何的次序)、一个或两 )、 个原操作码字节、有可能要用的地址说明符( ModR/M字节和按比例变址基地址 个原操作码字节、有可能要用的地址说明符(由ModR/M字节和按比例变址基地址 SIB字节构成)、一个位移量 根据需要)和一个立即操作数数据字段( 字节构成)、一个位移量( SIB字节构成)、一个位移量(根据需要)和一个立即操作数数据字段(如果需要 的话)等元素组成的。 Pentium的所有指令都是如图所示的指令格式的子集 的话)等元素组成的。 Pentium的所有指令都是如图所示的指令格式的子集计算机硬件技术基础

《计算机硬件技术基础(第三版)》

1.指令前缀 .指令前缀是置于指令前面的一个或多个字 节,它的作用是用来修改指令的操作。下面所 列出的这四个指令前缀就是供应用程序使用的。 (1)指令前缀: (2)段的超前前缀: (3) 操作数大小前缀: (4)地址大小前缀:

计算机硬件技术基础

《计算机硬件技术基础(第三版)》

2.指令中各字段意义 .(1)操作码字段 (2)Mod R/M字段 (3)SIB字段 (4)偏移量 (5)立即数

计算机硬件技术基础

《计算机硬件技术基础(第三版)》

4. 2

寻址方式

寻址方式是指微处理器获取操作数的方式。一条 指令必须说明两个问题;一是要说明这条指令要进行 什么操作,二是要说明这条指令的操作数位于何地。 一条指令可以对零个或多个操作数操作。零个操作数 的指令的例子是NOP指令(即没有数)。操作数可以 位于下列位置处: (1)指令本身有操作数;即立即操作数 (2)操作

数在寄存器中; (3)操作数在存储器中 (4)操作数在I/O端口计算机硬件技术基础

《计算机硬件技术基础(第三版)》

4.2.1 常用寻址方式 . .1.立即操作数寻址 立即操作数寻址 是说指令本身带的数据作为一个操作数用,即指令所用的操作数是指 令自身所拥有的,像单操作数指令或两操作数指令即是这类指令。凡指令 本身所拥有的操作数就称之为立即操作数。 例如, MOV AX,1999H ;这条指令的功能是将16进制的立即操作数 1999传送到AX寄存器。由于立即操作数1999是16位的,其中存放在代码 段的高地址字节中的内容被传送到AH寄存器,低地址字节中的内容被传 送到AL寄存器,如图所示。存储器 ┋ AH 19H AL 99H 操作码 99H 19H ┋ 1380H 1381H计算机硬件技术基础

1350H 1351H

指 令

代 码 段

《计算机硬件技术基础(第三版)》

2.寄存器操作数寻址 寄存器操作数寻址 将操作数存放在32位通用寄存器中,或存 放在16位通用寄存器中,或存放在8位通用寄 存器中,并对操作数进行访问操作,称之为寄 存器操作数寻址。指令 MOV EDX,EAX ;MOV EDX , EAX 源操作数 目标操作数EAX EBX ECX EDX 1 3 9 A D 4 0 7

2 2 3 3 1 1 0 01 3 9 A

9 9 9 9 9 9 9 9D 4 0 7

计算机硬件技术基础

《计算机硬件技术基础(第三版)》

3 存储器操作数寻址

(1)直接寻址 ) 直接寻址是一种很简单的寻址方式,虽然操作数存放在存储器内,但在 这种直接寻址方式下,操作数的有效地址是由指令直接给出。例如: MOV EAX, LISTT 这条指令的功能是,将地址LISTT处4个连续字节地址中的32位操作数 传送到寄存器EAX内。LISTT 是存储器中存储单元的符号地址,LISTT的实 际地址是1230H这个十六进制地址存储器 ┋ 80 38 6A BC EAX 8 0 3 8 6 A B C ┋计算机硬件技术基础

1233H 1232H 1231H 1230H

《计算机硬件技术基础(第三版)》

(2)寄存器间接寻址 寄存器间接寻址这种寻址方式, 寄存器间接寻址这种寻址方式,可以对存储器内的 任何存储单元的数据进行寻址,只是要借助于在BP BX, BP, 任何存储单元的数据进行寻址,只是要借助于在BP,BX, DI和SI这些寄存器内保存的偏移地址。 DI和SI这些寄存器内保存的偏移地址。 这些寄存器内保存的偏移地址 如果寄存器BX的 …… 此处隐藏:3727字,全部文档内容请下载后查看。喜欢就下载吧 ……

《计算机硬件技术基础(第三版)》第4章 指令系统.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219