Kulpina, jeżeli chcesz pisać bezpośrednio na sprzęt IBM PC( x86), najpierw powinieneś zostać wielkim wirtuozem czegoś w rodzaju DSM-51(DydaktycznySystemMikroprocesorowy firmy MicroMade). Jest tam procesor 80C51, masz magistrale, pamięci, asembler...
Jest to urządzenie raczej niepraktyczne (nie AVR ;P ), ale pewnych rzeczy nie przeskoczysz. Musisz wiedzieć, co to są szyny danych, adresowanie, jak wykonuje się program.
A jeżeli chcesz prościej, to każdy kernel (jądro) linuksa jest napisany w C, a kody są do pobrania. Taki kernel idealnie nadaje się do mrugania diodami (jedną z jego podstawowych funkcji jest mruganie na kernel panic ;P). Linuks jest na wszystko, od 8051, AVR, przez różne dziwne rzeczy do PCx64.