Aiwan \ (•◡•) / _bot
Выходит глаза меня обманывают?
твои убежденья тебя обманывают
Oleg
твои убежденья тебя обманывают
Так а что именно не так?
Aiwan \ (•◡•) / _bot
.. либо окажется что "ой, я неправильно выразил мысль"
Oleg
Так а что именно не так?
Единственное, не только строки а вообще все что не регистры, мувают через lea
Oleg
Щя поправим
Aiwan \ (•◡•) / _bot
Oleg
В дизассемблере вижу, что метки пихают в регистры через lea, почему так, а не через mov?
Oleg
всмысле? не понял тебя
Я снова неправильно выразил мысль😅
Aiwan \ (•◡•) / _bot
В дизассемблере вижу, что метки пихают в регистры через lea, почему так, а не через mov?
раньше говорил строки, а теперь метки. переобулся короче
Aiwan \ (•◡•) / _bot
lea вычисляет адрес метки.
Oleg
lea вычисляет адрес метки.
Так ведь метка это и есть адрес
Aiwan \ (•◡•) / _bot
Так ведь метка это и есть адрес
на асме уже пишешь уверенно?
Aiwan \ (•◡•) / _bot
одно из применений lea в том что применяется в процедурах, вычисляет адрес относительно стека. мув это не сможет сделать, ибо адрес должен быть известен при компиляции. в процедурах адрес параметра не известен заранее. и то что не может мув, делает леа
Aiwan \ (•◡•) / _bot
например в процедуре в качестве локальной переменной выступает строка. mov не смоежет посчитать ее адрес, будет ошибка. и узнают адрес строки через lea
Aiwan \ (•◡•) / _bot
Но почему при этом используют например lea eax, myvar вместо mov eax, myvar?
если это глобальная переменная, то разницы нет. кодеру так удобней и привычней было написать, а мож компиль такой шаблон генерации имеет
Aiwan \ (•◡•) / _bot
проверять не охота
Mixail
Стоп, так а как же [ebp - <размер переменной + 4>]
и вы прочли этим через mov N байт по адресу ebp - <размер переменной + 4
Aiwan \ (•◡•) / _bot
Oleg
В фасме можно прям объявить локальные переменные?!
Aiwan \ (•◡•) / _bot
Стоп, так а как же [ebp - <размер переменной + 4>]
вот так и можешь пользоваться mov, но не через метку. с меткой рабоать таким образом для лок. переменных может только lea
Oleg
В фасме можно прям объявить локальные переменные?!
Ну, в плане не через саб есп и смешение от ебп
Aiwan \ (•◡•) / _bot
В фасме можно прям объявить локальные переменные?!
макросы они такие, все для удобства
Oleg
макросы они такие, все для удобства
Странно что часть языка может в прямом смысле превосходить сам язык
Mixail
Странно что часть языка может в прямом смысле превосходить сам язык
так без макросов асм почти что ничего из себя не представляет, просто генерация по табличке
Александр
А возможно через ghidra найти не использованный код и удалить его чтобы сократить размер exe файла?
Oleg
есть ли сайт а ля литкод, только для ассембли-программистов?
The Bird of Hermes
The Bird of Hermes
Надо бы блин ради этого насм поизучать
The Bird of Hermes
The Bird of Hermes
Фасм лучше
Oleg
Фасм лучше
хз, не пробовал
The Bird of Hermes
Oleg
И зря
почему?
The Bird of Hermes
почему?
Я ж говорю - он лучший для самостоятельной разработки
The Bird of Hermes
почему?
Макросы
Oleg
Макросы
что есть в макросах фасма, чего нет в насме?
The Bird of Hermes
что есть в макросах фасма, чего нет в насме?
Позволяют создавать собственный синтаксис. Я на них ООП сделал
Alexey
насм правит миром!!!
Зачем? Зачем ты говоришь чушь, если даже приблизительно с другими компиляторами не знаком?!
Alexey
дак это ж шутка была
Из-за подобных шуток теперь Линукс хорошей операционкой считают
Oleg
Из-за подобных шуток теперь Линукс хорошей операционкой считают
это насколько нужно деградировать, чтобы считать линукс операционкой..
Oleg
Миникс лучше :)
Не,не,не, только фряха! Только хардкор!
aschensekt
Oleg
Хотя, думаю мы все сойдёмся в одном
Oleg
Лучше Ханна Монтана Линукс ничего ещё не придумали
aschensekt
Это факт
Oleg
именно
Oleg
добавить бы туда еще нескучные обои..
aschensekt
Ой, а антивирус Попова еще хочу
aschensekt
Надо бы блин ради этого насм поизучать
Можно пул реквест сделать о включении фасма
aschensekt
https://github.com/codewars
aschensekt
https://docs.codewars.com/concepts/kata/translations/
Oleg
в плане, даже насм звучит немного сомнительно, что уж говорить об еще одном диалекте
aschensekt
Не уверен, конечно, но почему бы не попробовать
aschensekt
Лишним не будет
aschensekt
Кофискрипт, помнится мне, там есть
aschensekt
Асмы могут объединить под одним языком с разными версиями
Oleg
Асмы могут объединить под одним языком с разными версиями
есть существующий пример такого на кодворсе?
Oleg
просто еще много нюансов, например для какой архитектуры и оси будут задачи, условно вывод строки через прерывание в насме для шинды и юниксов разные, как и для x86 и x64