Vůbec nejsou potřeba 3 programovací jazyky, stačí jeden. ASM se nedá považovat za programovací jazyk, neposkytuje žádnou abstrakci navíc oproti ručnímu zápisu CPU instrukcí... Instrukci CPU můžete vyjádřit binárně třeba i v Javě, a zapsat ji kam potřebujete.
To co hlavně potřebujete je překladač, pokud neumí to co je nutné pro implementaci OS, tak buď napíšete vlastní překladač/rozšíření (ale pro stávající jazyk), nebo zkrátka daný programovací jazyk k tomu vůbec nepoužijete.
Příkladem budiž HipHop od FB, což je trochu podobná situace, múžete to psát třeba v PHP...
Myšlenka je taková, že C použijete právě proto, že překladač už máte, ale psát to v C nemusíte.