前言:学习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 | CLC ;进位标志位置0 |