Here is an excerpt from Intel's official test documentation:
Operation
TEMP ← SRC1 AND SRC2;
SF ← MSB(TEMP);
IF TEMP = 0
THEN ZF ← 1;
ELSE ZF ← 0;
FI:
PF ← BitwiseXNOR(TEMP[0:7]);
CF ← 0;
OF ← 0;
And the same for jle:
Jump if less or equal (ZF=1 or SF≠OF)
, , edx 0 ( edx AND edx = edx 0 , edx 0, , ZF 1, AND 0), edx 1 ( SF = most significant bit of edx AND edx (, , edx) OF 0, SF ≠ OF, , SF ≠ 0).
IOW, , edx ≤ 0, , , edx 0 0x80000000 .