нет, последняя функция на ЯВУ, но это не влияет на результат - если переделать на асм - то будет тоже самое - не весь стек
Ну вот если main у тебя не на асме, то она выравнивает стек и вызывает test1. На стеке теперь адрес возврата в main и выравнивание сбивается. Ты в теле test1 выравнивание не восстанавливаешь, а сразу вызываешь test2, и дальше все идет уже со сбитым выравниванием
не уверен, что тут всё правильно написано т.к. я трассировал оба варианта (ЯВУ-шный и ассемблерный) код 1 в 1 адреса стека перед вызовами выровнены были одинаково, на границу 16 байт - иначе получил бы AV на movaps но проверить можно конечно ещё раз, просто у меня уже тёмная ночь, возможно отложу это дело до завтра.... в общем есть сомнения...
Обсуждают сегодня