если подстановка переменной это что-то совсем простое, как например, отнять по X с обоих частей уравнения и объясняется в одно утверждение, то я как раз и хотел понять в какое
мне главное из под ассемблера запустить уже другое ядро, на Си
мы довольно забавно обменялись очевидными фактами
Предположим, что надо написать Once только с двумя значениями (WasNotCalled = 0, WasCalled = 1). Для метод call может использовать swap и вернуть предыдущее значение. Но какой порядок нужно использовать в этом swap?
int scan_code = 0;
asm(
"push %%eax\n"
"xor %%eax, %%eax\n"
"in $0x60, %%al\n" // принимаю сканкод
"movl %%eax, -12(%%ebp)\n"
"pop %%eax\n"
:
:
:
);
unsigned char scan_code = 0;
asm(
"in $0x60, %0" // принимаю сканкод
: "=a"(scan_code)
:
:
);
После этого ядро стало выдавать ошибку
qemu-system-x86_64 -kernel kernel-10 -nographic -serial stdio -monitor none -append 'console=ttyS0'
но ты лучше напиши сам и подробно.