Разное и полезное > Микроконтроллеры и их программирование
HEX2BCD - как сделать?
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:
Навигация
Перейти к полной версии