Understanding fcmovb instruction in x86

61 Views Asked by At

I'm not understanding why fcmovb st(0) st(4) is not acting the way I expect. afaiu it will set st0 = st4 if the CF flag is set.

Before:

gdb> i r eflags st0 st4
eflags 0x282 [ SF IF ]
st0 0 (raw 0x00...)
st4 0 (raw 0x00...)

After:

gdb> i r eflags st0 st4
eflags 0x282 [ SF IF ]
st0 -nan(0xc0...) (raw 0xffffc00...)
st4 0 (raw 0x00...)

What is going here? Thanks in advance.

0

There are 0 best solutions below