void main() { __asm { mov eax, -1 mov ecx, -2 sub eax, ecx ; // OV = 0, PL = 0, ZR = 0 -> eax > ecx mov eax, -2 mov ecx, -1 sub eax, ecx ; // OV = 0, PL = 1, ZR = 0 -> eax < ecx mov eax, 7FFFFFFFh ; // largest positive signed integer mov ecx, -1 sub eax, ecx ; // OV = 1, PL = 1, ZR = 0 -> eax > ecx mov eax, 80000000h ; // largest negative signed integer mov ecx, 1 sub eax, ecx ; // OV = 1, PL = 0, ZR = 0 -> eax < ecx mov eax, 1 mov ecx, 1 sub eax, ecx ; // OV = 0, PL = 0, ZR = 1 -> eax == ecx } }