2014计算机三级《PC技术》考试要点:80x86指令系统(4)
4.数据传送指令组
数据传送指令中增加的3条有关地址操作的指令:
LFS 指针装入F段寄存器
LGS 指针装入G段寄存器
LSS 指针装入S(堆栈)段寄存器
另外还对地址操作的3条指令功能进行了调整:
LXA 装入有效地址
LDS 装入D段寄存器
LES 装入E段寄存器
5.标志处理指令组
标志处理指令中增加2条新指令:PUSHFD EFLAGS进栈POPFD EFLAGS出栈
另外,在逻辑移位指令组中,增加了双位左移和双位右移命令SHLD/SHRD等等。
(四)80486扩展的指令
80486指令系统和80386基本相同,但为支持Cache和多重处理,80486在80386指令系统的基础上,又增加了如下几条新指令。
它们是:
●BSWAP 在32位寄存器内交换字节顺序。
●XADD 执行原子交换并把它加到存储器操作数上,保留原值。
●CMPXCHG 用以存储器为基础的操作数执行原子比较和有条件的交换。
●INVD 使整个指令数据Cache无效。
●WBINVD 使数据Cache无效,通过二级Cache,写回到脏Cache行。
●INVLPG 使TLB中的符号无效。
(五)Pentium扩展的指令1.Pentium扩展指令
Pentium指令系统包括了80486的全部指令又增加了5条新指令。它们是:CMPXCHG8B 算术类指令,8字节比较后交换RDMSR 读模型专用寄存器WRMSR 写模型专用寄存器RDTSC 读时间标记计数器RSM 由系统管理方式返回
2.PentiumⅡ扩展指令
PentiumⅡ微处理器中由于集成了多媒体扩展技术(MMX),因而增加了57条MMX指令。MMX指令集简介如下:
(1)算术运算指令
PADD[B,W,D] ;环绕加法[字节,字,双字]
PADDS[B,W] ;饱和带符号减法[字节,字]
PADDUS[B,W] ;饱和无符号减法[字节,字]
PSUB[B,W,D] ;环绕减法[字节,字,双字]
PSUBS[B,W] ;饱和带符号加法[字节,字]
PSUBUS[B,W] ;饱和无符号加法[字节,字]
PMULHW ;字高位紧缩乘法PMULLW ;字低位紧缩乘法
PMADDWD ;字紧缩乘法并累加结果
(2)比较指令
PCMPEO[B,W,D] ;相等紧缩比较[字节,字,双字]
PCMPGT[B,W,D] ;大小紧缩比较[字节,字,双字]
(3)转换指令
PACKUSWB ;字紧缩为字节
PACKSS[WB,DW] ;紧缩字到字节,双字到字
PUNPCKH[BW,WD,DQ] ;从MMX寄存器解压(交*)高阶字节、双字、四字
PUNPCKL[BW,WD,DQ] ;从MMX寄存器解压(交*)低阶字节、双字、四字
(4)逻辑指令
PAND ;按位AND
PANDN ;按位AND NOT
POR ;按位OR PXOR ;按位XOR
(5)移位指令
PSLL[W,D,Q] ;依据MMX寄存器中指定的数量或立即数值的紧缩左移逻辑操作[字,双字,四字]
PSRL[W,D,Q] ;依据MMX寄存器中指定的数量或立即数值的紧缩右移逻辑操作[字,双字,四字]
PSRA[W,D] ;依据MMX寄存器中指定的数量或立即数值的紧缩右移算术操作
(6)数据转移指令
MOV[D,Q] ;移入MMX寄存器或移出MMX寄存器[双字,四字]
(7)浮点和MMX状态管理指令
EMMS ;清除MMX状态
上述指令中,有的一条指令后带[B,W,D],表示该指令支持多种数据类型,即支持字节(B)、字(W)、双字(D)的操作。
3.PentiumⅢ扩展指令
PentiumⅢ为提高互联网计算能力,又增加了71条称为互联网SSE(Streaming SIMDExˉtensions,直译为数据流单指令多数据扩展)的指令和处理机序列号。它们是8条高速缓冲存储器控制指令,50条SIMD浮点指令和12条多媒体指令。