0%

X86指令体系下的处理器控制指令

前言:学习X86指令体系下的处理器控制指令

处理器控制指令用于控制CPU的操作,实现对CPU的管理

空操作指令NOP

指令格式:NOP

指令功能:不执行任何操作,但占用一个字节存储单元,空耗一个指令执行周期

NOP常用于程序调试,在需要预留指令空间时用NOP填充,代码空间多余时也可以用NOP填充,也可以用NOP实现软件延时

NOP 与XCHG AX,AX的指令代码一样

指令封锁前缀指令LOCK

指令格式:LOCK XXX;XXX代表指令

指令功能:这是一个指令前缀,可放在任何指令前。这个前缀使得这个指令执行时间内,8086处理器的封锁输出引脚(LOCK)有效,使别的控制器不能控制总线,直到该指令执行完后,总线封锁解除

暂停指令HLT

指令格式:HLT

指令功能:使CPU处于暂停状态。指令执行时CPU反复执行NOP,等待复位、中断或DMA操作信号。实际应用时,该指令往往用在程序等待硬中断的位置,一旦中断返回,就可以使CPU脱离暂停状态,继续执行HLT的下一条指令,实现软件与外部中断的同步。

交权指令ESC

指令格式:ESC 存储器寻址方式

指令功能:将浮点指令交给浮点处理器

浮点处理器8087指令是与8086的指令组合在一起的,当8086发现是一条浮点指令时,就利用ESC指令将浮点指令交给8087执行

等待指令WAIT

指令格式:WAIT

指令功能:测试8086相应引脚信号TEST。等待指令用于与8087同步,由于8087执行浮点指令较慢,所以8086必须与8087保持同步

TEST = 1(高电平)保持WAIT状态;TEXT = 0(低电平)退出WAIT状态

标志操作指令

指令格式:

1
2
3
4
5
6
7
CLC  ;进位标志位置0
STC ;进位标志位置1
CMC ;进位标志位求反
CLD ;方向标志位0
STD ;方向标志位1
CLI ;中断允许标志位置0
STI ;中断允许标志位置1