Size: a a a

Ассемблер

2020 August 15

RS

Rusty Shackleford in Ассемблер
я вот просто не вижу особого смысла в них, ну например массивы, они же всеравно будут хранится в секции данных
источник

RS

Rusty Shackleford in Ассемблер
ну да есть плюс в ограничении области видимости, и в том что размер меньше в итоге
источник

RS

Rusty Shackleford in Ассемблер
но восновном всеравно ведь в секции данных хранится все
источник

RS

Rusty Shackleford in Ассемблер
такой вопрос собственно появился в результате того, что я стараюсь писать на чистом асме, что бы код был как можно более близок к тому, что получается в отладчике
источник

RS

Rusty Shackleford in Ассемблер
стараюсь не использовать макросы фасма, только импорт, никаких proc invoke locals, все аргументы загружаю руками все функции вызываю call
источник

RS

Rusty Shackleford in Ассемблер
и вот встал вопрос использования локальных переменных, постоянно делать их адресацию руками от rsp или от ebp давольно легко запутаться, не имея каких-то псевдонимов
источник

RS

Rusty Shackleford in Ассемблер
хотел бы услышать ваше мнение, насколько это разумно, возможно ли обойтись без локальных переменных или с минимумо таковых, без всевдонимов руками постоянно адресуя их в стеке
источник

RS

Rusty Shackleford in Ассемблер
не используя макросы local/locals, только суровую адресацию [rsp+*]
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Rusty Shackleford
друзья подскажите пожалуйста, как часто на практике используются локальные переменные в проектах на асм
я пользубсь.
источник

RS

Rusty Shackleford in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
я пользубсь.
используя макросы такое чувство возникает, как будто теряется полный контроль за кодом, мне кажется проще не использовать их чем лезть и переписывать их под конкретную задачу
источник

N

Nrys in Ассемблер
Я только invoke использую, без него муторно лично для меня
источник

RS

Rusty Shackleford in Ассемблер
в конце концов всеравно практически все хранится в секции данных, не могу придумать пример, где нельзя было бы обойтись без локальных переменных на стеке
источник

RS

Rusty Shackleford in Ассемблер
Nrys
Я только invoke использую, без него муторно лично для меня
вот используя инвок, уже за тебя выравнивание делает макрос, как по мне так это минус полного понимания происходящего
источник

N

Nrys in Ассемблер
Это всего-лишь упрощение передачи аргументов в стек
источник

N

Nrys in Ассемблер
Я то могу и без него, но какой смысл городить постоянные push
источник

RS

Rusty Shackleford in Ассемблер
Nrys
Это всего-лишь упрощение передачи аргументов в стек
да я понимаю, но мне кажется если уровень знания асма так себе еще(как у меня) то лучше полностью контролировать процесс, лучше для понимания
источник

RS

Rusty Shackleford in Ассемблер
стараться использовать чистейший асм по возможности
источник

N

Nrys in Ассемблер
Ну это да, главное понимать, что вообще делаешь
источник

ST

Saenro T in Ассемблер
Saenro T
Зачем медленно перегонять данные в стек, если будет быстрее подогнать стек к данным + использовать быстрый JMP вместо медленного CALL.
Не пробовали?
источник

RS

Rusty Shackleford in Ассемблер
я вот просто не знаю, как долго я смогу обходится без использования locals макроса, локальных переменных, а если его использовать начинать это получается и proc нужно юзать
источник