а на мысль не наводит что они не зря написали на ассемблере? Си на то и язык верхнего уровня, что о регистрах ничего знать не должен, одна из его задач, обеспечить переносимость кода.
Поэтому лучше переписать загрузчик под Си вызовы, а не городить ненужный огород.
кто-то тут уже Вам эти советы давал.