Страница 1 из 1
разделить ячейку ?
Добавлено: Пн янв 31, 2011 00:53:18
Кислый
Возможно ли деление 8-битной ячейки на две 4-битные ? Нафиг нам интервал от 0 до F я умолчу. интересует сам факт.
Re: разделить ячейку ?
Добавлено: Пн янв 31, 2011 01:17:46
ploop
Бери да используй хоть как восемь однобитных. В чём проблема то?
Тем более, что для этих целей поддерживается специальная команда swap, которая меняет местами старшие и младшие 4 бита. Очень удобно обрабатывать двузначные десятичные числа, представленные в виде байта.
Re: разделить ячейку ?
Добавлено: Пн янв 31, 2011 01:27:58
Кислый
о великий ! как ? как не съесть при этом больше флеша, чем можно выиграть ?
Re: разделить ячейку ?
Добавлено: Пн янв 31, 2011 07:59:57
ploop
Что как? Хранить десятичные числа? Очень просто. 4 бита - это число от 0 до F, соответственно числа от 0 до 9 легко можно хранить. Пишем число в младшие биты, делаем swap, пишем опять в младшие:
Код: Выделить всё
ldi R16, 3 ; записали число от 0 до 9
swap R16; перевернули. Теперь младшие 4 бита стали старшими, старшие - младшими (у нас нулями)
ori R16, 7 ; записали второе число
После этого в R16 у нас два десятичных числа - 3 и 7 по отдельности.