Страница 228 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб июн 07, 2014 18:39:50
Flash.#13
pyzhman писал(а):When ADCL is read, the ADC Data Register is not updated until ADCH is read. Consequently,
if the result is left adjusted and no more than 8-bit precision is required, it is
sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH.
ААА мануал, пасибки! Заработало!!! Это такой пипец, пол дня мудохался, и так и сяк а там отакое...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб июн 07, 2014 18:54:18
pyzhman
Пожалуйста.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб июн 14, 2014 22:23:12
FreshMan
вопрос относительно rjump
при обьеме флеша в 4 килослова и нахождении рабочей точки в конце памяти существует ли вероятность что я не допрыгну в начало
меня об этом должен предупредить компилятор ?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб июн 14, 2014 22:39:43
Kavka
4 кило слова это +-2 килослова, которые заложены в rjmp. Прямая видимость обрабатывается как обычно, а то куда не достаёт напрямую делается "перепрыгиванием через границу". Т.е. или через конец памяти на начало, или через начало на конец. Подобно переполнению целочисленной переменной (как для байта, 255+1 даёт 0). Таким образом адресуется вся память. В любом случае компилятор ругнётся если он что-то не сможет переварить.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб июн 14, 2014 22:53:42
FreshMan
Kavka писал(а):Т.е. или через конец памяти на начало, или через начало на конец.
нифигасе
весьма познавательно....., спасибо !

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 17:25:48
FreshMan
вопрос относительно Н флага
при вычитании или сложении оный флаг равен единице тогда когда результат больше $0F ?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 17:35:08
Kavka
Нет. Флаг H равен единице если был перенос из 3-го бита в 4-й для сложения или был заём из 4-го в 3-й для вычитания.
Нумерация битов от нуля.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 17:47:21
FreshMan
а как на асме реализовать такую конструкцию
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 21:38:25
ILYAUL
cp a,b
brsh туда
с=2
туда:
с=1
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 21:59:14
WiseLord
А в случае else после с=2 не выполнится ли часом ещё и c=1?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 22:01:03
nirq
4 кило слова это +-2 килослова, которые заложены в rjmp
Транслейт: (r)jmp прыгает не
на указанный адрес, а
на плюс-минус N адресов от самой инструкции (r)jmp.
Качаем doc0856.pdf, ищем там слово "Opcode".
Смекаем: а разницу между чем и чем вычисляет кто и в какой момент?
или через конец памяти на начало, или через начало на конец
а). берём микросхему такую же, но с более другими килобайтами
б). в той же самой микросхеме дописываем новый код, меняем местами старый.
Кулхацкер не нужен. Почётен, зачётен, может даже выиграть приз на каких-нибудь соревнованиях по этому за это - но не нужен.
Обсуждаем со всех сторон!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вс июн 15, 2014 23:49:13
ILYAUL
WiseLord писал(а):А в случае else после с=2 не выполнится ли часом ещё и c=1?
Т.е в уме после с=2 добавить rjmp сюда, просто лень? Ему нужна была просто структра IF в исполнении asm / Так в asm не существует и c=x
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 01:11:19
baghear
Добрый день, на 87 странице есть такой кусочек кода для вывода дробной части ds18b20
Код:
; таблица дробной части (12-битное преобразование)
table: .db '0','0','0',0'
.db '0','6','2',5'
.db '1','2','5','0'
.......
.db '9','3','7',5' ; всего 16 строк по 4 символа
...............
...............
; дробная часть в temp - диапазон 0b0000...0b1111
ldi ZL,low(table*2)
ldi ZH,high(table*2)
rol temp
rol temp ; temp=temp*4
add ZL,temp
clr temp
adc ZH,temp
; четыре команды LPM с инкрементом Z вытянут дробную часть из таблицы
..................
Находят начальный адрес таблицы, затем прибавляют к нему temp*4.
Для чего temp умножают именно на 4?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 06:25:52
akl
Шаг таблицы равен 4 байтам, поэтому temp умножается на 4, суммируется с началом таблицы, получается точка входа для извлечения числового значения по текущему коду.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 11:32:52
baghear
Так как шаг 0,625, то одно из значений 1,250 и 1,875 будет недоступно?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 11:40:20
akl
The resolution of the temperature sensor is user-configurable to 9, 10, 11, or 12 bits, corresponding to increments of 0.5°C, 0.25°C, 0.125°C, and 0.0625°C, respectively. The default resolution at power-up is 12-bit.
Где Вы увидели такой шаг?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 11:45:12
ILYAUL
Он путает шаги по таблице с точностью изм. темрературы
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 16:33:55
baghear
Да точность 0,0625.
Разве таблица строится не с шагом точности?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт июн 17, 2014 20:51:13
ILYAUL
нет - она сама по себе.
Тут
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср июн 18, 2014 00:18:08
baghear
Разобрался
Спасибо akl