Как прочитать константу из памяти?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Есть массив:

Код: Выделить всё

MIN1N:
.db 0,254,257,260,263,266,269,272,275,278,281
Как прочитать числа до FF понятно

Код: Выделить всё

      ldi tmp, LOW(MIN1N*2)       
		mov ZL, tmp
		ldi tmp, High(MIN1N*2)
		mov ZH, tmp	
		lpm channelNumber, Z
А как быть с числами больше 255?
Можно сделать так?:

Код: Выделить всё

      ldi tmp, LOW(MIN1N*2)       
		mov ZL, tmp
		ldi tmp, High(MIN1N*2)
		mov ZH, tmp	
		lpm 
В таком случае константа загружается в Z или в R0?
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Код: Выделить всё

LPM   R0, Z+
LPM   R1, Z+
//R1:R0 содержит двухбайтное число (R1 - ст.байт), указатель Z готов к загрузке следующего
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

А можно так:

Код: Выделить всё

LPM   EEADRL, Z+ 
LPM   EEADRH, Z 
?
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Вот я дурень! :oops:
Мог бы и сам догадаться, что число большее 255 занимает две ячейки
Реклама
Эиком - электронные компоненты и радиодетали
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Pooher писал(а):А можно так:

Код: Выделить всё

LPM   EEADRL, Z+ 
LPM   EEADRH, Z 
?
нет
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

EEADRL(H) - это РОН!
Просто назвал некорректно.
Извиняюсь.
Можно использовать другие регистры, кроме r01 и r1?
Реклама
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Pooher писал(а):EEADRL(H) - это РОН!
Просто назвал некорректно.
Извиняюсь.
Можно использовать другие регистры, кроме r01 и r1?
Можно любые, кроме r30 и r31 (в принципе эти тоже можно, но поскольку они и есть указатель Z, то за резульат операции я бы не поручился :) ).
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Всем спасибо.
В WMLABе уже проверил, всё работает.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»