汇编中OR AX, AX 和 AND AX, AX的作用

今天看书上有一段代码让我感到很迷惑:OR AX, AX。 这不是啥也没干嘛?!AX压根就没变啊!这样做有啥意义啊!与之类似的还有AND AX, AX。

     然后我就查了一下,发现自己还是太Naive。

     OR AX, AX的目的是为了改变标志位。书上讲指令的时候提到了,OR和ADD指令,可以根据结果设置SF,ZF和PF,CF = 0,OF = 0,AF无定义。这就是OR  AX, AX或者是 AND AX, AX的目的。在不改变AX的情况下,影响标志位,从而进行下一步判断。一般写了OR AX, AX后,后面就是一句条件转移指令。

      举个栗子:

Comment/************Function: Display an integer in demicalParament: DX	the integer to be displayedReturn :  NullDiscription:  divide by 10 each time*********/
Dispsi16ByDX	PROC NEARPUSH AXPUSH BXPUSH CXMOV AX, DXMOV CX, 0MOV BX, 10


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部