Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
О как! В стек запихивают переменные, с которыми в данный момент НЕ работают. Чтобы не испортились. Быстрый доступ то для чего?
Отправлено
=L.A.=
25 мая 2007 г. 09:05
В ответ на:
Фрейм в стеке - это динамически выделенная в нем область памяти для хранения локальных переменных. И к ним должна быть простая адресация.
отправлено SM 25 мая 2007 г. 08:56
Составить ответ
|
Вернуться на конференцию
Ответы
Это "в узком кругу ограниченных людей" в стек запихивают то, с чем не работают.
—
SM
(25.05.2007 09:59:48
80.92.255.53
,
пустое
)
...и называют это место не стеком, а как-то ...(закатив глаза, щелкает пальцами) не помню, как, но как-то позабористей, чем "стек". :о)
—
YellowTiger
(25.05.2007 10:08:3
83.149.0.98
,
пустое
)
стеком, стеком.
—
SM
(25.05.2007 13:21:45
80.92.255.53
,
пустое
)
эммм... "и глаза такие - дообрые-добрые", да? :о)))))))
—
YellowTiger
(25.05.2007 13:34:34
83.149.0.98
,
пустое
)
В стек никакие переменные не кладут. :о) Просто смещают указатель стека, чтобы зарезервировать место под хранение *локальных* переменных.
—
YellowTiger
(25.05.2007 09:28:25
83.149.0.98
,
пустое
)
смещение куда-нить сохраняют, чтоб при "выходе" можно было стек вернуть в исходную точку.
—
Sergey Pinigin
(25.05.2007 09:30:23
82.195.5.128
,
пустое
)
Я бы это так не называл - "сохраняют".. Просто в начале каждой функции стоит инструкция, сдвигающая указатель. Резервируется место только для переменных ЭТОЙ функции, а не вложенных. В конце ткакая же инструкция сдвигает указатель обратно на ту же величину.
—
Dr_Alex
(25.05.2007 10:17:7
81.211.76.70
,
пустое
)
Может где-то и так делают, но не везде - скажем, в intel'ах именно сохраняют, причем на стеке же.
—
YellowTiger
(25.05.2007 10:22:30
83.149.0.98
,
пустое
)
В интелах сохряняют не на стеке, а в EBP.
—
SM
(25.05.2007 14:10:44
80.92.255.53
,
пустое
)
Это у Вас полумера какая-то. Обычно, после "мув бэпэ, эспэ" следует "пуш бэпэ". :о)))))
—
YellowTiger
(25.05.2007 14:30:42
83.149.0.98
,
пустое
)
Не после, а перед :) :)
—
SM
(25.05.2007 14:47:41
80.92.255.53
,
пустое
)
Да, именно. :о))) Я и сам уже успел засомневаться и проверить - уж лет десять, как на асме не пишу. Надо же - совсем забылось! :о))) Если кого запутал - я не виноватый! :о)))
—
YellowTiger
(25.05.2007 14:52:25
83.149.0.98
,
пустое
)
Более того - в 32-битном режиме это абсолютно необязательно, так как адресоваться можно и относительно SP (+)
—
ReAl
(25.05.2007 15:17:1
193.200.68.218
, 476 байт)
Ну, да плоская память во многих отношениях приятна :о) Я так понимаю, здесь важно понимать, откуда эта оговорка - "если возможно". Скажем, если в блоках кода (возможно, вложенных) есть свои локальные переменные, то писать на асме-таки проще с использованием фрейма вызова. Компилеру, разумеется, пофиг дым - он же "кремниевый". :о)))
—
YellowTiger
(25.05.2007 15:31:12
83.149.0.98
,
пустое
)
вариантов реализаци множество, каждая имеет право на жизнь
—
Sergey Pinigin
(25.05.2007 10:20:13
82.195.5.128
,
пустое
,
ссылка
)
Разумеется. Если бы этого не делали, известная присказка об устройстве мира закончилась бы на самом старте. :о))) (+)
—
YellowTiger
(25.05.2007 09:36:3
83.149.0.98
, 107 байт)
для удобной и быстрой реализации работы ЯВУ
—
Sergey Pinigin
(25.05.2007 09:17:46
82.195.5.128
,
пустое
)
Почему ограничиваете ЯВУ?
—
YellowTiger
(25.05.2007 09:29:30
83.149.0.98
,
пустое
)
стоп, я ЯВУ не ограничиваю...
—
Sergey Pinigin
(25.05.2007 09:31:39
82.195.5.128
,
пустое
)
Ага, то есть просто "для удобной и быстрой работы". С этим согласен. :о)
—
YellowTiger
(25.05.2007 09:37:41
83.149.0.98
,
пустое
)
Вок оно - тлетворное влияние ASM и архитектура PIC ;) С переменными в стэке как раз интенсивно работаютъ.
—
Гудвин
(25.05.2007 09:16:24
195.133.109.226
,
пустое
)
Как раз в "архитектуре PIC18" есть и область RAM с быстрым доступом и указатель стека для прямого доступа к данным в стеке. Типа, "для оптимизации под RTOS".
—
=L.A.=
(25.05.2007 09:34:49
213.134.214.10
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru