Если вам нужны подробности, прочитайте документацию GCC по Extended Asm .
Короткий ответ - это перемещение указателя стека x86 (регистр% esp) в переменную C с именем "esp". «= G» сообщает компилятору, какие виды операндов он может заменить %0
в коде сборки. (В данном случае это «общий операнд», что означает, что практически любой регистр или ссылка на память разрешены.)