-290- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
通过前面的学习我们已经知道有一些指令能够控制CPU的运行状态,比如NOP、STI等。8086/88还有一些专门控制处理机的指令,这些指令虽说是极其不常用,不过在这里简单介绍一下也算是让这一章有个比较圆满的结束。 I 停机指令HLT: 这条指令可以使CPU暂时停止执行下面的指令,直到有一次外部中断产生,中断结束后CPU才继续执行下面的程序。 II 等待指令WAIT: 这个指令同样使CPU停止执行下面的指令,直到产生一次外部中断。不过与HLT指令不同,中断结束后CPU仍然要回到WAIT指令继续等待。 III 换码指令ESC: 这个指令的应用格式为"ESC 存储器",它可以把指定存储单元中的数据送到数据总线上去。如果一台计算机中有多个处理器,比如有一个中央处理器和一个数学协处理器,那么应用此指令能够使两个处理器协调工作。 IV 封锁指令LOCK 这个指令与REP一样是一个前缀,它后面可以跟任意指令。此指令前缀的用途是封锁系统总线,直到它后加的指令执行完为止。在具有几个处理器的系统中,当CPU与其它处理器协同工作时,此指令前缀能保证总线传输信号的完整性。 本章结束语 通过这一章我们可以看到8086/88的指令系统比较复杂,而且各指令的利用率差别很大,像"MOV"、"PUSH"这样的指令使用十分频繁,而像"LAHF"、"CMC"这样的指令使用的机会就不多了。由此看来我们完全可以精简CPU的指令系统,舍弃那些不常用的指令。 这样做可以减少CPU中晶体管的数目,减少晶体管意味着降低耗电量和发热。如果不减少晶体管数目,我们也可以把更多的晶体管用于加快那些常用指令的执行速度。笔者不具备设计CPU的能力,但这的确是个思路。 |
|||||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |