Раз твоя ОС будет как Сингулярити работать в плоской модели памяти, то задача начального макетирования резко упрощается. Саму ОС можно будет разрабатывать прямо в виндах или в чем угодно.
Тебе необходимо будет разработать лишь некий высокоуровневый HAL и — вперед, с песней. А так же несколько адаптеров-эмуляторов устройств для основных оных ввода/вывода: диск, клава, мышь, экран.
ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.