Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Потому что в 51 стека нет. То есть стек-фрейма. физически.
Отправлено
SM
24 мая 2007 г. 12:16
В ответ на:
Блин, не врубаюсь со вчерашнего дня, почему и иар и кайл большинство переменных делают статическими (не суют в стек), хотя они локальные? Не замечали?
отправлено Dr_Alex 24 мая 2007 г. 12:11
Составить ответ
|
Вернуться на конференцию
Ответы
Не понял. То есть насчёт сп в р0 я не прафф?
—
Dr_Alex
(24.05.2007 12:17:47
213.33.211.66
,
пустое
)
Можно, но на одно обращение к такой переменной будет типа (+)
—
SM
(24.05.2007 12:19:55
85.21.237.237
, 164 байт)
Тогда понял. Но без стэка грустно. Как-то непредсказуемо. Он же придуман чтоб память экономить, а теперь в лучшем случае получается, что компилер в одних и тех же местах разные переменные в разное время хранит?
—
Dr_Alex
(24.05.2007 12:22:44
213.33.211.66
,
пустое
)
Стек изначально придумал, чтобы там временно что-то сохранять, чтобы потом восстанавливать. А компилер делает именно так, как Вы сказали.
—
SM
(24.05.2007 12:24:49
85.21.237.237
,
пустое
)
вот в том то и беда, что большинство переменных в жисти - временные, а 51-ому они неудобны. Поэтому асматики 51-ый и любят - человеку без фреймов проще
—
DASM
(24.05.2007 12:26:57
212.58.192.14
,
пустое
)
Ну асматикам и наличие фрейма ничем не мешает :)
—
SM
(24.05.2007 12:29:22
85.21.237.237
,
пустое
)
не скажи, если брать что-нить развитое по фрейму - типа AVR - то у него будет беда с симметричностью регисторв. То есть что-то там на 128 байт забабахать на 51-ом проще вобщем-то. Ну а выше - опс :-(
—
DASM
(24.05.2007 12:31:45
212.58.192.14
,
пустое
)
Какая еще симметричность? В классическом 51 ей тоже не пахнет. Что-то можно делать с регистрами, что-то низзя, что-то только с аккумулятором.
—
SM
(24.05.2007 12:36:31
85.21.237.237
,
пустое
)
ну mov var1, var2 можно спокойно по 128 байтам. jb - jnb тоже удобны и тп
—
DASM
(24.05.2007 12:37:35
212.58.192.14
,
пустое
)
А, ну это да. Только причем тут регистры?
—
SM
(24.05.2007 12:38:30
85.21.237.237
,
пустое
)
ну как бы у 51-го память и есть почти что регистры :-))
—
DASM
(24.05.2007 12:41:24
212.58.192.14
,
пустое
)
Возьми например x86 - там и с фреймом все ОК, и на асме только в путь.
—
SM
(24.05.2007 12:37:14
85.21.237.237
,
пустое
)
Ладно, если кайл такой умный, тогда покатит.
—
Dr_Alex
(24.05.2007 12:26:48
213.33.211.66
,
пустое
)
(с)
—
DASM
(24.05.2007 12:27:36
212.58.192.14
,
пустое
)
ты геммор прикинул безиндексового сидения на фрейме прикинул ? Это вам не LD r16, Z+32
—
DASM
(24.05.2007 12:19:46
212.58.192.14
,
пустое
)
накалякай в Keill __reentrant - он сделает тебе стек.. больше не захочешь такого
—
DASM
(24.05.2007 12:20:17
212.58.192.14
,
пустое
)
:-)
—
Dr_Alex
(24.05.2007 12:23:46
213.33.211.66
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 6 на два:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru