#include <iostream>

int main() {
    int var1 = 10;  // Первая переменная
    int var2 = 0;   // Вторая переменная
    int var3 = 0;   // Третья переменная

    // Ассемблерная вставка для перемещения данных
    asm(
        "movl %1, %0\n\t" // var1 -> var2
        "movl %0, %2"     // var2 -> var3
        : "=r" (var2), "=r" (var3)
        : "r" (var1), "0" (var2), "1" (var3)
    );

    std::cout << "var1: " << var1 << std::endl;
    std::cout << "var2: " << var2 << std::endl;
    std::cout << "var3: " << var3 << std::endl;

    return 0;
}
