Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1150720795
AlexanderMS
2006-06-19 16:39
2006.07.09
Вопросик про шрифт


2-1150426765
Pagoo-man
2006-06-16 06:59
2006.07.09
Проблема с экспортом в Excel


2-1150960522
Квэнди
2006-06-22 11:15
2006.07.09
Проблема с свойствами объекта


6-1132640622
Дмитрий_05
2005-11-22 09:23
2006.07.09
Снифер HTTP-запросов


15-1149824336
inew
2006-06-09 07:38
2006.07.09
Как перенести настройки пользователя.




   Наверх