В xv6 есть общие регистры, которые вы можете использовать для чтения и записи в пользовательских программах. В c нет функции для записи значения int в регистр, но вы можете использовать встроенную сборку c для этого. например, если ваша переменная a и вы хотите сохранить ее в регистре eax, вы можете использовать этот код:
asm ("movl %0, %%eax;"
: /* no output */
:"r"(a) /* input is variable a */
:"%eax" /* clobbered register */
);
, чтобы получить дополнительную информацию о том, как записывать в регистры со встроенной сборкой c, вы можете прочитать этот сайт:http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#s5