有没有办法可以访问条件标志的值,例如零标志,并将该值移动到寄存器中?像这样:
cmpl %eax,%edx
movl ZF, %eax
谢谢, 此致
答案 0 :(得分:0)
因此,在网上浏览之后,可能会做一些类似的事情:
令res为操作cmpl%eax,& edx之后的所有条件标志(零标志(ZF),进位标志(CF),符号标志(SF),溢出标志(OF))的结果值。 (执行%edx - %eax并丢弃结果)
sete D //Sets D to ZF -> %eax == %edx
setne D //Sets D to ~ZF -> %eax != %edx
setg D //Sets D to ~(SF ^ OF) & ~ZF -> %edx > %eax
setge D //Sets D to ~(SF ^ OF) -> %edx >= %eax
setl D //Sets D to SF ^ OF -> %edx < %eax
setle D //Sets D to (SF ^ OF) | ZF -> %edx <= %eax