Страница 6 из 6

Добавлено: Вс июн 28, 2009 22:21:41
Arlleex
говорят на ассме много мелочей упустить нельзя(((
но все равно, если быть сообразительным - можно все. :P

Добавлено: Вс июн 28, 2009 22:26:48
SII
Krik99 писал(а):Самого асм заинтересовал, хотя Си знаю и он мне больше по душе, но как говорят некоторые, асм не знать - позор. Предлагаю создать таблицу с основными структурами на Си типа: while, if, for, и т. д. и их аналогам на асм'е. Думаю многим поможе Си прогерам освоить ещё и асм :)
Нет таких аналогов. Есть последовательности асмовских команд, которые реализуют аналогичную функциональность, но эти последовательности не фиксированы: зависит от фантазии программиста, от стоящих перед ним задач и т.п.

Добавлено: Вс июн 28, 2009 22:29:21
бгкот
Stalker46 писал(а):говорят на ассме много мелочей упустить нельзя
Там вообще "мелочей" нет. Надо все кумекать...
Кстати, как и везде...

Добавлено: Вс июн 28, 2009 22:32:08
Krik99
SII писал(а):Нет таких аналогов. Есть последовательности асмовских команд, которые реализуют аналогичную функциональность, но эти последовательности не фиксированы: зависит от фантазии программиста, от стоящих перед ним задач и т.п.
Дык хотябы в аналоги СИ ассемблеровские последовательности команд, для начинающих прогеров на асм в самый раз.

Добавлено: Вс июн 28, 2009 23:09:28
SII
Krik99 писал(а):
SII писал(а):Нет таких аналогов. Есть последовательности асмовских команд, которые реализуют аналогичную функциональность, но эти последовательности не фиксированы: зависит от фантазии программиста, от стоящих перед ним задач и т.п.
Дык хотябы в аналоги СИ ассемблеровские последовательности команд, для начинающих прогеров на асм в самый раз.
Ну, до определённой степени можно, но опять-таки весьма условно. Например, асмовский код для анализа условия, аналогичного сишному if (a == b), зависит от типов переменных a и b, а также от того, какие регистры программист будет использовать. Например, если a и b объявлены как char или usigned char, т.е. имеют размер 1 байт, получим что-нить вроде этого:

lds R16, a
lds R17, b
cp R16, R17
brne адрес-ветки-else

Добавлено: Вс июн 28, 2009 23:37:30
Krik99
Хотя асм и компактнее, но он низкоуровневый и когда дойдёт дело к действительно сложным программа, прийдёться перейти или на Си или ставить ОС на МК.

Добавлено: Вс июн 28, 2009 23:48:55
SII
Krik99 писал(а):Хотя асм и компактнее, но он низкоуровневый и когда дойдёт дело к действительно сложным программа, прийдёться перейти или на Си или ставить ОС на МК.
Наличие оси абсолютно никак не связано с использованием ЯВУ или асма. Да и сложность программы -- вещь относительная. Я, например, сейчас делаю на асме прогу для своей конторы -- уже около 3877 строк (правда, я не скуплюсь на комменты и пустые строки, но всё ж). Израсходовано 52,3% программной памяти (собственно выполнимого кода 4390 байт, данных, хранящихся в ПЗУ -- 4180). Много это или мало? Кому-то может показаться, что много, но для меня -- мало. В конце концов, во время оно глубоко разбирался с одной осью (RSX-11M), ну а там ядро без драйверов порядка 30 тысяч строк имеет на асме. Ну а суммарный объём кода в ранних версиях OS/360 -- больше 2 млн. строк, и тоже на асме (правда, в это число входит не только собственно ОС, но и утилиты всякие). Так что всё относительно...

А вообще, выбор языка должен в первую очередь зависеть от характера задачи. Писать программу с массой математических вычислений на асме -- удовольствие очень сомнительное, особенно на примитивных асмах. Ну а если программа состоит сплошь из "логических" действий из серии "проверить бит А -- установить бит Б", то написать её на асме если и сложней, чем на ЯВУ, то ненамного.

Добавлено: Пн июн 29, 2009 09:21:44
GP1
+1
Асм - есть, и будет есть!
Вне зависимости от наличия/отсутствия ЯВУ

Актуальность ассемблера

Добавлено: Ср мар 29, 2017 10:40:42
neoneon
Здрасте :) Тема холиварная (имхо), но все же хотелось бы узнать, как обстоят дела на самом деле.
Немного пишу на асме (авр) чисто для себя. И вопрос - насколько актуален асм как язык? В наши дни на нем пишут драйвера для компьютерного железа, или, скажем...управление посудомойкой, стиральной машинкой? Т.е. сейчас его используют на уровне железа? Или намного чаще используют си?

На днях ходил искать работу, в одной конторе немного рассказали про свой проект. Для чего именно пишут - не сказали, но в общем - на питоне и си++, а когда нужно спуститься до уровня железа - на си. Подумал, может, я отстал от жизни и сейчас контроллеры с большими объемами ресурсов не требуют такой точности и контроля? А ЦОС тоже не требует асма?

Интересны любые мнения по теме :wink:



Тема дубль.
Сюда перенес.
aen