Я читаю руководство по программированию nasm в Linux и есть вещь, на которую я не могу найти ответ.регистры и прерывания в сборке
Рассмотрим следующий код:
mov eax, 4
mov ebx, 1
mov ecx, buffer
int 0x80
Насколько я понимаю, это устанавливает параметры в соответствующие регистры, а затем «толкает» их к исполнению. Мой вопрос в том, почему eax будет хранить syscall, а не ebx? Почему ecx хранит все, что мы хотим напечатать на экране? Существуют ли технические различия между eax и ebx, или это просто соглашение об именах? Если это так, где хранится таблица «имя регистра - функция»?
Благодаря
> Для Linux вы сохраните номер sys_call в EAX, например. ОК, вопрос в том, почему мы храним его там и где еще это задокументировано. Я думал, что это очень важный вопрос, и он содержится в некоторых официальных документах. –
Теперь это то, что я искал. Благодаря! –