Сборка - изменение содержимого стека
Как изменить блок памяти стека в сборке?
Я подумал об одном способе:
POP EAX
ADD EAX, 5
PUSH EAX
Есть ли более короткий и эффективный способ сделать это?
1 ответ
Решение
Вы можете обратиться к значению в стеке напрямую с помощью операнда памяти, как в
add dword [esp], 5
или же
add qword [rsp], 5
если вы ориентируетесь на 64 бит; вместо этого в 16-битном режиме sp
адресация на основе недоступна.