|
|
  |
Арифметика для 8051, подскажите где посмотреть |
|
|
|
Oct 17 2005, 18:52
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127

|
Уважаемые, пожалуйста подскажите, где посмотреть образцы или рабочие арифметические п/программы на ассемблере для процессора 51 семейства. Интересует 2-х, и более байтное умножение, деление, преобразования систем счисления. Может есть оригинальные решения с максимальной скоростью в ущерб объёму памяти?
|
|
|
|
|
Oct 18 2005, 17:48
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127

|
rat, уважаемый. Извините, но на вкус и цвет, как говориться... avv,beer_warrior , благодарю за отзывы и советы! Будем искать и просматривать источники. Параллельно пытаюсь сочинить требуемое под свои запросы.
|
|
|
|
|
Oct 18 2005, 20:04
|

Частый гость
 
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Oct 22 2005, 18:34
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127

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

Частый гость
 
Группа: Свой
Сообщений: 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).
--------------------
Чем могу... Удачи!
|
|
|
|
|
Oct 29 2005, 21:14
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-03-05
Из: Ярославская обл.
Пользователь №: 3 127

|
Цитата(MosAic @ Oct 29 2005, 08:13) Хоть проблема и снята, но все же посмотрите Библиотеки на 8052.com Первая же библиотека называется "16 bit to 5 decade digits conversion". MosAic, огромная Вам благодарность! Действительно очень много полезного на приведённом сайте. Почерпнул разных примеров. Ещё раз спасибо!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|