Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
8-1138702235
MatrixSh!t
2006-01-31 13:10
2006.07.09
OpenGL


9-1127402261
Домовенок
2005-09-22 19:17
2006.07.09
Пластилиновая стратегия (!!)


2-1150881191
Dmitrij_K
2006-06-21 13:13
2006.07.09
Номер выделенной строки в StringGrid


15-1149843053
Kolan
2006-06-09 12:50
2006.07.09
Что такое программная оболочка?


2-1150874887
_HAWK_
2006-06-21 11:28
2006.07.09
Создание TLabel