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