Разное и полезное > Микроконтроллеры и их программирование

HEX2BCD - как сделать?

(1/2) > >>

lgedmitry:
Ребят, может кто объяснит доходчиво, как сделать в атмеге преобразование одного байта (0x00...0xFF) в формат BCD на ассемблере? ;-[ ;-[ ;-[

hippo64:
Сереж, а что стандартный набор подпрограмм лень посмотреть? Есть там такое, гляну на рабочем компе, если сам не найдешь, оно уже лет как больше десяти прошло

и добавил...
Да тупо в виде сравнения и вываливания с новым значением напиши, на асме чем проще и тупее - тем быстрее выходит

lgedmitry:

--- Цитата: hippo64 от 18 Сентября 2013, 08:19:21 ---Сереж, а что стандартный набор подпрограмм лень посмотреть?
--- Конец цитаты ---
Знач буду посмотреть, Вов ???

Segun:
http://controllersystems.com/books/praktika_programmirovaniya_atmel_avr/operacii-s-chislami-v-formate-bcd.html

lgedmitry:

--- Цитата: Segun от 18 Сентября 2013, 09:38:41 ---http://controllersystems.com/books/praktika_programmirovaniya_atmel_avr/operacii-s-chislami-v-formate-bcd.html

--- Конец цитаты ---

Александр, спасибо!
Доехало: вычитаем по 10 копеек, пока carry не установится. Считаем при этом вычеты. Как установилось - вычитаем минус 10 (где-то уже читал, что в атмегах это проще, чем 10 добавлять). В итоге имеем: в счётчике вычитаний - десятки (ну и сотни можно легко замутить, если считать через одно место). А в остатке - единицы :v:

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии