MOV AX, 0B8000000h
Как реализуется такая команда. К примеру. Все не пойму.
Везде указано примерно так, что есть вот такой перечень инструкций
[instruction] {15 бит}
[reg1]{5бит}
[reg2] {5бит}
[reg3] {5бит}
// или там вместо 2-3 регистров 10-14 байт IMM значение.
А как передать-то 32 битное значение в команде в 32 бит?
Логично что после команды значение(или адрес). Но тогда же получается какое-то нарушение логики.
1.Получение (англ. Fetch)
2.Раскодирование (англ. Decode)
3.Выполнение (англ. Execute)
4. Запись результата (англ. Write-bac)
ПРИМЕР
MOV AX, 0B8000000h ;/// КАКАЯ Длинна этой команды
Add AX, 0b0000333h ;
Во
2 Этапе, идет получение адреса 1 этапа для 2 команды, а при этом еще идет декодирование 1 команды, которая по логике должна быть 64 байта =32 байт команды и 32 байт значения.
Но в этот же самый момент где число 0B000080h берется ошибочно, как следующая инструкция. Чего мне не хотелось бы.
Короче, не понимаю этот момент. В чем ошибка, или как это реализуется.