Mail Archives: djgpp/1994/10/10/04:33:07
> If you refer to the Intel processor manuals for the i486
> and Pentium processors, you will find that when an instruction with 16-bit
> operands exists in a 32-bit segment, it requires an OPERAND SIZE prefix.
> The same is true for 32-bit instructions in a 16-bit segment. This OPERAND
> SIZE prefix is 1 byte long and takes 1 clock cycle to decode on both i486
> and Pentium processors. This means that for simple instructions like ADD
> or MOV which normally take 1 clock cycle, using the wrong bitness will DOUBLE
> the execution time of that instruction.
With all due respect to counting clock cycles, you forget the prefetch
and decode queues of the processor, which all but annihilate that extra
clock cycle (except for the very first instruction each time the queues
are flushed, which shouldn't happen too often).
Eli Zaretskii
- Raw text -