《计算机硬件技术基础(第三版)》第4章 指令系统
时间:2025-05-01
时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:学校消防安全知识讲座