26.13 MOV [MEM], ACCUM (PPlain and PMMX)
The instructions MOV [mem],AL MOV [mem],AX MOV [mem],EAX are treated by the pairing circuitry as if they were writing to the accumulator. Thus the following instructions do not pair:
MOV [mydata], EAX MOV EBX, EAX
This problem occurs only with the short form of the MOV instruction which can not have a base or index register, and which can only have the accumulator as source. You can avoid the problem by using another register, by reordering your instructions, by using a pointer, or by hard-coding the general form of the MOV instruction.
In 32 bit mode you can write the general form of MOV [mem],EAX:
DB 89H, 05H DD OFFSET DS:mem
In 16 bit mode you can write the general form of MOV [mem],AX:
DB 89H, 06H DW OFFSET DS:mem
To use AL instead of (E)AX, you replace 89H with 88H
This flaw has not been fixed in the PMMX.