Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
В стек никакие переменные не кладут. :о) Просто смещают указатель стека, чтобы зарезервировать место под хранение *локальных* переменных.
Отправлено
YellowTiger
25 мая 2007 г. 09:28
В ответ на:
О как! В стек запихивают переменные, с которыми в данный момент НЕ работают. Чтобы не испортились. Быстрый доступ то для чего?
отправлено =L.A.= 25 мая 2007 г. 09:05
Составить ответ
|
Вернуться на конференцию
Ответы
смещение куда-нить сохраняют, чтоб при "выходе" можно было стек вернуть в исходную точку.
—
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 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 76:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru