Суббота, 27 Апреля 2024, 11:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Программирование » Низкоуровневое программирование » А зачем вообще нужен АСМ? (сейчас)
А зачем вообще нужен АСМ?
404notfoundДата: Среда, 24 Апреля 2013, 16:55 | Сообщение # 81
участник
Сейчас нет на сайте
Цитата (GameLoper)
что бы сделать кряк ,надо вставить код в игру или прогу ,а декомпиляторов C++ ещё вроде бы нет ,так что остается HEX и ассемблер...

Гениально. (2)
SkyBoxДата: Среда, 24 Апреля 2013, 17:06 | Сообщение # 82
почетный гость
Сейчас нет на сайте
Цитата (GameLooper)
что бы сделать кряк ,надо вставить код в игру или прогу ,а декомпиляторов C++ ещё вроде бы нет ,так что остается HEX и ассемблер...

Гениально (3)

Добавлено (24.04.2013, 17:06)
---------------------------------------------

Цитата (GameLoper)
и лучшее файл подредактировать это через ДисАсемблер

насколько я знаю, эта прога называется деассемблятор
SnickДата: Среда, 24 Апреля 2013, 17:38 | Сообщение # 83
почетный гость
Сейчас нет на сайте
Цитата
деассемблятор

Правильнее: дизасссемблер.
UndeadДата: Среда, 24 Апреля 2013, 17:59 | Сообщение # 84
NeoAxis User
Сейчас нет на сайте
Спасибо, поржал biggrin

Добавлено (24.04.2013, 17:59)
---------------------------------------------
GameLoper и zaicev9797 особо доставили.


Вcем зла.
SnickДата: Среда, 24 Апреля 2013, 18:10 | Сообщение # 85
почетный гость
Сейчас нет на сайте
Раньше нубы за Unity3D хватались, это было смешно, а теперь и за ассемблер... Ну это вообще не годится. Скоро школота будет начинать программровать с "Hello, World!" на машинных кодах.
SkyBoxДата: Среда, 24 Апреля 2013, 19:01 | Сообщение # 86
почетный гость
Сейчас нет на сайте
Цитата (Warlock-97)
дизасссемблер.

пирамммагги
AlexRabbitДата: Среда, 24 Апреля 2013, 19:14 | Сообщение # 87
старожил
Сейчас нет на сайте
Вообще всегда забавно читать людей, которые пишут о том, чем никогда реально не занимались.

Цитата (=Warlock=)
Ну это вообще не годится. Скоро школота будет начинать программровать с "Hello, World!" на машинных кодах.

К сожалению, это время вряд ли вернётся. Сейчас только единицы идут этим путём.


Нам требуются партнеры для продвижения и поддержки нашего ПО
SnickДата: Четверг, 25 Апреля 2013, 12:00 | Сообщение # 88
почетный гость
Сейчас нет на сайте
Цитата
К сожалению, это время вряд ли вернётся. Сейчас только единицы идут этим путём.

Вообще да. Что-то я разогнался. smile
zub21Дата: Вторник, 30 Апреля 2013, 18:37 | Сообщение # 89
частый гость
Сейчас нет на сайте
Мда пишите что можно написать ОС без ассемблера! напишите первичный загрузчик на C++ или Java а потом и говорите бред. Даже при написания библиотеки стандартных функций С для своей ОС я использовал асм, а драйвера пишут на асм из за того что он может работать напрямую с биосом и железом.
UndeadДата: Среда, 01 Мая 2013, 09:00 | Сообщение # 90
NeoAxis User
Сейчас нет на сайте
Цитата (zub21)
напишите первичный загрузчик на C++

Только его то и пишут сейчас на асме, остальное же на С можно вполне писать.
Драйвера тоже на С пишут, если что.


Вcем зла.
zub21Дата: Среда, 01 Мая 2013, 10:51 | Сообщение # 91
частый гость
Сейчас нет на сайте
Приведу примеры ос написаных полностью на асм:
КолибриОС
MenuetOS
и т.д
Как ни крути а ассемблер будет жить очень долго.ИМХО
UndeadДата: Среда, 01 Мая 2013, 11:09 | Сообщение # 92
NeoAxis User
Сейчас нет на сайте
zub21, Я знаю про них. Но толку от них то нет. Они установлены на 0,0000001% pc в мире. Они пишутся Just for Fun.
Время разработки огромное, добавление нового функционала - тонны кода.
Тот же windows и linux на С написаны.


Вcем зла.

Сообщение отредактировал Undead - Среда, 01 Мая 2013, 11:14
zub21Дата: Среда, 01 Мая 2013, 12:37 | Сообщение # 93
частый гость
Сейчас нет на сайте
Как говорится на вкус и цвет все фломастеры разные.
UndeadДата: Среда, 01 Мая 2013, 13:41 | Сообщение # 94
NeoAxis User
Сейчас нет на сайте
Цитата (zub21)
Как говорится на вкус и цвет все фломастеры разные.

Нам нравятся разные фламастеры biggrin


Вcем зла.
Revolver_45Дата: Среда, 01 Мая 2013, 14:48 | Сообщение # 95
почетный гость
Сейчас нет на сайте
Цитата (zub21)
Мда пишите что можно написать ОС без ассемблера! напишите первичный загрузчик на C++

ну, или драйвер для контроллера прерываний, который нужно вшить в саму микросхему с размером регистров 128 _БАЙТ!


rtytyrtyr
UndeadДата: Среда, 01 Мая 2013, 14:54 | Сообщение # 96
NeoAxis User
Сейчас нет на сайте
Revolver_45, Против асма никто ничего не говорит. Только о целесообразности его применения в конкретной области.

Вcем зла.
ArchidoДата: Среда, 01 Мая 2013, 19:31 | Сообщение # 97
Сэнсэй
Сейчас нет на сайте
Цитата (zub21)
Мда пишите что можно написать ОС без ассемблера! напишите первичный загрузчик на C++ или Java а потом и говорите бред

Зачем С++ или Java? Можно взять обычный Си, отучить / отвязать его от любого рантайма и получать на выходе чистый машинный код. Для всякой экзотики можно заюзать небольшие асм вставки. Все.

Асм весьма полезен для изучения выхлопа, сгенерированного компилятором, и на основе которого можно оптимизировать свой изначальный код. Есть еще реверс инжиниринг (где асм правит балом) и всякая вирусная братия, где асму можно найти применение. Даже микроконтроллеры сейчас часто на Сях программируются.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
LinkaДата: Воскресенье, 22 Марта 2015, 16:20 | Сообщение # 98
GameDeva
Сейчас нет на сайте
Некоторые программисты говорят, что ASM – это недоразумение, а не ЯП, которое было необходимо из-за проблем программирования на машинном коде.

Если что, то ставьте мне + в репутацию! ;)
GudleifrДата: Воскресенье, 26 Апреля 2015, 13:10 | Сообщение # 99
почти ветеран
Сейчас нет на сайте
Основные заблуждения касательно языка ассемблера:
1. Язык ассемблера связан с процессором и, не интересуясь процессорами, я не обязан изучать всякие там "машинные языки".
В узком смысле это верно, подобные языки все базируются на "машинно-зависимости", но "машина" совершенно не обязана быть процессором. Например, язык .NET или внутренний язык игр Sierra хоть и очень похожи на обычные языки ассемблера, работают на виртуальных машинах, которые к процессору никакого отношения не имеют. Для программиста вся эта машинно-зависимость сводится только к одному: недостаточно знать "свой любимый язык программирования", надо учить какие-то другие, зачастую неудобные, языки, в зависимости от задачи. Будь то язык супер-пупер контроллера или правила дорожного движения. Задаче-зависимость важнее машинно-зависимости.
2. Напиши на языке ассемблера и все будет работать быстрее.
Обычно верно другое: покажи медленную программу - и я покажу хренового программиста. Узкое место самой профессионально-коммерческо-специально-научно-военной программы - это десяток-другой операторов, где надо заставить работать само "железо". Остальное - чисто проблема аккуратного программирования (не копируй большие блоки без надобности, не очищай затираемое, не перевычисляй ненужное...). И обычно любой "любимый язык" имеет средства для того, чтобы упомянутый "десяток операторов" оптимизировать - библиотеки, вставка кусков кода, правка промежуточного представления... Полностью переходить на язык ассемблера совершенно не нужно.
3. Писать на языке ассемблера очень сложно.
В настоящее время - засилья всяческих API - роль "любимого языка" сводится практически к правильной последовательности вызовов этого самого API. Например, оконные программы с использованием Win API на языке ассемблера и на Си выглядят практически одинаково, т.к. самым сложным "машинно-зависимым языком" здесь является язык интерфейса Win.
4. Перейдя на язык ассемблера, мы вынуждены отказаться от структурного и ОО-программирования.
Это верно с точки литературной части "любимого языка", но не с точки функционирования программы. Наоборот, например, компилятор Си++ выдает практически не-ОО код, обрезая почти все ОО-красивости, прописанные в программе. С этой точки зрения, язык прямого доступа к железу позволяет гораздо больше - создать честно ОО-код (например, реализовать нужный для этого кусок SmallTalk). Именно по этой причине, например, фортеры пишут свои FORTH-системы на языке ассемблера - проще и удобнее, а не потому, что требуются какие-то волшебные возможности.
5. Наличие в "любиммом языке" средств "писать в кодах" позволяет писать машинно-зависимые переносимые программы.
Это неверно по определению: машинно-зависимость не может быть переносимой.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Воскресенье, 26 Апреля 2015, 14:27
PATCH1Дата: Воскресенье, 26 Апреля 2015, 13:54 | Сообщение # 100
заслуженный участник
Сейчас нет на сайте
Цитата Gudleifr ()
1. Язык ассемблера связан с процессором и, не интересуясь процессорами, я не обязан изучать всякие там "машинные языки".

не совсем так) очень интересная темка с виртуальными машинами и машиными языками . "использование не безопасного кода в .NET" это позволяет в определенном теге (не помню каком) писать код на ассемблере, который на сколько я помню (могу ошибаться) не воспринимается виртуальной машиной а обращается на прямую к процессору (аля использования вставок ассемблера в .Net языках) - но это скорее исключение из правил, которое кстати привяжит программу к одному из типу процессоров (для которого пишется машино зависемый код) вообще главная идея виртуальных машин - написать 1 код и запустить на большом количестве устройств) (на которых существует данная виртуальная машина). - насколько я понял об этом говорится коротко в 5-пункте)

Цитата Gudleifr ()
2. Напиши на языке ассемблера и все будет работать быстрее.

проще говоря если не хочешь углублятся в тонкости сложного языка Assembler , лучше пиши на языке который хорошо знаешь, и бо код на Assembler написанный не опытным программистом, чаще всего в разы медлее кода написаного на языке который хорошо знаешь.
Форум игроделов » Программирование » Низкоуровневое программирование » А зачем вообще нужен АСМ? (сейчас)
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг