Например TDA7294

Форум РадиоКот • Просмотр темы - 8051 ASM: Как нибудь улучшить код
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 20:05:04

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Пт дек 22, 2017 19:51:51 
Встал на лапы

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Пн дек 08, 2014 19:45:24
Сообщений: 117
Откуда: Воронеж
Рейтинг сообщения: 0
Понадобились две необычные функции. Преобразовать 16-ричное значение байта, в ASCII эквивалент его 16-ричного значения. Короче, превратить байт, скажем 0xCD в два ASCII символа, - "C" и "D". а так-же, подпрограмму, делающую тоже самое, только наоборот. Поскрипев мозгами, решил что это нужно делать по таблице, и и быстро и решительно написал решение для первой задачи. Получилось хорошо. Со второй можно сказать, тоже получилось, но не так как хотел. Получилось объемно, с обилием меток и странных действий, а главное - очень тормознуто, т.к последовательно два раза подряд перебирается вся таблица, (обратную таблицу составить не сумел, приходится подбирать), плюс, нужен дополнительный байт памяти. Вылизал подпрограмму как сумел, но не смог особо уменьшить размер, и сократить количество переменных.
Наверное, существуют какие-то другие способы решения такой задачи, т.к прежде не делал такого, или хотя-бы способ улучшить хотя-бы то, что есть?
Есть вот такой черновик этих подпрограмм, для вышагивания в эмуляторе.


Вложения:
handwrite.asm [1.04 KiB]
Скачиваний: 393

_________________
Трудное детство, стальные игрушки.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Пт дек 22, 2017 20:06:58 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1572
Откуда: Лен.Обл.
Рейтинг сообщения: 0
А разве у 8051 нет команд двоично-десятичного преобразования? da или как-то так называлась вроде бы. Не помню.

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Пт дек 22, 2017 20:22:00 
Встал на лапы

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Пн дек 08, 2014 19:45:24
Сообщений: 117
Откуда: Воронеж
Рейтинг сообщения: 0
А разве у 8051 нет команд двоично-десятичного преобразования? da или как-то так называлась вроде бы. Не помню.

DA A - это десятичная коррекция после операции сложения, т.к когда 16-рично складываются две десятичные числа, и результат - не десятичный. У 8051 вообще нет инструкций для преобразования чего либо.

_________________
Трудное детство, стальные игрушки.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Пт дек 22, 2017 22:28:15 
Друг Кота

Карма: 45
Рейтинг сообщений: -17
Зарегистрирован: Вт фев 21, 2012 13:51:55
Сообщений: 5114
Откуда: Начинающий
Рейтинг сообщения: 0
Таблично это конечно универсально.

Но если учесть, что в ASCII коды десятичных идут последовательно от 20h 29h ,а коды букв от A до F соотв. от 31h до 36h
,то каждый ниббл можно по очереди засылать в Acc ,дополнять старшими нулями и после проверки диапазона {0..9} , {A..F} прибавлять 20h или 31h соотв. ,после чего отправлять в область отображения.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Сб дек 23, 2017 06:20:34 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14056
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Полная таблица или таки представление HEX - файла в исполняемый код для загрузки в память программ?
:roll:
За полную не скажу(там все же или таблица или последовательное сравнение необходимо), а вот для бутлоадера, использующего *.hex файл есть заготовки в исходнике этого проекта
viewtopic.php?p=3167597#p3167597
download/file.php?id=291160
:beer:


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: 8051 ASM: Как нибудь улучшить код
СообщениеДобавлено: Сб дек 23, 2017 09:40:17 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 1368
Зарегистрирован: Пт авг 28, 2009 21:34:30
Сообщений: 7214
Откуда: 845-й км.
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
А разве у 8051 нет команд двоично-десятичного преобразования? da или как-то так называлась вроде бы. Не помню.

DA A - это десятичная коррекция после операции сложения, т.к когда 16-рично складываются две десятичные числа, и результат - не десятичный. У 8051 вообще нет инструкций для преобразования чего либо.

в 580-м процессоре была процедура перевода двоичного числа от 0 до F в ASCII код:
Код:
        ANI   0FH     ; маскируем лишнее
        ADI   90H
        DAA
        ACI   40H
        DAA

_________________
А люди посмотрят и скажут: "Собаки летят. Вот и осень."


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y