Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1149738442
Dot
2006-06-08 07:47
2006.07.09
TASM &amp; Div DD


1-1148860928
Gamer
2006-05-29 04:02
2006.07.09
Прорблема с прорисовкой прокрутки ScrollBox a в WinXP


1-1148911803
.ruslan
2006-05-29 18:10
2006.07.09
...поверх всех приложений


2-1150874343
logslava
2006-06-21 11:19
2006.07.09
Напомните, пожалста


2-1150793558
dest81
2006-06-20 12:52
2006.07.09
web





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский