Почему у нас есть такие команды, как push и pop?
Насколько я понимаю, pop
и push
в основном такие же, как выполнение (mov
, затемadd
)и (sub
, затемmov
)на esp
соответственно.
Например,:
pushl %eax
не будет эквивалентно:
subl $4, %esp
movl %eax, (%esp-4)
пожалуйста, поправьте меня, если доступ к стеку не (%esp-4)
, я все еще изучаю сборку
Единственное истинное преимущество, которое я вижу, это выполнение обеих операций. одновременно предлагает некоторое преимущество; однако я не понимаю, как это могло быть.