Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2012, 09:17   #61
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
ОЙ ли, на всех ЯП за этим всегда следил, исключение те которые не дают.
Не стоит мои слова перивирать: можно научиться следить за задействованными ресурсами и без знания ассемблера, но программировании на нём правильная работа с памятью - половина успеха, а это значит, что люди волей-неволей учатся "не брать лишнего"...

Цитата:
имелось в виду что немного лишней памяти можно и сожрать.
ясен пень что не безбожно занимать все пространство.
Ну почему же: нередко встречал статические массивы 1000Х1000 элементов из которых использовалось, в лучшем случае, порядка 300. И такие "программисты" далеко не редкость - словосочетание "динамический массив" для немалой части "специалистов" с дипломом (иногда даже красным) является чем-то из области космических технологий... И это только один из множества примеров.
з.ы. имеется ввиду диплом по профильным специальностям.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Что там есть С, Паскаль и еще какие-то языки заточенные под конкретную серию/модель. Хотя там ассемблер, конечно же играет первостепенную роль. Но это легко объясняется малыми ресурсами. Там это необходимость, на персоналках - прихоть.
Приведу пример из жизни: в качестве дипломного проекта была у меня плата с коммутационным контроллером от Motorola + ЦОС для работы с криптографией. Ко всему этому делу, прилагался транслятор с C на местный ассемблер , ну и компилятор для ассемблера + эмулятор (который по каким-то неясным до конца причинам так и не заработал). Как итог: программа, написанная на C (ради такого даже немного его освоил) после обработки транслятором вместо ожидаемых 10 страниц кода (местный асм я всё-таки изучил, но без практических тестов ваять на нём не хотелось) превратилась в 30+. И толку от такой программы, которая минимум вдвое дольше будет работать?
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 03.10.2012 в 09:39.
DiemonStar вне форума Ответить с цитированием
Старый 03.10.2012, 17:09   #62
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Ну почему же: нередко встречал статические массивы 1000Х1000 элементов из которых использовалось, в лучшем случае, порядка 300.
это и на асме можно сгородить.
Цитата:
но программировании на нём правильная работа с памятью - половина успеха, а это значит, что люди волей-неволей учатся "не брать лишнего"...
а в С, в Делфи значит не надо следить за памятью?(не берем ЯП ВМ)
так что не вижу тут никаких аргументов в сторону асма.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.10.2012, 17:48   #63
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Как итог: программа, написанная на C после обработки транслятором вместо ожидаемых 10 страниц кода превратилась в 30+.
Видите ли, то, что на данной конкретной платформе паршивый С компилятор еще не значит, что везде так. Возможно в данном случае и стоит использовать ASM, но на "нормальных" платформах (типа x86 или ARM) я думаю хороший компилятор вряд ли отстанет больше чем на 10% по объему и скорости. Зато время написания будет наверняка намного дольше, чем +10%
waleri вне форума Ответить с цитированием
Старый 03.10.2012, 18:46   #64
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Случайно заметил сегодня, что среди лицензий хрома, присутствует лицензия на yasm. Видимо его все таки используют
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 03.10.2012 в 18:53.
Goodwin98 вне форума Ответить с цитированием
Старый 03.10.2012, 20:05   #65
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Что там есть С, Паскаль и еще какие-то языки заточенные под конкретную серию/модель. Хотя там ассемблер, конечно же играет первостепенную роль. Но это легко объясняется малыми ресурсами. Там это необходимость, на персоналках - прихоть.
Согласен с Utkin. Для микроконтроллеров совршенно не выгодно создавать языки высокого уровня. 2-3 Кб памыти (в современных до 8-и), можно забить за неделю, от силы - месяц. Тем более, что линейка микроконтролеров (и иже с ними система команд) меняется, чуть-ли не через месяц.
Если-бы была какая-то стандартизация...
Каждая фирма, выпустившая микроконттроллер, считает себя пупом земли и готовит программёров под него, а нам, Бедным, приходится только бежать за ними высунув языки и сетуя на то, что мы "такие дебилы".
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 03.10.2012 в 20:09.
Smitt&Wesson вне форума Ответить с цитированием
Старый 04.10.2012, 10:49   #66
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Каждая фирма, выпустившая микроконттроллер, считает себя пупом земли и готовит программёров под него, а нам, Бедным, приходится только бежать за ними высунув языки и сетуя на то, что мы "такие дебилы".
точнее, сначала архитектуру и временные диаграммы работы прошерстить, а потом уже местный ассемблер пробовать использовать... и мечтать, чтобы хоть периодически конвейер работал...

Цитата:
это и на асме можно сгородить.
ну-ка скомпильте мне под DOS
Код:
 Mass db 1000*1000 dup (0)
а если ещё tlink .... /t то родина вас точно не забудет)))
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 04.10.2012, 11:03   #67
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
ну-ка скомпильте мне под DOS
Я не спец в этом деле. Но вроде как на чистом ДОСе (без винды) такое должно получится. Винда (наверно, опять же только предполагаю) не даст переключится на плоскую модель памяти.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 04.10.2012, 11:47   #68
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Я не спец в этом деле. Но вроде как на чистом ДОСе (без винды) такое должно получится. Винда (наверно, опять же только предполагаю) не даст переключится на плоскую модель памяти.
Зря вы так думаете: размер одного блока данных при компиляции не может превышать размер сегмента (т.е. 64кбайт), куда воткнуть почти мегабайтный массив нереально (без использования защищённого режима). А в случае с com-файлом, который не должен занимать более одного сегмента, придётся извращаться неподеццки)
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 04.10.2012 в 11:53.
DiemonStar вне форума Ответить с цитированием
Старый 04.10.2012, 13:12   #69
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А в случае с com-файлом
Я писал про FLAT-модель. Это автоматически исключает com-файлы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 04.10.2012, 13:33   #70
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
ну-ка скомпильте мне под DOS
А разве какой-нибудь паскаль под досом сможет выделить мегабайт под статический массив ? Что-то сомневаюсь.
И вообще причем тут дос, если речь идет о современности ?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Я где-то читал, что на C можна писать драйвера, а ОС без асма, только с C можно? pufystyj Свободное общение 31 01.03.2011 20:03