|
Заблокирован
|
|
Что пишут на ассемблере в настоящем прошлом будущем? :)06.11.2019, 22:11. Показов 12014. Ответов 83
Метки ассемблер, загрузчик, компоновщик, объектный модуль, системное программирование, язык ассемблера (Все метки)
Всем привет,
очень интересует вопрос - что пишут на ассемблере: программы для ОС , программы для железа? если программы для ос - то легко ли написать портиhetve. программу -хотя бы в рамках линуксы коры , виндовсы 6.2 или пишется под каждую конкретную ОС. Если пишется под железо - то на первое место встает универсальность - т.е. можно ли написать универсальную прогу под все железо ?как-то так. Буду рад за любые мысли и ответы.
0
|
|
| 06.11.2019, 22:11 | |
|
Ответы с готовыми решениями:
83
На каком именно ассемблере пишут драйверы? Криптовалюта, что ждет в будущем? |
|
Эксперт Hardware
|
||
| 12.11.2019, 15:09 | ||
|
Если твоя прожка будет работать по протоколу HTTP, то формируешь запросы в секции-данных как предложил politoto, и отправляешь их серверу. Тот в свою очередь будет возвращать тебе хоть целые страницы, которые ты потом сохраняешь как html и открываешь в браузере. Но кроме html есть ещё куча интересных протоколов, для которых оправдано использовать асм.
3
|
||
|
Модератор
|
||
| 12.11.2019, 21:31 | ||
|
Программу нужно торжественно представить девочке-перфораторщице на специальном бланке, предварительно завернув в него необходимое количество шоколадок и сопроводив необходимым количеством комплиментов. Или съесть шоколадки самому, самому набить исходную колоду перфокарт, и самому же засунуть её (всё-таки!) в приёмный карман кардридера-панчера, предварительно обложив колоду со всех сторон необходимыми картами языка управления заданиями той системы, для которой кардридер служит устройством системного ввода.
0
|
||
|
Заблокирован
|
|
| 13.11.2019, 17:59 [ТС] | |
|
всем привет.
я тут видел такую штуку, забыл как назывется - она позволяет смотреть машинный код любого екзешника. впрс. ассемблер я не изучал еще, но насколько понял просматривая код в нем не так уж и много языковых конструкций и по существу - он проще чем c++ или с. это верно понимаю - что он проще плюсов?
0
|
|
|
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
|
||||
| 13.11.2019, 19:19 | ||||
|
0
|
||||
|
Заблокирован
|
||
| 13.11.2019, 19:52 [ТС] | ||
|
пример: я хочу написать блокнот на с++ и на ассемблере - я полный нуб, ниче не знаю кроме английского алфафита и понимаю проценты , мне необходимо сопоставить усилия и знания необходимые для написания блокнота на с++ и ассемблере - то сколько процентов будет с++ сколько ассемблер. как бы вы оценили усилия с высоты Вашего опыта?
0
|
||
|
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
|
|||
| 13.11.2019, 20:07 | |||
|
0
|
|||
|
Модератор
|
|||
| 13.11.2019, 20:31 | |||
Достаточно взглянуть на описание языка С++ на английском.
0
|
|||
|
Заблокирован
|
||
| 13.11.2019, 21:27 [ТС] | ||
итак вот у меня есть железо: три лампы и 5 диодов я собрал из них схему на стене досками приколотил скотчем примотал,теперь думаю как бы мне описать как работать с этой микросхемой - т.е. мне нужно с одной стороны язык машинных команд, с другой стороны ??? ассемблер? верно я понимаю, что под каждую схему ассемблер будет свой? и по сути ассемблер - это стандарт обмена типа ?даже протокол обмена как например .....в 1с ?Добавлено через 41 секунду если это так, то где- то можно почитать про согласованный формат этого обмена? или это неправильно мыслю?
0
|
||
|
Модератор
|
|
| 14.11.2019, 01:49 | |
|
Не по теме: Gokusei, у меня из монитора уже жир потёк. Я его салфеткой вытираю, а он всё ползёт и ползёт... Что мне делать? По сабжу: ассемблер - это не просто такой язык программирования. Это язык непосредственного общения с процессором определённой архитектуры, полностью учитывающий весь набор инструкций данного процессора и позволяющий управлять данным ПРОЦЕССОРОМ. Но процессор в ПК - это ещё совсем не весь ПК. И, что более важно для вас на данный момент понять, на C++ или на C#, на Delphy, на Python или VB вам будет освоиться намного проще и легче колдунству написания программ, нежели на любом из диалектов Assembler. Не забивайте себе голову ассемблером - вам этого не нужно. Не по теме: Впрочем, а я зачем кормлю?
1
|
|
|
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163
|
|
| 14.11.2019, 02:43 | |
|
На нём есть смысл писать (не документированные команды не имеются ввиду как и все вопросы дополнительные) потому что высокоуровневого языка в некотором понимании нету. И ассемблер приближённее к логике машины как к таковой. Остальное к чему ассемблер там якобы привязан или должен быть привязан - эта привязка даже не факт. И какой факт когда машина каждый раз это уже что-то другое. Файл на нём создаётся как то двояко. В одном смысле это похоже на отписку, ибо наполнение такого файла ограниченно очень как. В другом рабочем смысле это похоже только на загадку. И куда с этим соваться? Ну все это видели. Или расчёт явный на текучку кадров?
Если расчитывать на универсальную программу под любое железо.... В действительности - это только в относительно-среднем смысле, в отношении к средней гепотетической машине. И лучше чем высокоуровневый язык, но который лучше только в потребительском смысле. Язык может быть не удобен для использования его человеком. Не в плане удобства а в более заметном приспособлении. Добавлено через 6 минут Мой вариант написания на ассемблере (только на встроенном) это написание высокоуровневым языком того что с точки зрения изучения ассемблера могло бы быть подвержено лёгкому на него транслиту. На этом вполне рекомендовал бы останавливаться как на достойно найденном компромисе. А исключить последний будет очень трудно. Добавлено через 6 минут Я пишу на встроенном ассемблере в смысле экспоната. Это написанное использовать в программе то нельзя, она завернётся через этот встроенный ассемблер.
0
|
|
| 14.11.2019, 03:50 | |
|
Не по теме: Не пытайся сложить слова в предложения. Не твоё это, Лобанов, не твоё! (с) Андрей Евгеньевич Быков
0
|
|
|
Модератор
|
||
| 14.11.2019, 08:38 | ||
|
Когда программисту становится жарко, он берет свободный конец перемычки и подает на один их входов сигнал, открывающий одну из ламп. Через некоторое время открывается выходная лампа, раскручивается вентилятор и программист охлаждается. ![]() Охлаждённый программист тот же конец перемычки соединяет с другим входом триггера, триггер переключается, выходная лампа закрывается и вентилятор постепенно останавливается. Можно и автоматизировать. Сигнал включения подавать будет капля пота, падающая со лба перегретого программиста, а выключаться триггер будет сигналом через водяную линию задержки, запускающуюся вместе с включением вентилятора. Ассемблер для управления такой вычислительной системой не нужен.
0
|
||
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
||
| 14.11.2019, 10:24 | ||
|
2
|
||
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||
| 15.11.2019, 23:04 | ||
|
1
|
||
|
Заблокирован
|
||
| 15.11.2019, 23:41 [ТС] | ||
|
а если диодов и лампочек больше 8. например 17 а у нас в байте 8 бит. как понять к какой лампочке я обращаюсь к 1-ой или 9 -ой. тут уже нужен наверное некий менеджмент , т.е. некие пакеты. как их реализовать? это все было машинное ################# а тут , как я понимаю, ассемблер . и вот где грань - когда ассемблер нужен ? как я пойму , что мне нужен ассемблер , когда у меня сколько лампочек и диодов будет в схеме?
0
|
||
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|||||
| 15.11.2019, 23:50 | |||||
|
Или как пример HTML, вроде стандарт один, но под хром, лис, оперу, ие(для РС) или ещё что либо, типа для мобилы, сервер должен клиенту передать: код анализа браузера, и на каждый браузер настройки. Клиент сам принимает решение, какие настройки использовать. Но это куча информации гуляющая по сети. Куда проще, анализ браузера запрашивает,только нужные настроки. Это куда меньше трафика, чем есть на сей день. О кэшах - молчу, их иногда чистят активированые антивири и прочая лабуда.. Добавлено через 6 минут Тут ассембером даже не проходило. Тут тупо схемотехника.
0
|
|||||
|
Заблокирован
|
||
| 15.11.2019, 23:59 [ТС] | ||
|
типа пакет 8 элементов, хотим управлять 150 -ю девайсами - как реализовать используая точку и тире. и в каком месте появляется ассемблер. цель топика - понять где здесь ассемблер, в каком месте он может вступить в игру с лампочками ![]() а решать задачки "два пишем , три в уме и у нас между ними 10 метров и не сходится ниче", -это бухгалтерия чистой воды - мне её и на основной работе хватает ![]() на самом деле интересно. Добавлено через 3 минуты вот к примеру скормил я вирус тоталу екзешник и он понял - ага вот он вирус по сигнатурам или еще чему. но это все зыбко - потому что сигнатуры могут меняться , мы можем неспешно неспешно очень неспешно но неумолимо делать свое дело и вряд ли антивирь хранит такие запасы стеков вызова. а я бы хотел к примеру сам смотрю блокнотом понимать , ага - что то подозрительное мне вася прислал вот ч чем соль ![]() Добавлено через 1 минуту для этого я бы и хотел понять где начинается ассемблер и что это такое вообще ![]() чем больше читаю эту тему- тем меньше понимаю , как мне каж про ассемблер.
0
|
||
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||||
| 16.11.2019, 00:27 | ||||
|
Он не говорит отправь "Васе" смс,он говорит "Вася" делай "это". Добавлено через 25 минут Все это не важно. или будете насиловать свою "клаву", набирая вопросы без смысла.
0
|
||||
|
Модератор
|
|
| 16.11.2019, 02:02 | |
|
Gokusei, Вот погугли, что есть такое "мультипликатор" и "демультипликатор", "регистр" и "триггер", "ОЗУ", "ПЗУ" и "ППЗУ".
Собственно, примерно вот с такого уровня схемотехники и начинается программирование. И это будет Ассемблер. На всех высокоуровневых ЯП, по сути, пишется всё то же самое, но, первое важное отличие любого высокоуровнего ЯП заключается в том, что все они расчитываются на работу на любом компьютере целой группы подобных между собой архитектур, а АСМ - только на работу на одной конкретной архитектуре CPU. И, кроме этого, высокоуровневые языки намного более походят на обычную человеческую речь, нежели любой из ассемблеров. По сути, любой язык программирования - набор конкретных инструкций машине для выполнения ей набора строго определённых действий. И асм - не исключение в этом контексте. Суть его в том, что этим языком можно описать все документированные действия CPU самым непосредственным для него образом. Остальные ЯП - требуют своеобразного перевода на "машинный язык". И этот перевод выполняет компилятор. Проблема возникает тогда и в том, что компилятор может не всегда учитывать все нюансы конкретной архитектуры CPU и, как следствие из этого, производный машинный код будет обладать высокой переносимостью, но, в связи с этим, будет неоптимальным по объёму получаемого машинного кода и не будет оптимально и наиболее эффективно использовать все возможности любого из имеющихся в представленной линейке CPU. То бишь, машинный код из компилятора по определению содержит избыточный код для данного конкретного процессора, но при этом не использует все его возможности. Код, компилируемый из исходников на ассемблере может быть для какого-либо из процессоров намного более эффективным, нежели его аналог, изначально написанный на каком-нибудь из высокоуровневых ЯП. Но следует обязательно учитывать в обоих случаях, как в ту, так и в обратную сторону, квалификацию писавшего код программиста-кодера. И не следует забывать о том, что компиляторы пишут тоже далеко не дураки и не новички (применительно к коммерческим и вообще наиболее популярным компиляторам, разумеется.). Теперь вернёмся к непосредственному вашему интересу. Возьмём демультипликатор на 4 входа и 16 выходов. Подавая конкретный двоичный сигнал на входную группу контактов (к примеру, 0101) мы получим на котором-то из выходов (в нашем случае на #5) такой же двоичный сигнал, который, можем использовать для включения соответствующей лампочки. Если у нас на каждом из выходов будет такая же схема с лампочкой, то просто подавая соответствующий двоичный код, мы можем включать/выключать соответствующие лампочки. Но двоичный код нужно предварительно отправить в виде параллельного (и синхронного!) сигнала на данные входы демультиплексора. И демультиплексоров у нас таких может быть очень много в схеме. А лампочки в конечном счёте могут быть сложены, например, в двумерную матрицу XY и соответствующая комбинация свечения этих лампочек на некотором удалении может восприниматься, как цельное изображение с конкретным для человека смыслом. Для согласования и распределения входящих двоичных сигналов вполне можно, нужно и вообще логично использовать триггеры, регистры и устройства временного хранения данных - ОЗУ, ПЗУ и ППЗУ Соответственно, для слаженной работы всей этой схемы и требуется некоторый CPU и алгоритм управления, вполне подходящий под понятие "ассемблер для данного CPU". Вообще говоря, в предыдущем абзаце я в общих словах описал, скорее, работу некоторого графического контроллера, нежели CPU, но принципиальной разницы между CPU и контроллером нет. Просто это устройства несколько разного назначения. Но принципы их работы "внутри" почти идентичны. И, кроме того, в каждом контроллере есть свой маленький CPU, обычно, подчиняющийся командам какого-либо CPU или контроллеру выше в логической иерархии устройств.
0
|
|
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,128
|
||
| 16.11.2019, 02:30 | ||
|
1
|
||
| 16.11.2019, 02:30 | |
|
Что ждет Pascal в будущем ? Что пишут на C#? Что на чем пишут? Что вы думаете о будущем ARM - пойдёт в массы, али нет? Какую технологию лучше изучать - что будет популярно в будущем!? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
начало и оглавление
-
Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|