Форум по разработке и ремонту электронной техники Киевский форум радиолюбителей и электронщиков. Форумы по разработке и ремонту электронной техники
    Схемы электрические принципиальныеГлавная    ФорумФорум    ПоискПоиск по форуму    Личные сообщенияФайлообменник    Личные сообщенияРадиотехнический каталог   

Фотогалерея   <b>Профиль</b>Ваш профиль    Личные сообщенияЛичные сообщения    ГруппыГруппы   

FAQFAQ    РегистрацияРегистрация    ВходВход

Уважаемые посетители! Это старая версия форума. Новая версия находится по адресу: http://www.remexpert.com
Что значит следующий код на ассемблере?

 
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС...
 
Автор Сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 05 Июл 2007, 6:32    Заголовок сообщения: Что значит следующий код на ассемблере? Ответить с цитатой

Помогите пожалуйста понять значение следующего кода на ассемблере:

LDI ZH, HIGH(TAB_RATE*2)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
moskatov
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 02.05.2006
Сообщения: 95
Откуда: Россия, Ростовская область, г. Таганрог

СообщениеДобавлено: 05 Июл 2007, 6:48    Заголовок сообщения: Ответить с цитатой

Загружаем в регистр Z удвоенный адрес TAB_RATE.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
derun
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 10.04.2007
Сообщения: 32

СообщениеДобавлено: 05 Июл 2007, 9:27    Заголовок сообщения: Ответить с цитатой

moskatov писал(а):
Загружаем в регистр Z удвоенный адрес TAB_RATE.

Я бы даже сказал что в старшую часть регистра Z загрузить старшую часть (TAB_RATE уноженое на 2)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 05 Июл 2007, 10:42    Заголовок сообщения: Ответить с цитатой

А если TAB_RATE представляет из себя такую таблицу

TAB_RATE:
.DB 0X11,0X21,0X,0X11,0X10,0X23,0X08,0X0B
.DB 0X09,0X55,0XCC,0XDF,0X00,0X66,0X31,0XFF
.DB 0X89,0X80,0X63,0XA3,0X00,0XAA,0XA3,0X9A
.DB 0X23,0X1F,0XF4,0XF0,0X56,0X3F,0X5F,0X4F

где здесь старшая часть? Что именно будет загружаться в ZH?


Последний раз редактировалось: klevogivesh (05 Июл 2007, 13:43), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
derun
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 10.04.2007
Сообщения: 32

СообщениеДобавлено: 05 Июл 2007, 12:07    Заголовок сообщения: Ответить с цитатой

в ZH загрузится не содержимое таблицы, а старшая часть адреса указывающего на таблицу
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 05 Июл 2007, 12:32    Заголовок сообщения: Ответить с цитатой

.ORG 0X0800
TAB_RATE:
.DB 0X11,0X21,0X,0X11,0X10,0X23,0X08,0X0B
.DB 0X09,0X55,0XCC,0XDF,0X00,0X66,0X31,0XFF
.DB 0X89,0X80,0X63,0XA3,0X00,0XAA,0XA3,0X9A
.DB 0X23,0X1F,0XF4,0XF0,0X56,0X3F,0X5F,0X4F

Теперь можно определить, что загружаем в ZH?Улыбка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
derun
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 10.04.2007
Сообщения: 32

СообщениеДобавлено: 05 Июл 2007, 13:27    Заголовок сообщения: Ответить с цитатой

Дело в том что в AVR все команды двухбайтные это накладывает определнный отпечаток на адресацию.
когда вы пишите ORG 0x800 то в данном случае это адрес слов, когда вы будете читать байты из таблицы, то должны получить адрес для байт, для этого у вас написано (TAB_RATE*2). Но это было отступление, а тепер ответ на конкретно ваш вопрос (0х0800*2)=0х1000 итого в ZH будет загружено 0х10
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 09 Июл 2007, 13:47    Заголовок сообщения: Ответить с цитатой

спасибо, теперь этот код мне более менее ясен
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС... Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме


Rambler's Top100 PageRank Яндекс цитирования
Сайты наших друзей: Гири, все о гирях, Автоматизация магазинов, супермаркетов, ресторанов, кинотеатров,
Весы электронные, Сканеры штрих-кода, Принтеры штрих-кода

Powered by phpBB © 2001, 2005 phpBB Group

Время генерации страницы: 0.4826s (PHP: 88% - SQL: 12%) - SQL запросов: 12 - GZIP enabled - Debug on