• MONEY за подписку! Ничего делать не надо совсем, всего-то подписаться на тг одмена и нажать кнопку "Принять участие" в розыгрыше: https://t.me/govthing/7650

Гайд Немного про assembler

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2022
Сообщения
211
Реакции
18
я начинаю ток изучать чутка asm и C++.Решил выложить сюда эту тему.Раньше этого тут не видел и когда учил тут нечего не нашел .

add сложение через него можно менять флаги на примере знаю ток jz - jnz (jz вроде если 0 )
mov- так скажем помещает содержимое источника в приемник. флаги не меняет
приведу этого пример на python так как он легкий для понимания.
допустим есть переменная a=10
b=0
потом пишем mov b,a
cmp позволяет сравнивать. Вроде точно не знаю
Использоваться в этих случаях могут: Области памяти, регистры общего назначения, значения
push - помещает в стек
Стек - структура которая хранит важную информацию о программе.
На этом все .Не ругаите сильно я сам еще ток начинаю и написал все то что выучил
Забыл добавить регистры

EAX
ECX
EDX
EBX
ESP
EBP
ESI
EDI
EIP
 
если тебе реально хочется выучить ассемблер - бери в руки godbolt.org и беги разбираться, например, как стек работает, и нахрена столько инструкций чтоб одну маленькую процедуру вызвать

а так молодец хвалю за врайтап
 
если тебе реально хочется выучить ассемблер - бери в руки godbolt.org и беги разбираться, например, как стек работает, и нахрена столько инструкций чтоб одну маленькую процедуру вызвать

а так молодец хвалю за врайтап
ну я ток начинаю.И вот ошибка решил тут написать статью так как тут 0 про асм пишут почти.Спасибо за совет
 
add сложение через него можно менять флаги на примере знаю ток jz - jnz (jz вроде если 0 )
ну эт не совсем флаги, это jz/jnz это прыжки с условием, aka jcc, но в целом да, add влияет на ефлаги
поизучай детально стек, ефлаги, и в целом для чего служит каждый регистр в х32
проще в учении было бы, если ты помимо теории подтягивал и практику, смотря на то, как инструкции влияют на другие регистры, стек, ефлаги и т.д.
 
ну эт не совсем флаги, это jz/jnz это прыжки с условием, aka jcc, но в целом да, add влияет на ефлаги
поизучай детально стек, ефлаги, и в целом для чего служит каждый регистр в х32
проще в учении было бы, если ты помимо теории подтягивал и практику, смотря на то, как инструкции влияют на другие регистры, стек, ефлаги и т.д.
я ради практики решаю как рас каждый день разные крякми.Спасибо за советы
 
  • Раздражает
Реакции: mj12
вот ты ахуеешь когда узнаешь что и в режиме 64 битов используются 32 битные регистры
Вау, спасибо за объяснение. Думал в начале зарофлить про AX, но передумал, теперь вижу что зря (((
 
ох уж эти коммерческие...
 
я начинаю ток изучать чутка asm и C++.Решил выложить сюда эту тему.Раньше этого тут не видел и когда учил тут нечего не нашел .

add сложение через него можно менять флаги на примере знаю ток jz - jnz (jz вроде если 0 )
mov- так скажем помещает содержимое источника в приемник. флаги не меняет
приведу этого пример на python так как он легкий для понимания.
допустим есть переменная a=10
b=0
потом пишем mov b,a
cmp позволяет сравнивать. Вроде точно не знаю
Использоваться в этих случаях могут: Области памяти, регистры общего назначения, значения
push - помещает в стек
Стек - структура которая хранит важную информацию о программе.
На этом все .Не ругаите сильно я сам еще ток начинаю и написал все то что выучил
Забыл добавить регистры

EAX
ECX
EDX
EBX
ESP
EBP
ESI
EDI
EIP
Ну, cmp просто из первого операнда вычитает второй и если результат вычитания 0 то zf 1 ну если не 0 то zf 0 отсюда и переходы jz ну и так далее
вот ты ахуеешь когда узнаешь что и в режиме 64 битов используются 32 битные регистры
О да 64 битный регистр rflags в котором старшие 32 бита тупо резервд, а младшие такие же как в eflags ВОТ ОН АХУЕЕТ ОТ ТАКОГО ДИФЕРЕНСА АРХИТЕКТУР
 
Назад
Сверху Снизу