Здравствуйте, SergH, Вы писали:
SH>Всем привет!
SH>во всех доступных мне источниках (руководство Intel, Зубков, Гук, Орловский, Григорьев) она описана так (обратите внимание на порядок операндов):
SH>SH>arpl dest, source
SH>
SH>И утверждается, что меняется первый операнд. Однако простейшая проверка
SH>SH>int main()
SH>{
SH> __asm
SH> {
SH> mov ax, 3
SH> mov bx, 16
SH> arpl ax, bx
SH> }
SH>}
SH>
SH>дома и на работе показывает, что меняется второй.
SH>Это коллективная ошибка или мой глюк?
--
Если посмотреть эти инструкции в dissasembly window (в Visual Studio), то получится примерно так:
__asm
{
mov ax, 3
004011A8 mov ax,3
mov bx, 16
004011AC mov bx,10h
arpl ax, bx
004011B0 arpl bx,ax
}
Это объясняет получаемый результат.
C уважением,
Геннадий Майко.