Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Инкремент адреса AVR asm


Автор: pettimm 5.12.2014, 15:20
Привет всем! Возник вопрос по AVR asm: "Можно ли как то инкрементировать адрес в команде LDS temp,$0060 ?? или какой другой  вариант этого решения?  Это нужно например когда нужно считать сто ячеек, что бы не писать сто строчек с камандой LDS. Спасибо.

Автор: Romikgy 5.12.2014, 15:25
Код

ldi r30,$60 ; Set Z low byte to $60
ld r0,Z+ ; Load r0 with data space loc. $60(Z post inc)
ld r1,Z ; Load r1 with data space loc. $61

Автор: pettimm 5.12.2014, 16:10
1.Тут понятно:
ldi r30,$60 ; Set Z low byte to $60
2.тут: загружаем в r0 из Z с инкрементом
ld r0,Z+ ; Load r0 with data space loc. $60(Z post inc)
зачем загружаем в r0 ? нельзя сразу инкрементировать Z ?
и сразу закинуть из Z в R1&
3.Тут: Мы закидываем информацию в R1  по адресу что в регистре Z  ???
ld r1,Z ; Load r1 with data space loc. $61

Автор: Romikgy 5.12.2014, 17:43
Цитата(pettimm @  5.12.2014,  15:10 Найти цитируемый пост)
зачем загружаем в r0 ? 

а для чего тогда вообще читать?
Цитата(pettimm @  5.12.2014,  15:10 Найти цитируемый пост)
 нельзя сразу инкрементировать Z ?

можно
Цитата(pettimm @  5.12.2014,  15:10 Найти цитируемый пост)
Мы закидываем информацию в R1  по адресу что в регистре Z  ???

да

Автор: pettimm 5.12.2014, 19:03
ну я имел ввиду зачем использовать два регистра для чтения
но инкрементировать z можно только так?: ld r0,Z+ 
 если нас интересует инфа только с адреса $60 то так думаю будет нормально:

ldi r30,$59 ; Set Z low byte to $59
metka:
ld r0,Z+; тут интересует только инкремент Z
ld r1,Z ; а тут сразу читаем с нужного начального адреса$60
;и только в один нужный регистр.

rjmp metka; и читаем ячейки дальше по адресам

Автор: Romikgy 5.12.2014, 20:41
это пример! а не решение вашей задачи!!!

Автор: pettimm 9.12.2014, 15:05
Да я понял, спасибо...)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)