diff --git a/src/x86/cpu-regs.h b/src/x86/cpu-regs.h index 58f40cba..54c54ec3 100644 --- a/src/x86/cpu-regs.h +++ b/src/x86/cpu-regs.h @@ -22,6 +22,8 @@ #if __LP64__ # define SZ_PTR 8 +# define ROR_BIT 63 +// x86_64 registers # define _XBP %rbp /* x86_64 base pointer */ # define _XSP %rsp /* x86_64 stack pointer */ # define _XAX %rax /* scratch */ @@ -53,6 +55,8 @@ # define xorLQ xorq #else # define SZ_PTR 4 +# define ROR_BIT 31 +// x86 registers # define _XBP %ebp /* x86 base pointer */ # define _XSP %esp /* x86 stack pointer */ # define _XAX %eax /* scratch */ diff --git a/src/x86/cpu.S b/src/x86/cpu.S index abff62c7..cb74caad 100644 --- a/src/x86/cpu.S +++ b/src/x86/cpu.S @@ -393,7 +393,7 @@ movb F_Reg, %ah; \ rorLQ $1, _XAX; \ orb %al, %al; \ - btr $31, _XAX; \ + btr $ROR_BIT, _XAX; \ FlagNZC \ PutToEA_B