Size: a a a

Ассемблер

2021 August 30

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

E

Entusiast in Ассемблер
Зачем
mov ebp, esp
?
источник

TC

Tom Cauf in Ассемблер
SASM это для отладки автоматически проставляет
источник

E

Entusiast in Ассемблер
Напомнило мне Си-компилятор, который везде его втыкает, даже если в коде не работают со стэком вообще
источник

TC

Tom Cauf in Ассемблер
> Внимание! Перед отладкой проверьте – все ли функции формируют фреймы (mov ebp, esp). Это правило должно быть выполнено для всех функций, включая main.
источник

TC

Tom Cauf in Ассемблер
В общем я пока хз. Я только учебник читать начал :)
источник

E

Entusiast in Ассемблер
Только сейчас вспомнил, что так и не ответил.
Просто я помню, что говорили на эту тему, мол "На Си нельзя писать PIC код", ну вот - шеллкод же PIC
источник

И

Игорь in Ассемблер
если стек не трогаем, то и не надо наверное
источник

E

Entusiast in Ассемблер
источник

Q

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

E

Entusiast in Ассемблер
А где продолжение с popl?
Немного неразборчиво задачу описали, соглашусь.
Ещё и опечатка - %ebi
Некрасиво звучит
источник

E

Entusiast in Ассемблер
Тебе нужно обьяснить, почему EDI, ESI, EBX - сохраняются, и восстанавливаются, а остальные изменённые - EAX, ECX, EDX - не сохраняются и не восстанавливаются
источник

Q

Qqqq in Ассемблер
мое понимаение данного листинга следующее: сначала на стек кладутся значения регистров сохранения вызываемой процедуры далее в строке 4 кладем в регистр аргумент со смещением относительно регистра фрейма после перемножаем значение лежащее в памяти со значением в регимстер еах и кладем в еах далее в строке 6 кладем значение аргумента в ебх после в строке 7 ставим в есх исполнительный адрес равный значению регистра еах умноженного на коеффициент масштабирования в строке 8 складываем есх и еще один аргумент и все кладем в есх после в строке 9 перетаскиваем содержимое ебх в едх
источник

Q

Qqqq in Ассемблер
сильно не пинайте я +- недавно начал пытаться вдуплять в происходящее
источник

Q

Qqqq in Ассемблер
команда popl вроде как конвертится в две ассемблерные команды типа
movl (%esp),target
addl $4,%esp
источник

Q

Qqqq in Ассемблер
а для pushl в
subl $4,%esp
movl target,(%esp)
источник

E

Entusiast in Ассемблер
Наоборот, содержимое EDX кладётся в EBX, там лежит продолжение произведения
Вот и ответ - эти регистры не восстанавливаются, и не сохраняются, потому что это результат выполнения функции.
источник

Q

Qqqq in Ассемблер
Почему из edx в ebx если регистр источник ебх а назначение -едх?
источник

E

Entusiast in Ассемблер
Ты прав, но ответ всё равно не изменился
источник

Q

Qqqq in Ассемблер
Ответ убил...
источник