4 ms·
Intel Architecture Manual misdefines an instruction
Intel's "Intel 64 and IA-32 software developer's manual" [ http://www.intel.in/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf ] which is the canonical reference for the x86 instruction set seems to have a basic typo. In the first entry in Table 7-4 on page 7-16 of this manual, the JA instruction is described as a jump conditional on (CF or ZF) = 0, that is either the carry flag or zero flag should be 0. However its mnemonic "Jump Above" suggests that the condition should be (CF and ZF) = 0 and checking shows that that is how processors behave. I wonder how such a basic error escaped notice for so long.