zhoulikelvjj 发表于 2007-10-27 22:55

CF清0的问题

<BR><BR>  and,or,xor等一些指令只对PF,SF,ZF标志位有影响,而对CF,OF,标志位无定义!<BR>  这里的无定义是什么意思?<BR>  MOV AL,01FH<BR>  OR AL,AL<BR>  这两个语句有对CF清0的作用,为什么?它是怎么对CF清0的?<BR>  如果把OR换成AND,XOR呢?<BR>  小弟汇编初学者,希望各位大侠指点指点!谢谢

llxf 发表于 2007-10-28 18:36

<P>MOV AL,01FH  可以这么写么?一个8位 一个16位?<BR></P>

菜鸟上路 发表于 2007-10-28 20:55

回复:(zhoulikelvjj)CF清0的问题

无意义就是不改变值

菜鸟上路 发表于 2007-10-28 20:55

回复:(llxf)MOV AL,01FH 可以这么写么?一个8位 ...

可以呀

h28754532 发表于 2007-11-1 15:34

<P>不可以吧,这样写的前提必须是八位中字母是高位吧?再说AL也不可能存储16位的呀~<BR> <BR></P>

yege 发表于 2007-11-19 08:39

回复:(llxf)MOV AL,01FH 可以这么写么?一个8位 ...

[em03]<BR>01FH 好像是8位吧。<BR>

永夜的极光 发表于 2007-11-19 10:55

<P>指令的格式:AND Reg/Mem, Reg/Mem/Imm<BR>受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)<BR>指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“与操作”,操作结果存入目标操作数中。</P>
<P>指令的格式:OR Reg/Mem, Reg/Mem/Imm<BR>受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)<BR>指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"或操作",操作结果存入目标操作数中。</P>
<P>这两个指令都会把cf和of置零<BR><BR>另外<BR><BR>mov al,0ffffH<BR>这样写用masm编译也没有问题,因为masm会自动截取低八位</P>

zhulei1978 发表于 2007-11-22 14:07

OR AL,AL
最高位没有进位,CF就置为0

页: [1]

编程论坛