> Внимание! Перед отладкой проверьте – все ли функции формируют фреймы (mov ebp, esp). Это правило должно быть выполнено для всех функций, включая main.
Тебе нужно обьяснить, почему EDI, ESI, EBX - сохраняются, и восстанавливаются, а остальные изменённые - EAX, ECX, EDX - не сохраняются и не восстанавливаются
мое понимаение данного листинга следующее: сначала на стек кладутся значения регистров сохранения вызываемой процедуры далее в строке 4 кладем в регистр аргумент со смещением относительно регистра фрейма после перемножаем значение лежащее в памяти со значением в регимстер еах и кладем в еах далее в строке 6 кладем значение аргумента в ебх после в строке 7 ставим в есх исполнительный адрес равный значению регистра еах умноженного на коеффициент масштабирования в строке 8 складываем есх и еще один аргумент и все кладем в есх после в строке 9 перетаскиваем содержимое ебх в едх
Наоборот, содержимое EDX кладётся в EBX, там лежит продолжение произведения Вот и ответ - эти регистры не восстанавливаются, и не сохраняются, потому что это результат выполнения функции.