реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Обращение к глобальному массиву из ASM. Как организовать.
Amper25
сообщение Jun 7 2007, 09:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



IAR C + Mega128

Есть такая проблема. Весь проект делается на С, но особо критичную ко времени выполнения часть необходимо сделать на ASM. Эта часть должна обрабатывать глобальный массив(определяется вначале программы, вне main).
Незнаю как получить доступ к массиву из ASMа.
Мне в принципе достаточно того, чтобы в Z или любой другой регистр записать начальный адресс массива.

Подскажите как это сделать?
Go to the top of the page
 
+Quote Post
SergeyTT
сообщение Jun 7 2007, 09:50
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 3-07-06
Из: Харьков
Пользователь №: 18 533



Цитата(Amper25 @ Jun 7 2007, 11:26) *
IAR C + Mega128

Есть такая проблема. Весь проект делается на С, но особо критичную ко времени выполнения часть необходимо сделать на ASM. Эта часть должна обрабатывать глобальный массив(определяется вначале программы, вне main).
Незнаю как получить доступ к массиву из ASMа.
Мне в принципе достаточно того, чтобы в Z или любой другой регистр записать начальный адресс массива.

Подскажите как это сделать?

вроде-бы так:

LDI R30,LOW(array)
LDI R31,(array)>>8 // получаем адрес массива
LD R16,Z // берем array[0]
Go to the top of the page
 
+Quote Post
Amper25
сообщение Jun 7 2007, 10:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



Спасибо, помогло.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 16:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016