[an error occurred while processing this directive]
Кто-нибудь пробовал деление на 219х проце (в асме)?
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Новичок 26 марта 2004 г. 12:32

Наткнулся на непонятный глюк. Вернее два.
Выполняю беззнаковое деление.
Глюк первый - если выполнять деление точно по примеру в хелпе, то результат получается в два раза меньше ожидаемого, т.е. если я делю 0х1 0000 на 0х100, то получаю 0х80 вместо 0х100. Для того чтобы получить правильный результат надо вместо 16 команд divq поставить 17.
Глюк второй - если в процедуре используется два деления, то результат второго деления НЕ ВСЕГДА считается верно. Т.е. иногда результат правильный, а иногда получается какое-то отрицательное число (причем всегда одно и то же). С ним оказалось еще веселее... Оказывается если пятый бит ASTAT обнулять не как в примере - один раз перед делением, а перед каждой командой divq, то все работает на ура.......
Объясните НОВИЧКУ, что не так делаю???

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru