трюкаческий пример
Подвох в том, что переменная x возвращается в ячейке памяти, выделенной PUSH SP! То есть указатель на x указывает сам на себя, что хорошо видно в отладчике:
----------------------------------------------------------------
1832:FFB0¦ 02 11 54 12 B2 FF 00 00 00 00 00 00 00 00 00 00 ¦
¦ ^^^^^ ^^^^^ ^^^^^
¦ | | |
¦ | push si |
адрес возврата push sp