169 похожих чатов

Что значит "чище"? Чистый ассемблер - это то, что objdump'ом

получено

34 ответов

25 просмотров

а может тогда это, дан код из дебаггера и написать ответ значение в регистре или памяти

Alex- Автор вопроса
Mixail Frolov
а может тогда это, дан код из дебаггера и написать...

Лучше уж сразу бинарь давать! Разумеется, не под интел

Это ты про язык ассемблера, наверное. Чистый ассемблер это то, что мнемонику в опкод гоняет. И эта грань расплывается, когда в программу, которая гоняет мнемоники, добавляются всякие директивы. Например, прежде всего, нужна директива или функция для генерации структуры исполняемого файла — PE, ELF и т.д. Это уже не относится к "чистому ассемблеру", и процент этой "чистоты" падает. Вот я и говорю, что FASM позволяет писать именно на чистом ассемблере.

Ну чистота конечно хорошо, но макросы - дело крайне полезное, важное и экономное

The Bird of Hermes
Ну чистота конечно хорошо, но макросы - дело крайн...

Да я и не спорю) для больших проектов самое то. Но для души иногда хочется и чисто без макросов писать. Хотя и большие проекты без макросов тоже писать можно, та же Kolibri OS.

КТ315
Да я и не спорю) для больших проектов самое то. Но...

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

The Bird of Hermes
Никогда не возникало такого желания. Напротив, бол...

Например, по переводу числовых значений года, месяца, дня, часа, минуты и секунды в Юникстайм на этапе компиляции

КТ315
Да я и не спорю) для больших проектов самое то. Но...

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

The Bird of Hermes
Например, по переводу числовых значений года, меся...

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

КТ315
Так в данном случае без макроса и не получится нич...

Получится. Если перекинуть вычисления на рантайм

КТ315
Не, это не ответ. Нельзя так делать.

Ну в ЯВУ всё конструкторы классов в рантайме

The Bird of Hermes
Ну в ЯВУ всё конструкторы классов в рантайме

С++ (g++, например) на O3 может класс вообще выкинуть и весь код в main запихать.

КТ315
С++ (g++, например) на O3 может класс вообще выкин...

Ну это в порядке оптимизации, конечно

КТ315
С++ (g++, например) на O3 может класс вообще выкин...

Но всё равно это будет код в рантайме, на макросы он его не переведёт

The Bird of Hermes
Но всё равно это будет код в рантайме, на макросы ...

g++? Тут уже смотря что подразумевается под рантаймом. Можно сказать, компилятор это и есть макрос, который там вычисляет константы и переводит. Например, atoi('0') он может убрать, и поставить там константу 0x30, чем не макрос?

КТ315
g++? Тут уже смотря что подразумевается под рантай...

А если я определю класс, принимающий в качестве аргументов конструктору 3 значения и выдающий в единственное поле их произведение, а потом инициализирую 3 непосредственными значениями

The Bird of Hermes
А если я определю класс, принимающий в качестве ар...

Скорее всего, заоптимизирует это всё в одну константу, если вообще весь код не посчитает как бесполезный, и удалит)))

invoke это макрос или директива асма?

Alex- Автор вопроса
Aiwan \ (•◡•) / _bot
invoke это макрос или директива асма?

Что б я знал. Конкретный пример можете показать?

Alex- Автор вопроса
Aiwan \ (•◡•) / _bot
invoke myfunc

Это в фасме, или где?

Alex- Автор вопроса
Aiwan \ (•◡•) / _bot
invoke myfunc

Пишут макрос: The invoke macro does the same, however it calls the procedure indirectly, through the pointer labelled by the first argument.

Alex- Автор вопроса
КТ315
Ну, конечно.

Для меня это вообще не очевидно. У меня другой контекст инвока

Alex
Это в фасме, или где?

эт для проверки понятия 'чистоты' асма. твое предположение?

Alex- Автор вопроса
Aiwan \ (•◡•) / _bot
эт для проверки понятия 'чистоты' асма. твое предп...

Предположение, что споры о чистоте расы асма довольно бессмысленны.

Aiwan \ (•◡•) / _bot
invoke это макрос или директива асма?

Наверное, суть была в том, у FASMа всё, что не относится к мнемоникам (и даже format !!!!) это макросы внешние, поставляемые с .inc файлами. Так что FASM из коробки практически ничего и не может, кроме как мнемоники гонять в опкоды — чистый ассемблер. А вот в MASM сразу с ходу PROC это директива вшитая в сам MASM, и в других популярных ассемблерах так же.

Alex
Предположение, что споры о чистоте расы асма довол...

Когда пишется какой-то PIC-код, ты начинаешь ценить чистоту того или иного ассемблера. FASM для написания шеллкодов, патчей как раз отлично подойдёт. Ну, и опять же, для других целей тоже вполне можно использовать))

Alex- Автор вопроса
КТ315
Когда пишется какой-то PIC-код, ты начинаешь ценит...

Я рад, что в вашей практике он так удачно применяется! В моей практике существует только гнушный ассемблер (и некоторая экзотика по типу план9 ассемблера или e2k)

Alex
Я рад, что в вашей практике он так удачно применяе...

а где о e2k можно почитать(ну там опкоды, команды) без nda ?

Похожие вопросы

Обсуждают сегодня

здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
все привет. подскажите может кто сталкивался evo 3 если в formlister в параметр formTpl указать имя чанка а не через @CODE то в указанном чанке не парсятся плейсхолдеры [**]? ...
Иван Тарасевич
6
Карта сайта