文档介绍:第三章 Pentium微处理器的指令系统
概述
Pentium微处理器的寻址方式
数据传送指令
算术运算指令
逻辑运算指令
串操作指令
程序控制指令
保护模式的系统控制指令
浮点运算指令
MMX指令简介
概述
指令是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。
指令有两种书写格式:机器指令和符号指令。
符号指令是用规定的助记符和规定的书写格式书写的指令。符号指令的书写格式为:
操作码助记符操作数助记符
MOV AL, 1
10110000 00000001
Pentium微处理器的寻址方式
寻址方式:寻找指令中操作数地址的方式。
操作数有三种可能的存放方式:
直接包含在指令中
立即数
立即数寻址
包含在某个寄存器中
寄存器操作数
寄存器寻址
在内存中
存储器操作数(内存操作数)
存储器寻址
内存实际地址由两部分组成:存储单元所在段的基地址/段内偏移地址(偏移量)
MOV ES:[3000H], AL
段内偏移地址可以由如下四个部分组成(称为偏移地址四元素):
基址寄存器内容
变址寄存器内容
比例因子
位移量
由四元素组合形成的偏移地址称为有效地址EA:
EA=基址+(变址比例因子)+位移量
对于实模式(16位寻址):
基址寄存器:BX,BP
变址寄存器:SI,DI
比例因子: 0,1
位移量: 0,8,16位
对于保护模式(32位寻址):
基址寄存器:任何32位通用寄存器
变址寄存器:除ESP外的任何32位通用寄存器
比例因子: 1,2,4,8
位移量: 0,8,32位
由四元素可组合出9种存储器寻址方式。
Pentium微处理器共有11种寻址方式:
1. 立即数寻址
操作数作为立即数直接存在指令中,可为字节、字、双字
MOV ECX, 12345678H
低地址
高地址
CS段
操作码
78H
56H
34H
12H
78H
56H
34H
12H
ECX
2. 寄存器寻址
操作数包含在指令规定的8位、16位、32位寄存器中
MOV ECX, EDX
78H
56H
34H
12H
ECX
78H
56H
34H
12H
EDX
寄存器寻址由于无需从存储器中取操作数,故执行速度快
3. 直接寻址
指令中的操作数部分直接给出操作数的有效地址EA,操作数可以是16位或32位整数,操作数默认在DS段中
MOV AX, [3000H]
低地址
高地址
CS段
操作码
00H
30H
34H
12H
34H
12H
AX
DS段
50000
53000
DS
5000
0
3000
53000
+
如果操作数在DS以外的其他段(CS,SS,ES,FS,GS)中,指令中必须指明段寄存器
MOV AX, FS:[3000H]
低地址
高地址
CS段
操作码
00H
30H
34H
12H
34H
12H
AX
FS段
20000
23000
FS
2000
0
3000
23000
+
4. 寄存器间接寻址
操作数地址的偏移量(有效地址EA)存放在寄存器中
16位寻址:偏移地址放在SI,DI,BP,BX中
以SI,DI, BX间接寻址,默认操作数在DS段中
MOV AX, [SI]
以BP间接寻址,默认操作数在SS段中
MOV AX, [BP]
32位寻址:偏移地址放在8个32位通用寄存器中
除ESP,EBP默认段寄存器为SS外,其余均默认段寄存器为DS
MOV EAX, [ESP]