Вы можете использовать макрос препроцессора stringize type C , чтобы преобразовать постоянное значение в строку.Затем вы можете использовать эту строку для создания основного встроенного оператора сборки.Примером может быть:
#define STRINGIZE1(x) #x
#define STRINGIZE(x) STRINGIZE1(x)
#define STACK_ADDR 0x1000
int main()
{
asm ("movl $" STRINGIZE(STACK_ADDR) ", %esp");
return 0;
}
В этом примере должна быть сгенерирована эта инструкция по сборке:
movl $0x1000, %esp
Примечание: этот код не предназначен для запуска.