> -- Сергей Губанов писал(а):
> Загрузка одного байта:0F BE 00         movsx       eax,byte ptr [eax] Загрузка двух байтов:0F BF 00         movsx       eax,word ptr [eax] Загрузка четырёх байтов:8B 00            mov         eax,dword ptr [eax] Сохранение одного байта:88 02            mov         byte ptr [edx],al Сохранение двух байтов:66 89 02         mov         word ptr [edx],ax Сохранение четырёх байтов:89 02            mov         dword ptr [edx],eaxСмотрим в первоисточнике (ссылку приводил выше)
## Код:
```
MOVSX   Move with Sign-Extension

Copies the value in a register or memory location (second operand) into a register (first operand),
extending the most significant bit of an 8-bit or 16-bit value into all higher bits in a 16-bit, 32-bit, or 64-bit register.

Mnemonic               Opcode      Description
MOVSX reg16, reg/mem8   0F BE /r   Move the contents of an 8-bit register or memory location to a 16-bit register with sign extension.
MOVSX reg32, reg/mem8   0F BE /r   Move the contents of an 8-bit register or memory location to a 32-bit register with sign extension.
MOVSX reg64, reg/mem8   0F BE /r   Move the contents of an 8-bit register or memory location to a 64-bit register with sign extension.
MOVSX reg32, reg/mem16   0F BF /r   Move the contents of an 16-bit register or memory location to a 32-bit register with sign extension.
MOVSX reg64, reg/mem16   0F BF /r   Move the contents of an 16-bit register or memory location to a 64-bit register with sign extension.
```
Во втором примере, уберите префикс 66 и получите уже знакомую картину. Сергей, ну, зачем спорить о том, что написано в документации? Не проще ли внимательно посмотреть/прочитать...