disba1ancer
вас не смущает что применение релокаций правит текст программы?
зависит от того как эти релоки устроенны, но да, что не сообразил что релоки насоздают копии страниц
M
Выделил/поюзал сам/освободил
Eugene
зависит от того как эти релоки устроенны, но да, что не сообразил что релоки насоздают копии страниц
Да с чего они будут создавать? Дллки грузятся по одному адресу для всех!
s54820
Да с чего они будут создавать? Дллки грузятся по одному адресу для всех!
Это ты на системные смотришь? О них позаботились.
Eugene
Leon
Только сейчас узнал, что оказывается, есть такое расширение (ISA) как AMX. Очень странно, что о нём нет никакого упоминания в Intel SDM, только тут. Ну и вкратце, кому интересно: https://en.wikichip.org/wiki/x86/amx
Intel Architecture Instruction Set Extensions and Future Features Programming Reference, Revision 40. (Ref #319433-040) Судя по описанию в ссылке это чтото для xeon'ов. https://en.wikipedia.org/wiki/Sapphire_Rapids Судя по этому оно еще и не вышло вообще.
M
Если заменяет, это уже не ассемблер
Есть ЯП, есть компиль, есть линкер,есть оптимизатор. Что не так ?)
Anonymous
Есть ЯП, есть компиль, есть линкер,есть оптимизатор. Что не так ?)
Ассемблер это не компилятор, и не линковщик. Это программа, которая переводит мнемоники в опкоды. Но с расширением тенденций ещё допускаются директивы препроцессора
Anonymous
Но я просто не вижу смысла писать на ассемблере (компиляторе) в котором встроена оптимизация. То есть ну написал код, и нет твоего кода на выходе. И как отлаживать, если инструкции где-то заменились
bilka00
Ну и стоит учесть что современные ассемблеры имеют очеень много именно "компиляторных" фишек
bilka00
Ввиде предпроцессора и остального что туда палками прибито
bilka00
Не совсем
*интерпретатор
Anonymous
*интерпретатор
Совсем мимо
bilka00
Я немного сплю.
Anonymous
Транслятор - программа, которая переводит из одного ЯП в другой ЯП. Интерпретатор - выполняет исходный код,скрипт, без компиляции. Т.е в реальном времени читает команды и сразу же выполняет
Anonymous
Ассемблер - в какой-то степени транслятор,но он не переводит в ЯВУ, он переводит в байты (опкоды, машинные инструкции, можно называть как угодно)
bilka00
Что же тогда ассемблер?
bilka00
Ну, а в чем разница между переводом в код жвм и машинный код?)
bilka00
Именно в диапазоне понятия транслятора
bilka00
ЖВМ?
https://ru.m.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4_Java
Anonymous
А транслятор переводит из одного ЯП, в другой ЯП
bilka00
А транслятор переводит из одного ЯП, в другой ЯП
Язык на входе и на выходе - байтики данных
bilka00
Так почему эти байтики обезательно должны быть читабельны?
Anonymous
Язык на входе и на выходе - байтики данных
Нет, транслятор работает только на основе исходного кода. Например, транслятор из Intel-синтаксиса в синтаксис AT&T
Anonymous
На вход - исходный код, на выходе исходный код
bilka00
Ты можешь в хекс-редакторе так и писать код
Anonymous
Называть исполнительные блоки и декодер процессора - языком программирования (или компилятором) очень грубо
Anonymous
И сами опкоды - командами ЯП
bilka00
А по поводу оптимизации, разве на asm вставки она не отрубается?
M
55 vs push ebp ))
Anonymous
А по поводу оптимизации, разве на asm вставки она не отрубается?
Чуть редактируется, ибо могут быть конфликты регистров с компилятором
s54820
На вход - исходный код, на выходе исходный код
На входе Си, на выходе брейнфак. Транслятор? Всё ещё транслятор?
bilka00
Если программист решил вставки делать - значит он сам контроллирует все возможные конфликты
Anonymous
В случае с ЯВУ
M
-
M
Это так должно работать)
bilka00
По факту когда мне последний раз приходилось писать на х64 асмн вместе со мелкософтным компилятором - никто меня не оптимизировал
M
Но не может работать) поэтому все оптимизируется)
bilka00
Код как был мой так т остался
bilka00
(Последний раз - вчера)
bilka00
M
Лол
bilka00
Вот кстати интересно как с этим clang работает. Там же достаточно много оптимизаций. Надо как-то посмотреть
Anonymous
Код как был мой так т остался
Вы должны понимать, что конфликты регистров не всегда могут происходить.. При банальном коде компилятор вряд ли будет использовать ESI, EDI, EBP. Поэтому код не изменится..
Anonymous
Ну ещё EAX, если результат функции не используется. (И по соглашению, EAX содержит результат)
Anonymous
А асм вставки могут максимум местами переставляться если асм не волятиль
bilka00
Покажите код
Ну во первых нда, во вторых мне уже слишком лень к компу (я уже почти сплю). Если кратко - код играет в некоторое подобие алокнутых вызовов денувы которые cpuid читают, но не так ограничено и там еще кое шо
Glo
нда...
Anonymous
Что-то вроде "мда"?
bilka00
Что значит "нда"?
Подписка о неразглашении, NDA на ангельском
Glo
вроде по ттпу схоже с мде, но пожалуй ближе к амда, или же на анимешном "mudamudamuda"
bilka00
Которое запрещает шарить очееень многое с проектов
bilka00
(Если быть точным то ваще ничего)
Anonymous
Подписка о неразглашении, NDA на ангельском
Подписка о неразглашении на коде с cpuid стоит?)))
bilka00
Серьезно, вы о таких понятиях не знаете?
Anonymous
Там на всем проекте.
Значит нарушение будет только если весь проект показать, а не часть кода
Anonymous
Кек
bilka00
Значит нарушение будет только если весь проект показать, а не часть кода
Очень зависит от формулировок в договоре. А та часть вполне себе достаточно уникальная для проекта (
Anonymous
Очень зависит от формулировок в договоре. А та часть вполне себе достаточно уникальная для проекта (
Ну значит все сообщения по поводу того, что вы геройски посреди кода на С использовали все регистры общего назначения, без сохранения в стек, и код абсолютно не изменился, а программа работает - либо выдумка, либо доводы. Ибо никто это проверить не может, зато факт есть на стороне, которая показывает, что код меняется, что может проверить каждый
bilka00
Обратное тоже может проверить каждый, компилятор я назвал.
bilka00
Можно прям говна накидать и его отлично скомпилит.