imul ассемблер



Автор Diramur задал вопрос в разделе Другие языки и технологии

Проблема знака при умножении/делении (ассемблер) , MUL, IMUL, DIV, IDIV и получил лучший ответ

Ответ от Ёергей Логинов[гуру]
В предыдущем ответе ссылка не рассматривает результат деления. Надо иметь в виду, что при делении может появиться остаток: он всегда имеет знак делимого. Располагается он в старшей части делимого, в то время как младшая часть содержит частное.

Старшая часть находится в AH или DX или EDX в зависимости от длины операндов (16, 32, 64 бит для делимого и 8, 15, 32 бит для делителя соответственно) . Младшая часть делимого содержит частное (AL, AX, EAX) для тех же случаев.

Код машинной команды определяется ассемблером на этапе трансляции, для разных длин операндов коды разные. Попробуй выполнить интересующие тебя команды в отладчике (дебаггере) какого-либо дизассемблера, которые обычно прилагаются к компиляторам языков высокого уровня (например Си и всех его модификаций) только не бери старые: только начиная с I486 или Р-III (для кратных операций умножения — в Р-III это 4 одновременных умножения).

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Проблема знака при умножении/делении (ассемблер) , MUL, IMUL, DIV, IDIV
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*