Как умножить и разделить число с использованием пользовательского ввода в SASM IDE? [Дубликат]

3
задан Tomek Tarczynski 18 October 2010 в 21:20
поделиться

2 ответа

Это связано с выводами байт-кодов. В мире до 80286 было слишком много опкодов, поэтому инженеры Intel находили способы преодолеть эту проблему. Одним из решений было расширение части байт-кода, которая указывает операцию (умножение в этом случае) на часть байт-кода, которая кодировала первый операнд. Это явно означало, что только один операнд мог бы поддерживаться при выполнении кода операции MUL. Поскольку для умножения требуются два операнда, они решили проблему путем жесткого кодирования в процессор, чтобы первым операндом всегда был eax-регистр. Более поздние процессоры поддерживали bytecodes, которые были нескольких длин, что позволяло им кодировать больше данных в одну команду. Это позволило им сделать код операции IMUL намного более полезным.

Сегодня существует интересная параллель с истечением IP-адресов.

5
ответ дан Sparafusile 25 August 2018 в 19:02
поделиться

Это не значит, что NASM не поддерживает его - на процессоре подписанная версия инструкции просто поддерживает больше вариантов, чем неподписанная версия.

4
ответ дан 500 - Internal Server Error 25 August 2018 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: