2012-02-10 27 views
8

Uczę się NASM, gdy piszę bootloadery. Do tej pory mam hello world bootloader. Chcę wiedzieć, jak połączyć program c z nim i załadować go do pamięci i uruchomić jego funkcję punktu wejścia. Potrzebuję kodu NASM, ponieważ jestem NASM n00b. Dziękuję bardzo za pomoc.Jak napisać bootloader, aby załadować jądro c?

EDYCJA: Zasadniczo muszę wiedzieć, jak połączyć program c i potrzebuję kod NASM do tsrat to funkcja punktu wejścia. Jakieś gówno, o których powinienem wiedzieć?

+0

próbowaliście czegoś tak daleko? Jakie miałeś problemy? –

+0

Nie. Po prostu nie wiem, jak połączyć i załadować. Google nie pomogło. – user701329

Odpowiedz

6

Chociaż this tutorial jest dla C++, to jest dokładnie taka sama procedura (samouczek zawiera listę części, które są specyficzne dla C++, które są po prostu statycznymi ctorami).

gdy kiedykolwiek swoje problemy w tej dziedzinie, osdev.org generalnie ma odpowiedź lub tutorial

+0

Po prostu to, czego potrzebowałem. – user701329

2

Istnieje mnóstwo pułapek o uruchomieniu jądra:

Oto dobrym źródłem http://linuxgazette.net/issue77/krishnakumar.html

że powinno Ci zacząć.

+0

To jest program c do kopiowania bootloadera na dyskietkę. Potrzebuję bootloadera, aby uruchomić jądro. Użyłem dd do skopiowania mojego bootloadera. – user701329

+0

Wystarczająco fair :) Myślę, że masz odpowiedź powyżej –

+0

w rzeczywistości, jeśli czytasz wszystko to ma boot loader assembly –