Форум: "Прочее";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизTASM & Div DD Найти похожие ветки
← →
Dot (2006-06-08 07:47) [0]Всем привет. Кто работал с числами типа DD в TASM"е ? Как организовать деление такого числа на число типа DB?
← →
J_f_S (2006-06-08 10:32) [1]a dd ?
b db ?
res dd ?
...
mov eax,a
mov bx,b
div ebx
mov res, eax
?
← →
evvcom © (2006-06-08 10:57) [2]Понимать его понимаю, но писать не пишу. Потому:
1. есть подозрение, что mov bx,b некорректно из-за размеров аргументов, bx - 2 байта, b - 1 байт.
2. bx <> ebx - однозначно. Надо добавить команду что-то типа "расширение числа со знаком" (не помню точного названия, сильно не пинать), по-моему, это movsx.
Остальное вроде ок.
← →
J_f_S (2006-06-08 12:00) [3]
> evvcom
Да, ты прав.
Строчкуmov bx,b
следует читать какmovsx ebx, b
:-)
Хотя, нечто вроде
xor ebx, ebx
mov bl, b
тоже должно поканать. Подозреваю, что b беззнаковый.
← →
Dot (2006-06-08 13:29) [4]не то совсем.
.data
b db 2
.code
mov ax,FFFFh
mov dx,FFFFh
div b
происходит попытка занести результат 32-бита в ax
← →
evvcom © (2006-06-08 15:30) [5]А чего ты до сих пор с 16 битами работаешь?
Попробуй все же сначала в регистр свой байт загнать. И mov dx,FFFFh нафига? Оттуда ж, по-моему, ничего не читается, а только пишется остаток. Или я путаю? Вроде нет... :?)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c