Почему вредно смешивание операций чтения/записи? например почему надо писать mov eax,[0] mov ebx,[4] mov [8],ecx mov [16],edx чем хуже mov eax,[0] mov [8],ecx mov ebx,[4] mov [16],edx допустим, что данные есть в кеше.
что-то вроде в 6-й главе было http://www.infanata.org/2005/11/10/assembler_v_zadachah_zaszity_informacii.html
Есть в официальной документации Интела. Связано с тем что чтение блокируется до того как будут известны адреса предыдущих операций записи. Assembly/Compiler Coding Rule 52. (M impact, MH generality) Calculate store addresses as early as possible to avoid having stores block loads.