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

 
 
> Доступ к глобальным переменным из асм-функции
Trizna
сообщение Dec 1 2010, 10:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 10-01-07
Пользователь №: 24 278



Подскажите, как в ассемблерной функции использовать переменную объявленную в "С" части программы ?

Например имеем код:
CODE
char table[100]

main
{
GET_TABLE_ELEMENT_ASM (char number)
}


Как в ассемблерной функции GET_TABLE_ELEMENT_ASM получить указатель на table ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ARV
сообщение Dec 1 2010, 12:36
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



а разве в ассемблерном файле нельзя указать extern char table[] и пускай линкер сам адреса подставляет?


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 1 2010, 12:39
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(ARV @ Dec 1 2010, 16:36) *
а разве в ассемблерном файле нельзя указать extern char table[] и пускай линкер сам адреса подставляет?

Код
.extern table

Кстати, r0 будет содержать номер элемента массива а не ссылку на элемент
Go to the top of the page
 
+Quote Post
Trizna
сообщение Dec 1 2010, 13:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 10-01-07
Пользователь №: 24 278



Цитата(_Pasha @ Dec 1 2010, 16:39) *
Код
.extern table


Я собственно так и делал, но не смог потом символ table использовать
конструкции
mov r3, table;
mov r3, #table;
компилятор не компилирует


Цитата(_Pasha @ Dec 1 2010, 16:39) *
Кстати, r0 будет содержать номер элемента массива а не ссылку на элемент

С этим всё ясно...
Go to the top of the page
 
+Quote Post



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

 


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


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