回 帖 发 新 帖 刷新版面

主题:关于处理器选择伪操作问题

对于CMPXCHG指令和CMPXCHG8B指令,使用时是不是必须这么做

CMPXCHG.486  DX,6BH
CMPXCHG8B.586  BP,0BBH

回复列表 (共3个回复)

沙发

板凳

恩。
.386/.386p
.486/.486p
.586/.586p
伪指令
是通知汇编程序,下面的代码中有386/486/586的指令。
如果使用了386/486/586的指令,而不使用相应的伪指令,程序会出错,因为汇编程序默认的是处理8086的指令。
比如,EAX是80386的寄存器,在使用前必须要加.386(.486/.586也可以)伪指令。
至于.368p中的P,是特权等级指令,这个你现在不用理会它。

3 楼

老大,书上是这么说的,但怎么应用,有点自相矛盾


书上说:处理器选择伪操作必须放在所有程序之前
你的言论:对于EAX,使用前加上.386
我都晕了~~

是不是这样的??
.386      .586
MOV EAX,0BFH
.......
CMPXCHG8B 0011H

我来回复

您尚未登录,请登录后再回复。点此登录或注册