1327

Ассемблер

Ассемблер

IT-юмор

7.1K постов53.2K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

25
Автор поста оценил этот комментарий
Я о том, что компьютеры не всегда можно было программировать непосредственно кодом. В ранних моделях приходилось долго и нудно физически переподключать блоки проводами. И те, кто придумал составлять программы, гении.
раскрыть ветку (1)
9
DELETED
Автор поста оценил этот комментарий
Сперва они придумали перфокарты которые по своей сути замыкали тебе Контакты но гораздо быстрей.
показать ответы
2
Автор поста оценил этот комментарий
Содержимое перфокарт переписывалось в ОЗУ на конденсаторах и они служили именно носителем информации, а не замыкателем блоков
раскрыть ветку (1)
3
DELETED
Автор поста оценил этот комментарий
Это очень смелое утверждение особенно что оно охватывает очень широкий круг древних машин которые были довольно разными и выпускались продолжительный период.
показать ответы
2
Автор поста оценил этот комментарий
Программист который программирует программы для программиста который програмсирует программы для программирования. 🙄
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Как насчет инженера который проектирует процессоры для исполнения программ?

показать ответы
14
Автор поста оценил этот комментарий
Разработчикам компилятора надо знать ассемблер, но писать компилятор на ассемблере нет необходимости.
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

+

1
Автор поста оценил этот комментарий

Инженеров, которые проектируют процессоры не существует. Это ложь навязанная правительством!

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

а существует ли правительство или это ложь навязанная рептилоидами?

показать ответы
1
Автор поста оценил этот комментарий

Просто по gcc нашел информацию, а по остальным нет. https://m.habr.com/ru/post/478124/ здесь кстати в комментах этот вопрос тоже обсуждается. Вы бы хоть одну ссылку на источник привели, где бы говорилось что у компилятора vs самоцель сгенерить asm код, а не просто опция.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

VS нет цели сгенерировать asm файл, это просто способ генерации машинного кода который позволяет разбить компиляцию на два этапа:


- "эвристический" когда VS анализирует код на ЯВУ с целью сгенерировать максимально эффективный код результат которого она представляет посредством asm файла.


- "механистический" когда ML64 и LINK напрягают все силы чтобы переварить полученный asm файл в исполняемый код.


Такой подход выбран не потому что а ASM это вершина программирования а потому что так можно разбить работу на два этапа а за одно обезличить ЯВУ, то есть VS не важно на C++ или C# или каком другом языке она все их конвертирует в ASM и скормит ML64 и LINK.


Обратите внимание промежуточный результат на asm даже не сохраняется потому что в реальности он никому и не нужен, завтра может выйти обновление по оптимизации, новый сет команд или еще что и VS сгенерирует новый asm по новым правилам.


ASM не цель VS а лишь средство.

показать ответы
0
Автор поста оценил этот комментарий
Точно,память была ферритовая
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

на аполлонах

DELETED
Автор поста оценил этот комментарий

Для повышения производительности. Можно просто подключить библиотеку и получить прирост 2-10 раз из воздуха. Ничего не делая, просто импортируя в одном из модулей. А можно воспользоваться компилятором и производительность вырастит еще больше, но там языковые конструкции будут немного другими.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Эта библиотека существовала от сотворения мира или были/есть люди которые ее волшебным образом написали при том так что она дает 2-10 раз скорости?


Как они это сделали, почему их код в 2-10 раз лучше?

показать ответы
0
Автор поста оценил этот комментарий

специально заморочился: поставил студию, снес все ml.exe и ml64.exe. Простейший HelloWorld скомпилировался и запустился и из IDE и из командной строки.

Что я сделал не так?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Да ктож его знает, могу предположить что ты тратишь время чтобы доказать кому то в сети что он не прав. Знаешь ли не очень умное время провождение.

показать ответы
2
Автор поста оценил этот комментарий

А вы упертый)) Вот первоисточник, так сказать от авторов того что вы мне показываете: https://docs.microsoft.com/ru-ru/cpp/build/reference/fa-fa-l... Этот параметр используется как доп опция. Обратите внимание что есть даже ключ который добавит в полученный листинг машинный код, что как бы намекает...

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Это параметр который позволяет сохранить этот файл, если он не будет установлен то VS создаст asm файл скормит его ml64.exe и link.exe получит результат и сотрет его за ненадобностью.


Ты отрицаешь очевидно из упрямого нежелания признать что твое первоначальное утверждение было ошибочно.


Не желание признавать свое заблуждение единственный твой мотив.


Под давлением фактов ты бул вынужден признать это в отношении GСС но упорно не желаешь признать это в отношении VS потому что в этом случае вся твоя точка зрения что ты отстаивал превращается в тыкву.


параметр который ты указал это и есть сигнал VS сохранить генерируемый ассемблерный код.

показать ответы
0
Автор поста оценил этот комментарий

наоборот, за время диалога, я узнал как работает gcc (ни разу с ним не работал, только C++Builder и VS) освежил память в целом по C++ и asm'у (лет 5 наверное их не касался), даже смахнул пыль с очень старого своего проекта.

Пытаться в чем-то разобраться это разве плохо?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий

Это какой-то юмор для июней?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

да.

1
Автор поста оценил этот комментарий
Привет KolibriOS
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

BolgenOS наше все!

Автор поста оценил этот комментарий

Хер на! Что путаю, спрашиваю!

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Все перечисленные тобой понятия ни за ни против ассемблера, они параллельны, и даже больше если вдруг ты решишь использовать все эти возможности а использовать ты их сможешь только если решишь написать свою ось ну или хотя бы драйвер, выясниться что нет ЯВУ на котором ты бы мог это сделать. Эти понятия за гранью прикладных языков программирования.


Ассемблер это не цель, это средство, не надо наделять его ни волшебными ни демоническими способностями. если нужно используй, если избыточно, а чаше всего избыточно сложно/долго/дорого то отложи его и реши вопрос на ЯВУ быстрей/дешевле/легче.

показать ответы
1
Автор поста оценил этот комментарий

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

и для этого действительно ассемблер может быть не нужен.

хотя хорошая ide все равно умеет понимать и анализировать код

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
«Может быть НЕ нужен» - это опечатка?
Автор поста оценил этот комментарий
У нас счас на сессии были Основы программирования микропроцессорной техники. Там ассемблер для 8085. А мы все тупые поголовно, и на асме кодить ни кто не умеет, А уж почитать методичку тем более. Ну значит надо заказать где-то... На а24 ценник 500р задача, А я решил сразу на всех заказать 26 вариантов по две задачи.. В итоге ценник неадекватный выходит.. Поискал и нешел в вк "автора", который готов за 4к и два дня решить эту всю фигню, бабки на я.кошелек переводите и будем делать. Я перевел. Через день посмотрел профиль, а он создан неделю назад, фотки спижженые, друзья фэйковые и вот это вот всё. Пишу этому "автору" а ты точно все решишь, не кинкшь меня? Отвчеает: всё норм! Работаю!!
крч кинул, пришлось самому этот асм учить..
а поддержка вк после жалоб так и оставила этого "автора" дальше заниматься мошенническими действиями..
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Так надо было бы мне писать, я тебе бесплатно бы сказал что я 8085 в гробу видал.


Сейчас вас этим древним говном так замордуют что после него у тебя останется стойкое желание бить в лицо любому кто только произносит "ассемблер".


Я тебе бесплатный совет дам, отмучайся и забудь это говно что вас мучат, захочешь все таки вернуться к ассемблеру то учи 64-битный векторный ассемблер.


По сути вас даже не Паскалю учат а чему то типа Кобола.


Это говно умерло уже лет 30 назад и продолжает жить только в головах преподавателей. Потому как им глубоко плевать научитесь вы чему то в институте или нет.

показать ответы
Автор поста оценил этот комментарий
Я сам программист. Исключения лишь подтверждают правило. Нельзя этими примерами опровергнуть основные подходы в языках. Питон - это интерпретируемый язык сценариев и с этим он хорошо справляется. Конечно, наверняка есть извращенцы создавших компилятор для питоновского синтаксиса, но зачем?
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Потому что это круто!!!

0
Автор поста оценил этот комментарий

А кто-то предлагает это делать?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Я.

1
Автор поста оценил этот комментарий

Промежуточный в том плане что отсутствуют ссылки на переменные, методы, классы которые лежат в других модулях. А так-то набор инструкций там не меняется. Компоновщик как раз референсы и проставляет. Насчёт gcc посмотрел, на самом деле делает сначала ассемблерный листинг, а потом уже его транслирует. Наследие с 60х годов. Майкрософт и Борланд так не делают.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Вот тебе VS19:

Иллюстрация к комментарию
показать ответы
Автор поста оценил этот комментарий

Ну да ну да, расскажи мне, 25 лет в ИТ, от прогера на C++ до enterprise architect. Я путаю, конечно. Что ж я там путаю, интересно?!

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Да.

показать ответы
0
Автор поста оценил этот комментарий

ассемблер имеет очень узкое применение

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Несомненно и писать на нем прикладные программы крайне нерационально и неразумно.
показать ответы
3
Автор поста оценил этот комментарий

Компилятор делает объектный файл (машинный код). А линкер уже компанует объектные файлы в исполняемый.

Никаких промежуточных трансляций в ассемблер никто не делает.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

из чего компилятор делает объектный файл? я просто знаю что ты ошибаешься но хотел бы показать тебе в чем.

показать ответы
0
Автор поста оценил этот комментарий
Вот ни разу не программист, нихуя не понимаю, но читаю и интересно. Почему?
Иллюстрация к комментарию
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Потому что это такой известный IT срачь. Всех маленьких програмеров сильно мучают в универах заставляя их писать на давно умершем 16-битном асме, в итоге они начинают его люто ненавидеть с религиозной ненавистью.

показать ответы
4
Автор поста оценил этот комментарий

Компилятор компилирует в машинный код. Ассемблер, это язык для программирования.


Результатом работы программы может являться байт код, а могут быть языки интерпретируемые. В них скомпилированные команды транслируются в машинный код в помощью разных средств.


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


По моему, у вас какое-то неверное понимание копм. технологий.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Если ты пользуешься VS открой настройки глянь их внимательно и ты увидишь что половина их это вопросы какой ассемблер ты хочешь направить в  ML64.EXE

показать ответы
0
Автор поста оценил этот комментарий

Вроде как обычно заставляют кодить совсем уж базовые вещи аналогичные тем которые находятся на первых 20-30 страницах самоучителя по Сям.


Как по мне он офигенен как подготовка к C, т.к. после Асма он начинает казаться мегавысокоуровневым с его нормальными ветвлениями, циклами и отсутствием необходимости использовать метки с макросами.

Не говоря о том что там уже разрешают пользоваться библиотеками.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Их заставляют кодить самым глупым и не эффективным способом, фактически их заставляют плац ломом подметать, не удивительно почему потом они это так ненавидят.
показать ответы
1
Автор поста оценил этот комментарий

Почитай побольше про оптимизацию компиляторов и поищи там ассемблер:

https://ru.m.wikipedia.org/wiki/Оптимизирующий_компилятор

https://ru.m.wikipedia.org/wiki/Категория:Оптимизации_компилятора

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Только начал читать и сразу же прочитал про необходимость просматривать код для поиска возможности замены одних ассемблерных команд на другие.


Ты хотел помочь мне привести примеры что я прав?

показать ответы
1
DELETED
Автор поста оценил этот комментарий
Нас в ВУЗе учили всего 2м языкам: паскалю и блядь ассемблеру. Я до сих пор не пойму нахуя. Кому в голову пришло совместить это? Я чот не понимаю в жизни?
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Зато весь педсостав из года в год читал одни и тебе лекции и все у них было хорошо а то что вы ничего нового неузнаваем им было совершенно параллельно.
2
Автор поста оценил этот комментарий

Все эти понятия поясняют как CPU работает за пределами ЯВУ, что бы такие неучи, вроде тебя, потом не говнокодили. Использовать ассемблер в 99% не нужно, но знать основы - правильно и необходимо.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

а чем тебе не нравиться мой говнокод? не нравиться не ешь.

Автор поста оценил этот комментарий

Так и ладно. Зачем вам защищённый или виртуальный режим, кольца защиты и тд. Главное, что бы понимали: регистры, стек, ветвления, условия, математические операции. Как все работает на низком уровне. Так-то достаточно и Z80 изучить было.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

ты путаешь теплое с мягким.

показать ответы
4
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

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


Зачем они так с людьми поступают?

показать ответы
DELETED
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

а я вот ничего против не имею, есть много задач которые должны быть сделаны не долго/красиво/дорого, а быстро/дешево/надежно.

5
Автор поста оценил этот комментарий

Ты слегка не понял какой ассемблер они придумали. У них что-то типа CIL или LLVM, платформонезависимая обёртка над псевдоассемблером в который они компилируют код. Этот псеводассемблер к железу не привязан если что.

А потом они уже прогоняют через ассемблер для конкретной архитектуры.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Этот псевдо ассемблер максимально к нему приближен к реальному так чтобы при конвертации из платформа независимого ассемблера в платформа зависимый одной псевдо инструкции соответствовала максимум две три реальных инструкции.


Смотри какое просто логическое построение: каким бы абстрактным и высоко уровневым не был бы язык программирования всегда наступает момент когда он должен быть переведен в машинный код и тут ты можешь выбрать два пути ты можешь для каждого языка писать новый компилятор а можешь написать для языка препроцессор который будет любой язык переводит в языко независимый формат (чувствуешь как байто кодом запахло) и этим "промежуточным" языком естественным образом является ассемблер.


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


VS даже есть настройка чтобы сохранить этот промежуточный файл. Если его открыть там сотни тысяч строк ассемблерного кода

показать ответы
2
Автор поста оценил этот комментарий

из исходников, из кода....*.cpp для с++, *.asm для ассемблера....Ассемблер(транслятор) так же генерит объектные файлы, которые нужно потом собирать линкером. https://habr.com/ru/post/150327 вот кстати хорошая статья о том чем занимается компоновщик

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Иллюстрация к комментарию
показать ответы
0
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

На Маска кстати чемто похож.

1
Автор поста оценил этот комментарий

Почитай побольше про оптимизацию компиляторов и поищи там ассемблер:

https://ru.m.wikipedia.org/wiki/Оптимизирующий_компилятор

https://ru.m.wikipedia.org/wiki/Категория:Оптимизации_компилятора

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

https://habr.com/ru/company/badoo/blog/317864/


Вроде уважаемая контора а какой то глупостью занимаются, свой ассемблер придумывают, прям как microsoft, те тоже зачем то придумали MASM и зачем то все продолжают и продолжают его поддерживать.


Ты им позвони и скажи что они забыли про космическую радиацию.

показать ответы
4
Автор поста оценил этот комментарий

Вы хотите показать мне, что ваш компилятор умеет генерировать ассемблерный листинг? Но это же не значит что полученные объектные файлы создаются из этого самого листинга.

Опция полезная, не спорю, раньше приходилось дизасемблером пользоваться или отладчиком что бы понять че там накомпилировалось.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Я думаю дальше говорить нет смысла.

19
Автор поста оценил этот комментарий
Генерируется двоичный код, а не ассемблерный
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Допустим VS генерирует сперва ассемблерный код, а потом скармливает его компилятору в качестве которого она использует ML64.EXE.


Ассемблерный листинг используется как промежуточное звено, вне зависимости от языка программы она переводиться в MASM64, а потом отправляется в ML64.EXE и LINK.EXE и уже они генерируют двоичный код.

показать ответы
4
Автор поста оценил этот комментарий

Ну и зачем же тогда знать ассемблер, человеку занимающими высокоуровневыми языками программирования? Джаваскриптеру например какому-нибудь?


Он и тебе то не нужен судя по всему. Машина сама компилит его.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

- почему Вы идете на Эверест?

- потому что он Есть.

26
DELETED
Автор поста оценил этот комментарий

Написание вручную програм на языке  ассемблера широко не востребовано, потому что компиляторы гораздо лучше оптимизируют, чем человек.

Есть отдельные исключения под узкие задачи, но массово это нафиг никому не нужно.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Не бывает компилятора папы и компилятора мамы у которых рождается компилятор гений. Если компилятор чтото круто оптимизирует то это потому что какой то крутой чел  знающий ассемблер вдоль и поперек написал этот код оптимизации.


Ассемблер не востребован в IT второго мира к которым можно отнести постсоветское пространство, потому как оно живет за счет решений первого мира. Там пишут компиляторы и придумывают языки программирования.


Здесь все это лишь потребляют.

показать ответы
18
Автор поста оценил этот комментарий

Для написания компилятора надо знать архитектуру процессора, пайплайн, как работает предсказания, параллелизм, работу гипертриденга, расширения, модели памяти и собственно саму теорию разработки компиляторов.

X86 ассемблер это такая мелочь, которая особо и плюсов не даст.

п.с.

В математических библиотеках ассемблер используют как раз в качестве костыля чтобы максимально подходящие расширения процессора задействовать. Никто в здравом уме математику на асме не пишет, в основном Фортран.

п.п.с.

Компиляторы в РФ, кстати, пишут. Те же мцст и Эксельсиор.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Ты осознаешь что ты противоречишь сам себе?


Ты перечислил процессорные потроха и увенчал все это заявлением что для работы с ними знание ассемблера не нужно от слова совсем.


Ты чувствуешь логическое противоречие в своих словах?

показать ответы
11
Автор поста оценил этот комментарий

Вообще грустно, асм он как Хаскель - абсолютно не нужен, но разобравшись в нём ты станешь чуточку лучше и больше поймешь в своих питонах.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

По этой причине половина математической библиотеки GO написана на асме, им просто было скучно.


Ассемблер не востребован на постсоветском пространстве, потому что его IT рынок вторичен, он живет и пользуется продуктами первого мира и не испытывает потребности писать на ассемблере. Все что ему надо уже сделано в первом мире.

показать ответы
16
Автор поста оценил этот комментарий

Нет, не чувствую, знание потрохов процессора не даёт умение писать на ассемблере, умение писать на ассемблере не даёт знания потрохов процессора. Понятия не эквивалентны.

Я сказал не то, что знание ассемблера не нужно, а то, что знание ассемблера и разработка оптимизирующего компилятора это как знать алфавит и уметь писать книги. Если ты знаешь ещё три алфавита понту от этого особо нет.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Ты ярко демонстрируешь почему постсоветское пространство катиться из второго мира в третий.

205
Автор поста оценил этот комментарий

Программист, который программирует программы для программирования, программирует не на ассемблере

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Вот только результатом работы его программы является ассемблерный код который его программа (компилятор) генерирует на основе программного кода приложения.


Когда программист пишет компилятор он пишет программу для генерации ассемблерного кода.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества