imul ассемблер



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

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

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

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

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

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Проблема знака при умножении/делении (ассемблер) , MUL, IMUL, DIV, IDIV
спросили в MOL
1 чем отличаются команды MUL и IMUL 2 какую команду расширения нужно использовать при делении на 16-разрядное число
mul - это беззнаковое умножение
imul - знаковое
Если твой ассемблер 16-разрядный, а
подробнее...

ошибочку подскажите(ассемблер, масм32)
не какой-то косяк, а косячище
.CODE
Start:
mov ax,[ x ]
mov cx,[ a ]
imul
подробнее...
спросили в ITBA
Деление отрицательного числа. Ассемблер
Денис Евдоченко, не обижайтесь, но здесь нужно просто правильно применить знаковое деление, а не
подробнее...
спросили в Free Pascal Ассемблер
Assembler лаба не могу разобраться
Не вижу здесь Ассемблер, вижу Паскаль со встроенным ассемблером, а это не одно и то же.
подробнее...
спросили в Dirt 4 Randomness
Assembler
Вопрос 1
Вот макрос, генерирующий случайные числа от 0 до n-1. Алгоритм взят из модуля System
подробнее...
 

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

Имя*

E-mail:*

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