Если коротко то , логика пишется в  ASCET  и аналогичных (блок схемное программирование,хотя по сути и там "под капотом" С) , ядро и прочее чаще всего на С , если заниматься реверсом  , то дизасм итд итп ,само собой если не понимать как работают компиляторы итд , что вы уже продемонстрировали выше, то сначало нужно разобраться в основах программирования и языках таких как С и ассемблер, и как вообще все это работает.