реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Арифметика для 8051, подскажите где посмотреть
Mixx
сообщение Oct 17 2005, 18:52
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127



Уважаемые, пожалуйста подскажите, где посмотреть образцы или рабочие арифметические п/программы на ассемблере для процессора 51 семейства. Интересует 2-х, и более байтное умножение, деление, преобразования систем счисления. Может есть оригинальные решения с максимальной скоростью в ущерб объёму памяти?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Oct 17 2005, 20:10
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Ну навскидку, посмотреть аппноты Атмела, там достаточно богатые россыпи.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
avv
сообщение Oct 17 2005, 21:49
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 113
Регистрация: 28-01-05
Из: Владивосток
Пользователь №: 2 247



Еще цикл статей Фрунзе "Микроконтроллеры? Это же просто" в журнале "Смехотехника". Там как раз рассматривают арифметику для 51 МК. (В 2005г. точно для 51, что раньше - не знаю)
Go to the top of the page
 
+Quote Post
rat
сообщение Oct 18 2005, 02:59
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Не нужно продлевать агонию ассемблера и 51.
Go to the top of the page
 
+Quote Post
Mixx
сообщение Oct 18 2005, 17:48
Сообщение #5





Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127



rat, уважаемый. Извините, но на вкус и цвет, как говориться... smile.gif

avv,beer_warrior , благодарю за отзывы и советы! Будем искать и просматривать источники. Параллельно пытаюсь сочинить требуемое под свои запросы. blink.gif
Go to the top of the page
 
+Quote Post
ROC
сообщение Oct 18 2005, 20:04
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Гм...
А почитать исходники от библиотек?
Например, у Tasking есть обильно комментированные исходники примерно следующего вида:
Код
;************************************************************************
;            *
;  MULL          *
;            *
;    this routine provides an 32 bit multiplication (a*B)  *
;    at entry:    stack  one operand (a)      *
;      r4,r5,r6,r7    the other operand (B)  *
;            *
;    at exit:    r4,r5,r6,r7    the 32 bit result (a*B)  *
;      the operand on stack is removed      *
;            *
;    destroys:    A/B/R4/R5/R6/R7/C + GETLUP      *
;    preserves:    R0/R1/R2/R3        *
;            *
;    total stacksize needed:    14 bytes (__GETLUP needs 6 bytes)    *
;            *
;************************************************************************

Ну и далее собственно код.


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Oct 20 2005, 10:19
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата(rat @ Oct 18 2005, 05:59)
Не нужно продлевать агонию ассемблера и 51.
*


Это как посмотреть! Atmel, Cygnal, Dallas, Philips, Infineon и т.д. агонией свою деятельность не считают! Посмотрите их линейку х51/52 процессоров. А вот на счет ассемблера - согласен. Keil генерит весьма компактный код.
Go to the top of the page
 
+Quote Post
Mixx
сообщение Oct 22 2005, 18:34
Сообщение #8





Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127



Ещё раз благодарю всех откликнувшихся.
Проблема почти снята. Очень хорошо все азы описаны у Фрунзе. Там же и практические п/пр на ассемблере. Многие моменты уяснил и узнал. "Слепил" требуемое из смеси табличных выборок и классических алгоритмов.
Сам я пока с Кейлом не очень близко знаком. А вот любопытно, какую он мог бы сгенерить, к примеру, п/пр преобразования двоичного числа 13 разрядного (от 0 до 12 разряда включительно) в четырёхразрядное двоично-десятичное? Учитывая, что требуется максимальное быстродействие. Вот у меня получилось 62 цикла длительность, без учёта вызова и возврата, и не сохраняя используемых регистров. Причём, я далеко не профессионал программирования. Если кто с Кейлом "на ты", может приведёте его результаты, а если можно, то и ассемблерный код.
Go to the top of the page
 
+Quote Post
MosAic
сообщение Oct 29 2005, 04:13
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 29-10-05
Пользователь №: 10 248



Цитата(Mixx @ Oct 22 2005, 22:34)
...
Проблема почти снята.
...
Сам я пока с Кейлом не очень близко знаком. А вот любопытно, какую он мог бы сгенерить, к примеру, п/пр преобразования двоичного числа 13 разрядного (от 0 до 12 разряда включительно) в четырёхразрядное двоично-десятичное? Учитывая, что требуется максимальное быстродействие. Вот у меня получилось 62 цикла длительность, без учёта вызова и возврата, и не сохраняя используемых регистров. Причём, я далеко не профессионал программирования. Если кто с Кейлом "на ты", может приведёте его результаты, а если можно, то и ассемблерный код.
*

Хоть проблема и снята, но все же посмотрите Библиотеки на 8052.com Первая же библиотека называется "16 bit to 5 decade digits conversion". Кроме того, сайт очень богат различной информацией как для начинающих, так и опытных разработчиков на базе 51.

Что касается Keil, то лучше пощупать самому. Как всегда, очень многое зависит от разработчика. Если интересно - поможем (C V7.10, Asm V7.09).


--------------------
Чем могу... Удачи!
Go to the top of the page
 
+Quote Post
Mixx
сообщение Oct 29 2005, 21:14
Сообщение #10





Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127



Цитата(MosAic @ Oct 29 2005, 08:13)
Хоть проблема и снята, но все же посмотрите Библиотеки на 8052.com Первая же библиотека называется "16 bit to 5 decade digits conversion".

MosAic, огромная Вам благодарность! Действительно очень много полезного на приведённом сайте. Почерпнул разных примеров. Ещё раз спасибо! cheers.gif smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 08:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016