Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Структуры в ассемблере
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
777777
Вроде бы в 51-м ассемблере можно было объявлять структуры, аналогичные C-шным и как-то работать с ними. Или мне приснилось?
zltigo
Цитата(777777 @ Aug 26 2007, 07:54) *
Вроде бы в 51-м ассемблере

Вы наверное даже не представляете, наверное, сколько из 51 Ассемблеров существует в природе.
Структуры, в проиличных современных ASM действительно описывать можно и нужно!.
repairDV
Если данные - константы, то просто записываете в ПЗУ после основной программы таблицу и с ней работаете.
777777
Цитата(zltigo @ Aug 26 2007, 11:42) *
Вы наверное даже не представляете, наверное, сколько из 51 Ассемблеров существует в природе.

Компиляторов может и много, но язык (стандарт) один.

Цитата(zltigo @ Aug 26 2007, 11:42) *
Структуры, в проиличных современных ASM действительно описывать можно и нужно!.

А как? Какой синтаксис?


Цитата(repairDV @ Aug 26 2007, 13:41) *
Если данные - константы, то просто записываете в ПЗУ после основной программы таблицу и с ней работаете.

А почему именно после? Их обычно помещают в отдельный сегмент, а уж куда его поместит линкер - ему лучше знать.
zltigo
Цитата(777777 @ Aug 26 2007, 16:10) *
Компиляторов может и много, но язык (стандарт) один.

Для начала, так уж повелось, асемблированием занимаетя не компилятор.
Здорово видать отстал я отстал от жизни - ну давате ссылочку поищите на "стандарт ассемблеров" smile.gif.....
vvs157
Цитата(777777 @ Aug 26 2007, 17:10) *
Компиляторов может и много, но язык (стандарт) один.

Это как так? А Вы случаем ассемблер с Си не путаете? Во-первых Вы по-видимому имеете ввиду мнемоники. Обычно действительно все пользуются мнемониками производителя процессора. Но бывают и ислючения. Например в юнихическом мире существует набор мнемоник ассемблера для х86 не совпадающий с интеловским. А во-вторых в любом, даже самом простом ассемблере есть куча операторов, директив итп, которые никакими стандартами не регламентируются и определяются только вкусами создателей ассемблера. Как пример - директивы и формат записи родного борландовского х86 ассемблера и микросовтовского. Про 51-й я уж не говорю - сколько производителей, столько и директив, псевдооператоров итп.
777777
Цитата(vvs157 @ Aug 26 2007, 18:34) *
Это как так? А Вы случаем ассемблер с Си не путаете?


А при чем тут Си? Или вы считаете, что программу на Си транслирует компилятор, а на ассемблере - какая-то другая, с другим названием?

Цитата(vvs157 @ Aug 26 2007, 18:34) *
<...> А во-вторых в любом, даже самом простом ассемблере есть куча операторов, директив итп, которые никакими стандартами не регламентируются и определяются только вкусами создателей ассемблера.


Тем не менее создатели ассемблера понимают, что для того чтобы переманить пользователей, он должне быть максимально совместим с существующими, так что стандарт де-факто существует.

Но это ладно, тонкости терминологии, а по-существу кто-нибудь скажет по поводу структур в ассемблере?
Deka
Так как компиляторы обычно нужны для языков высокого уровня, а ассемблер таковым не является, думаю что правильным будет транслятор с ассемблера и компилятор Си. Ну и очевидно в связи с низкоуровневостью ассемблеру структуры как-бы и не нужны... Их можно оформить просто в тексте. Для удобочитаемости. Ну и префиксы понаделать.
vvs157
Цитата(777777 @ Aug 28 2007, 12:31) *
А при чем тут Си? Или вы считаете, что программу на Си транслирует компилятор, а на ассемблере - какая-то другая, с другим названием?

Традиционно называется компилятором транслятор с языком высокого уровня, а ассемблером - с мнемоник процессора так как ассемблер порождает код "один-в-один"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.