mirror of
https://github.com/herumi/xbyak
synced 2024-11-21 16:09:11 -07:00
25 lines
490 B
C++
25 lines
490 B
C++
#include <stdio.h>
|
|
#include <xbyak/xbyak.h>
|
|
|
|
struct Code : Xbyak::CodeGenerator {
|
|
Code(bool nf) {
|
|
xor_(eax, eax); // CF = 0
|
|
mov(eax, -1);
|
|
if (nf) {
|
|
puts("no flags (with T_nf)");
|
|
add(eax|T_nf, eax, 1); // does not change CF
|
|
} else {
|
|
puts("change flags (without T_nf)");
|
|
add(eax, eax, 1); // CF = 1
|
|
}
|
|
adc(eax, 0); // eax = CF ? 1 : 0
|
|
ret();
|
|
}
|
|
};
|
|
|
|
int main() {
|
|
for (int i = 0; i < 2; i++) {
|
|
Code c(i);
|
|
printf("i=%d ret=%d\n", i, c.getCode<int(*)()>()());
|
|
}
|
|
}
|