![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
Arcanum |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.11.2011 Репутация: нет Всего: нет |
Нашёл на одном сайте функцию умножения байтовых чисел с двухбайтовым результатом.
содрал и переделал под себя. макрос выполняет вспомогательную функцию
так вот эта процедура вызывается из моего кода два раза:
вот MULD MinsH, MinsL, TmpVar выдаёт порнографию при умножении 02 * A4 = FF48 а не 0148 а MULD StepsH, StepsL, TmpVar считает правильно раз 10 проверял вроде всё аналогично но что за на фиг?! всю ночь с этим мучался |
||||
|
|||||
UniBomb (Online) |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 9 Всего: 97 |
Эта функция для знакового умножения двух чисел. При этом старший бит определяет знак числа. A4 можно представить как 164 беззнаковое или как -92. Соответсвенно и результат получается знаковым. Посему либо приводи результат к беззнаковому представлению, либо ищи функцию беззнакового умножения. Для второго пути поищи книги "Микроконтроллеры? Это же просто!" за авторством товарища Фрунзе А.В. Там в том числе в третьем и четвёртом томе разбираются вопросы арифметических операций над знаковыми и беззнаковыми числами. Единственное что - все примеры на асме для ПИКовый мк, но переделать их под АВР ассемблер не составит труда. |
|||
|
||||
Arcanum |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.11.2011 Репутация: нет Всего: нет |
Спасибо! всё понял и нашёл функцию для без знаковых вычислений. переделал. работает.
Это сообщение отредактировал(а) Arcanum - 7.11.2011, 06:46 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |