Код, использующий только регистры, обычно довольно небольшого размера и пишется на асме. Потом инициализируется кэш и он используется в качестве памяти.
Нафига тогда они это пилили?(риторический вопрос, конечно...)
У них были дикие проблемы с когерентностью кеша, который выкидывал все что хотел по своему желанию... потом, правда, решение нашли, но легаси в коде осталось.
А вообще, пользуйся IDE, коли они так коряво сделали...
Так и использую IDE (kdevelop). Все равно ппц как неудобно. Чуть что тронешь - сразу все рассыпается, и не сразу поймешь, в чем именно дело. Включать .c файлы надо обязательно в определенном порядке, иначе не будет хватать определений констант и функций. А если какой-то константы или функции не хватает, а ты нашел файл, в котором она определена, и который явно рассчитан на то, что его будут инклюдить, то ты не можешь его заинклюдить просто так. Потому что расчитан на то, что он заинклюжен в другом файле, и вот тот то файл и надо инклюдить. Все это чертовски неудобно
Здесь идея в том, что в каждом отдельном .H файле содержится какой-то блок кода, который добавляет к собираемому таким образом решателю какие-то отдельные готовые определения, например
#include"EEqn.H"
включает файл EEqn.H, содержащий в себе определение уравнения переноса энтальпии.
Почему это сделано именно так, а не иначе я не знаю, и да, думаю можно было это реализовать вменяемей.