Kezdőlap › Fórumok › Programozás › Az elsõ bootolható programom
- This topic has 85 hozzászólás, 18 résztvevő, and was last updated 18 years, 10 months telt el by
tovis.
-
SzerzőBejegyzés
-
2006-06-01-17:45 #2061854
Gratula!
2006-06-01-18:17 #2061855Ha ez egy bootolható valami, akkor a progit a BIOS indítja, és odáig még eljut, hogy kiírja. De nézzük tovább: ha te egy C nyelvû valamit akarsz indítani, ami a lemezen máshol van, ahhoz már kell, hogy ismerje a lemezt a program, sõt, még (meg merem kockáztatni) egy fs is kelleni fog. Akkor most van egy leforgatott C nyelvû valamink. Nézzük tovább: ez nem gépi kód, csak egy gépi kód szerû cucc, aminek indításához kell még néhány dolog. Nem akarok nagyon belemenni, csak tanulmányozásra ajánlanám az uniOS-et, avagy épp a Minix kódját, ha egy kicsit többre vágysz, akkor húzd le a 0.01-es Linux-kernelt, és uccu neki, sok szerencsét! 🙂
Ui.: mi alapján tanultad az ASM-et? Nekem is kellene :blush:2006-06-01-18:37 #20618562006-06-01-18:52 #2061857Ui.: mi alapján tanultad az ASM-et? Nekem is kellene blush
SZTE-n Máté Eörs a saját könyvébõl tanítja, egész klassz kis cucc, ez volna az: http://www.kiskapu.hu/index.php?BODY=BookInfo&OP=details&ID=19480&VISIT=1
2006-06-01-19:37 #2061858„A kérdésem az lenne, hogy ASM-bõl hogyan tudok, mondjuk egy befordított C programot meghívni?”
Ahogy mondták, úgy nem fog sikerülni, de…:
kód segmens:Code:extern printf
push dword [CHAR]
push dword [FORMAT]
call printf
add esp, byte 8adat szegmens:
Code:CHAR db ‘A’
FORMAT db ‘%c’Ha viszont C függvényt akarsz írni:
Code:c_func:
push ebp
mov ebp, esp
sub esp, VAR_SIZE
mov ebx,[ebp+8] <- ez az elsõ paraméter címe
…
mov eax, 1 <-visszatérési érték, ha kell (de, ha 0, akkor a xor eax,eax a célszerû)
mov esp, ebp
pop ebp
ret2006-06-01-19:39 #2061859Wait wrote:Ha ez egy bootolható valami, akkor a progit a BIOS indítja, és odáig még eljut, hogy kiírja. De nézzük tovább: ha te egy C nyelvû valamit akarsz indítani, ami a lemezen máshol van, ahhoz már kell, hogy ismerje a lemezt a program, sõt, még (meg merem kockáztatni) egy fs is kelleni fog. Akkor most van egy leforgatott C nyelvû valamink. Nézzük tovább: ez nem gépi kód, csak egy gépi kód szerû cucc, aminek indításához kell még néhány dolog. Nem akarok nagyon belemenni, csak tanulmányozásra ajánlanám az uniOS-et, avagy épp a Minix kódját, ha egy kicsit többre vágysz, akkor húzd le a 0.01-es Linux-kernelt, és uccu neki, sok szerencsét! 🙂
Ui.: mi alapján tanultad az ASM-et? Nekem is kellene :blush:Ohh.. Már nem is tudom. Neten találtam valami leírást, meg a prog.hu-s assembly rovatokat nézegettem. Miután postoltam az üzimet megnéztem egy honlapot, ahol elég komolyan belemélyedtek ebbe a dologba. Talán a megoldásom a grub, vagy a lilo lesz. Ezek segítségével tudok már bootolni.
Mondjuk nincsen sok értelme egy új OSt csinálni, csak le akartam nyûgözni a haverokat. De észbe kaptam. A minix forrása megvan és sztem elég áttekinthetõ, de nem szórakoznék, hogy kibogarásszam mi-mit csinál. A linux kernel megértése nagyon nagy munka lenne. Minek álljak neki? Ahh.. Annyira elõrehaladott már minden a sztechben, hogy az elejérõl fölösleges kezdeni, de engem az érdekel a legjobban, de mikor lesz arra szükségem? Nah mind1.Megtaláltam: linuxgazette.net/issue77/krishnakumar.html
inuxgazette.net/issue79/krishnakumar.html
alapján készítettem egy kicsit egyénre szabva.2006-06-01-19:46 #2061860Már megint az angoltudás hiánya jön elõ… 🙁
2006-06-01-19:51 #2061861„az ittenieket nem akarom vele õrületbe kergetni”
Pedig megnéznénk… de csak, ha valami gépikód. Piti cuccokkal nem foglalkozunk, azon már túl vagyunk. :)))2006-06-01-20:12 #2061862Pedig ez piti cucc ;D
Egyenlõre csak tervek vannak, aztán lehet, hogy semmi sem lesz belõle. A dolog tulajdonképp egy, a rendszer felé Linux kernelként kommunikáló piramis-kernel lenne, ami alapvetõ – monolikus, csak a bootoláshoz ELENGEDHETETLEN – kerneldarabbal van felszerelve, és mellette van a rá épülõ modulos ill. mikrokernel szerû valami. De tényleg nem akarok ide offolni, akit érdekel, írjon egy e-mailt a hbotondzs(a)gmail.com-ra, vagy küldjön egy privit.2006-06-01-20:16 #2061863„csak le akartam nyûgözni a haverokat”
Ha tényleg azt akarod, akkor tenulj, meg egy ilyen a betûs cuccot hexaban… akkor még fordító sem kell :), csak lemented, elindítod, oszt fut. :))) -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz