or eax,eax or指令对标志位的影响

Superaltman 2009-08-14 02:05:02
or eax,eax
je XXXXX
是判断eax是否为0

or指令倒是怎样影响标志位的?
为什么不就用cmp指令?
...全文
1363 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BigCarrot 2009-08-14
  • 打赏
  • 举报
回复
or 比 cmp 更短
killbug2004 2009-08-14
  • 打赏
  • 举报
回复
cmp指令
Operation
temp ← SRC1 − SignExtend(SRC2);
ModifyStatusFlags; (* Modify status flags in the same manner as the SUB instruction*)
Flags Affected
The CF, OF, SF, ZF, AF, and PF flags are set according to the result.

OR指令
Operation
DEST ← DEST OR SRC;
Flags Affected
The OF and CF flags are cleared; the SF, ZF, and PF flags are set according to the
result. The state of the AF flag is undefined.

or是逻辑运算
or eax,eax判断eax是否为0,等价于cmp eax,0

09C0 OR EAX,EAX
83F8 00 CMP EAX,0


BAYNPU 2009-08-14
  • 打赏
  • 举报
回复
OR指令对两个操作数执行按位的逻辑或运算:即只要相“或”的两位有一位是1,结果就是1;否则,“或”的结果为0,OR指令可用于置位某些位,而不影响其他位。这时只需将要置1的位同“1”或,维持不变的位同0”或即可。OR指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义。
而CMP指令与减法指令SUB执行同样的操作,同样影响标志,只是不改变目的操作数。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧