Kako postaviti pametne telefone i računala. Informativni portal

Operativni sustav sličan UNIX-u: pisanje kernela u C. Ručno podešavanje Linux kernela

Kako komponirati stvori semantička jezgra stranica ispravno.


Dobar dan dragi prijatelji čitatelji! Danas u ovom članku želim raspravljati o pitanju ispravne kompilacije semantičke jezgre web-mjesta i bloga. Uostalom, ispravno sastavljena semantička jezgra je zalog uspješna promocija resurs u tražilice. Činjenica je da semantička jezgra utječe na prirodu promocije.

Prije nego što razmotrimo pitanje sastavljanja semantičke jezgre, želio bih pojasniti što je ipak semantička jezgra?

Tako, semantička jezgra stranice je popis ključnih riječi koje karakteriziraju glavnu temu izvora. SEO gurui izmišljaju tako da se ista stranica pojavljuje u tražilicama u najvišim pozicijama Rezultati pretraživanja za različite ključne upite koji su sastavljeni i uključeni u popis semantičke jezgre. Dakle, to znači da je ispravna kompilacija semantičke jezgre ključ učinkovita promocija stranice u tražilicama za različite upite pretraživanja, ali slične tematski.

Kompilacija semantičke jezgre stranice i bloga bitno je različita. Općenito, semantička jezgra se koristi za blog samo zato što drugi naziv za to vjerojatno još nije izmišljen.

Stoga analizirajmo razlike između jezgre bloga i web stranice te se odlučimo za metodologiju njihovog sastavljanja. Semantička jezgra bloga nije popis ključnih riječi koje karakteriziraju temu bloga; ovo je popis ključnih riječi za koje je planirana promocija. Osjeti razliku? Ako ne, pročitajte ovo još nekoliko puta dok ne shvatite.

Kako napraviti semantičku jezgru

Idemo sada detaljnije. Ako je semantička jezgra stranice sastavljena i uključena u strukturu stranice. Ta semantička jezgra bloga je kompilacija ključnih riječi u programu notepad ili uopće zapisanih u bilježnicu, prema kojoj se bloger odlučio pomaknuti na čelne pozicije tražilica. Odnosno, srž bloga se može opisati kao plan promocije u tražilicama i ništa više. Jednostavno je, vjerojatno seo stručnjaci namjerno maltretiraju svoj mozak svim tim pojmovima tako da početnik u izradi web stranica i bloganju pobjegne od svega toga dovraga. U svakom slučaju…

I tako, semantička jezgra stranice sastavljena je otprilike na sljedeći način! Na primjer, trebate promovirati web stranicu posvećenu prodaji cipela na internetu na vrh rezultata pretraživanja. Za ovu stranicu, najprikladnije ključne riječi. Na primjer, korištenjem usluge - Wordstat Yandex. I tako unesemo zahtjev u servis, dobijemo nešto poput ove slike.

Prodaja cipela najvjerojatnije će biti uvrštena u naslov samog naslova stranice. A ostatak će biti registriran u kompiliranoj semantičkoj jezgri stranice.

Na primjer, ako web-mjesto prodaje dječju obuću, tada riječ "prodaja dječje obuće" treba uključiti u jezgru, a ako web-mjesto (mrežna trgovina) nije specijalizirano za prodaju cipela na veliko, onda uključiti ključnu riječ "trgovina na veliko cipele" u srži nema smisla . Uostalom, ovo je uzaludna promocija upit za pretraživanje. Zapravo, sastavljanje semantičke jezgre za web stranicu vrlo je složena aktivnost koja zahtijeva veliko znanje i vještine.

Kako stvoriti semantičku jezgru bloga

Blog je druga stvar! Ne treba biti tako kategoričan. Dovoljno je sastaviti ključne riječi koje definiraju temu bloga i za njih napisati optimizirane članke.

Nije potrebno da blog promovira master stranice, jer blog, kao elektronski dnevnik možete stvoriti tisuće stranica i promovirati svaku stranicu pod nekoliko ključne riječi. Kako biste naučili kako pravilno sastaviti ključne riječi, pročitajte članak o odabiru ključnih riječi. Nakon što sastavite popis ključnih riječi, počnite pisati optimizirane članke za njih. To je sve odabir ključnih riječi i pisanje optimiziranih članaka je kompilacija semantičke jezgre.

Pa ipak, postoji dodatak za WordPress blogove Sve u jednom SEO paketu koji bi trebao biti napisan popis ključnih riječi koje karakteriziraju temu vašeg bloga. Ovaj dodatak je vrlo koristan za promocija pretraživanja vaš blog. Dakle, svakako ga instalirajte i konfigurirajte ovaj dodatak na administratorskoj ploči.

Gdje propisati popis ključnih riječi za jezgru bloga, pokazat ću na slici. Ovdje je glavni izbornik dodatka, ovdje trebate registrirati ključne riječi za koje planirate promovirati u tražilicama.

Dakle, da biste ispravno propisali sve ove odjeljke, morate slijediti određeni algoritam.

U naslov glavne stranice napišite naziv svog bloga i 1 - 2 ključne riječi za koje želite ići na vrh.

U opisu također trebate napraviti nekoliko rečenica u kojima također naznačite 2-3 ključne riječi za koje želite doći do vrha.

I također u stupcu "Ključne riječi" trebate odabrati između 10 - 15 ključnih riječi za koje također želite doći do prvih pozicija u rezultatima pretraživanja.

Želim napomenuti da ste u ovoj kolumni postavili promociju glavne stranice. Ako odaberete prave ključne riječi onda glavna stranica kretat će se prema gore u tražilicama za dane ključne riječi.

No, nakon instaliranja dodatka, objavama će se dodati slično polje gdje već možete postaviti i propisati razne ključne riječi za svaku pojedinu stranicu.

Mislim da sam vam danas rekao kako sastaviti semantičku jezgru vašeg bloga i vaše web stranice.

Sastaviti semantičku jezgru za blog znači planirati promociju određene riječi. Nemojte biti zatrpani ključnim riječima i pišite relevantne članke za svoj blog. Ovo je prva faza interna optimizacija vaš blog.

Pa ne opraštam se od vas dragi prijatelji! Vidimo se u novim člancima!

Dalje ću sve više pisati o internoj optimizaciji, jer je ona vrlo važna. 80% uspješne promocije ovisi o internoj optimizaciji bloga, a 20% o tome vanjski faktori. Nemojte žuriti trčati na burze i kupiti poveznice na svoj blog. Umjesto toga, usredotočite se na internu prilagodbu svog bloga. Kako ne biste propustili korisne članke o internoj optimizaciji, ne zaboravite

Izbor najboljih Zanimljivosti pogledajte i opustite se!

Kada počnete čitati priručnike za promociju web stranice, uvijek sve počinje stvaranjem semantičke jezgre. Za početnike je ovaj prvi korak najteži. Osim što odmah ne postaje jasno što je ta semantička jezgra, nije jasno ni koju svrhu ima i kako je ispravno stvoriti.

U ovom članku ćemo govoriti o tome kako pravilno stvoriti semantičku jezgru web-mjesta. Također ćete naučiti što je to i zašto je napravljeno. Zapravo, nema ništa komplicirano i teško u konceptu semantičke jezgre. Idemo to shvatiti.

Nitko još nije odgovorio na pitanje što je s takvima semantička jezgra jednostavnim riječima kako to sada radimo. Dakle, semantička jezgra stranice je popis ključnih fraza kojima će se promovirati. Sve! Cijelo značenje pojma u jednoj kratkoj jasnoj rečenici. I ne treba ništa mutiti pametnim terminima.

Ako uđete dublje u pojam, onda je semantika znanost koja se bavi semantičkim sadržajem leksičkih jedinica. Jednostavno rečeno, semantika je proučavanje značenja nečega. V Semantički SEO jezgra jasno daje do znanja značenje cijele stranice, njezinog odjeljka ili jednog preuzetog članka. To postaje jasno tražilici, posjetitelju, svim programerima koji će raditi na stranici.

Semantička jezgra, bez pretjerivanja, temelj je svake promocije.

Kako koristiti semantičku jezgru i čemu služi

Funkcije semantičke jezgre uključuju sljedeće aspekte promocije web stranice:

  • Najviše glavni zadatak semantička jezgra je razumijevanje strukture stranice i njenog sadržaja. Gledajući to, možete zamisliti koje će odjeljke stranica imati i koji će članci biti u svakom odjeljku. Tako su svi nedostaci i neugodnosti strukture odmah vidljivi i mogu se otkloniti u ranoj fazi.
  • Semantika postavlja vektor sadržaja. Zahvaljujući boljem razumijevanju strukture stranice, možete odabrati najrelevantnije i najučinkovitije ključne fraze.
  • Semantička jezgra je sadržajni plan stranice za dugi niz godina. Svaki put kada trebate pisati članke, možete pogledati tamo i vidjeti koji je sadržaj planiran i u kojem dijelu stranice bi trebao biti.
  • Ako je planirano plaćena promocija web-mjesto, na primjer, zbog kontekstualnog oglašavanja, tada zahvaljujući semantičkoj jezgri možete izračunati trošak promocije.

Kako napraviti semantičku jezgru

Prvo morate odlučiti gdje ćete uzeti ključne fraze za jezgru. Najbolji izvor za početnike je usluga Yandex WordPStat, koja pokazuje koliko je puta mjesečno ovaj ili onaj upit unesen u pretraživanje Yandexa. WordStat ima razne korisne značajke, na primjer, možete filtrirati upite po regiji ili uređaju, pregledavati povezane upite i još mnogo toga. I što je najvažnije, potpuno je besplatno. Više o tome.

Također možete koristiti razne plaćeni programi, ali za početnike je WordStat prikladniji, s obzirom na njegovu jednostavnost. Osim toga, prikladan je ne samo za Runet, gdje prevladava Yandex. Ako promovirate web-mjesto unutar CIS-a, možete ga sigurno koristiti, a Google statistika bit će otprilike ista.

Glavna bit stvaranja semantičke jezgre je zbirka ključnih fraza koje se nekako uklapaju u temu stranice. Treba ih nekako formalizirati, sistematizirati. Za to, proračunske tablice, kao što je Excel, unose tablice Google dokument ili slično.

A za veću učinkovitost, u tablicu semantičke jezgre mogu se dodati dodatni stupci:

  • Naravno, trebao bi postojati stupac s najključnijim izrazom.
  • Naravno, stupac s nazivom naslova stranice gdje će se koristiti ova fraza.
  • Možete dodati stupac s meta oznakama naslova i opisa i odmah napisati naslov i opis članka koristeći dane ključna fraza. Prvo, odmah će vam biti jasno o čemu pisati članak, a drugo, tada nećete morati razmišljati i smišljati.
  • Možete napraviti stupac koji označava broj znakova u članku za danu ključnu frazu kako biste bolje razumjeli plan sadržaja.
  • Kad je riječ o promociji kontekstualno oglašavanje, potrebno je za svaki zahtjev dodati trošak oglašavanja.
  • Sve što je potrebno može se sigurno zapisati u tablicu sematske jezgre. Ne postoji predložak za ovo, tako da tamo možete raditi što god želite i povoljno.

Uobičajene pogreške pri stvaranju semantičke jezgre

Sada znate kako pravilno stvoriti semantičku jezgru web-mjesta. Razmotrimo na kraju koje uobičajene pogreške rade optimizatori početnici.

  • Ako jezgra predviđa podjelu stranice u kategorije, onda česta greška je stvaranje dubokih razina ugniježđenja. Preporuča se druga razina i ne dalje. Odnosno, možete napraviti naslov, podnaslov i to je to, ne možete ga više dijeliti na manje naslove.
  • Početnici mogu zanemariti zahtjevi niske frekvencije, jer smatraju da ih je neprikladno koristiti, ionako neće stvarati veliki promet. Ali zapravo je obrnuto. Za novu stranicu potrebni su upravo upiti niske frekvencije, niske konkurentnosti.
  • Ne možete u potpunosti vjerovati usluzi koja će se koristiti za izdvajanje ključnih fraza. A upravo to rade novopridošlice. Strojevi mogu pogriješiti i odabrati pogrešan za vas.
  • Nema potrebe za stvaranjem članka radi ključne fraze. Ako pronađete izraze "hitno prodati kuću" i "brzo prodati kuću", onda nema smisla za njih raditi dva različita članka.

Slično UNIX-u operacijski sustav zanimljivo za raščlanjivanje, kao i pisanje vlastitog kernela koji ispisuje poruku. Pa, hoćemo li napisati?

Operativni sustav sličan UNIX-u i x86 pokretanje stroja

Što je operativni sustav sličan UNIX-u? To je OS nastao pod utjecajem UNIX-a. Ali prije nego krenemo u pisanje kernela za njega, pogledajmo kako se stroj pokreće i predaje kontrolu kernelu.

Većina registara x86 procesora ima dobro definirane vrijednosti nakon uključivanja. Registar pokazivača instrukcija (EIP) sadrži memorijsku adresu za instrukciju koju treba izvršiti procesor. EIP je tvrdo kodiran na 0xFFFFFFF0. Dakle, procesor ima jasne upute na fizičkoj adresi 0xFFFFFFF0, što je, zapravo, zadnjih 16 bajtova 32-bitnog adresnog prostora. Ova adresa se zove vektor resetiranja.

Karta memorije čipseta sada osigurava da se 0xFFFFFFF0 mapira na određeni dio BIOS, a ne RAM. U međuvremenu, BIOS se kopira u RAM za više brzi pristup. To se zove sjenčanje. Adresa 0xFFFFFFF0 sadržavat će samo instrukciju za skok na adresu u memoriji na koju se BIOS kopirao.

Dakle, BIOS kod počinje svoje izvršavanje. BIOS prvo traži uređaj za pokretanje prema konfiguriranom redoslijedu uređaja za pokretanje. Traži određeni čarobni broj kako bi odredio može li se uređaj pokrenuti ili ne (bajtovi 511 i 512 prvog sektora su 0xAA55).

Nakon što BIOS otkrije uređaj za podizanje sustava, kopira sadržaj prvog sektora uređaja u radna memorija, počevši od fizičke adrese 0x7c00; zatim skače na adresu i izvršava upravo učitani kod. Ovaj kod se zove bootloader.

Bootloader tada učitava kernel na fizičkoj adresi 0x100000. Adresa 0x100000 se koristi kao početna adresa za sve velike kernele na x86 strojevima.

Svi x86 procesori pokreću se u pojednostavljenom 16-bitnom načinu tzv stvarne adrese. GRUB bootloader prebacuje se u 32-bitni zaštićeni način postavljajući niži bit CR0 registra na 1. Dakle, kernel se pokreće u 32-bitni zaštićeni način.

Imajte na umu da ako pronađete Linux kerneli, GRUB će dobiti dnevnik pokretanja i učitati Linux kernel pravi način rada. I Linux kernel će se prebaciti u zaštićeni način rada.

Što će nam trebati?

  • x86 računalo (naravno)
  • NASM montažer
  • ld (GNU linker)
  • Izvor

Pa, bilo bi lijepo imati ideju o tome kako funkcionira OS sličan UNIX-u. Izvorni kod se može pronaći u Github repozitoriju.

Ulazna točka i pokretanje kernela

Za početak ćemo napisati malu datoteku u x86 asembleru, koja će biti početna točka za pokretanje kernela. Ova datoteka će pozvati vanjska funkcija na C, a zatim zaustaviti tijek programa.

Kako osigurati da će ovaj kod poslužiti kao početna točka za kernel?

Koristit ćemo skriptu povezivača koja povezuje objektne datoteke kako bismo stvorili konačnu izvršna datoteka jezgre. U ovoj skripti to izričito navodimo binarnu datoteku treba učitati na adresi 0x100000. Ova adresa je mjesto gdje bi kernel trebao biti.

Evo montažnog koda:

;;kernel.asm bits 32 ;directive nasm - 32 bit section .text globalno start extern kmain ;kmain definiran u C-file start: cli ;block prekida mov esp, stack_space ;set pointer call kmain hlt ;stop processor section .bss resb 8192 ;8KB po stogu stack_space:

Prva instrukcija 32 bita nije instrukcija za sastavljanje x86. Ovo je direktiva za NASM asembler koja navodi da treba generirati kod za izvođenje na procesoru koji radi u 32-bitnom načinu rada. U našem primjeru to nije nužno potrebno, ali jest dobra vježba– eksplicitno navesti takve stvari.

Drugi redak počinje s odjeljkom teksta. Ovdje ćemo smjestiti sav naš kod.

global - još jedna NASM direktiva, koja se koristi za postavljanje simbola izvorni kod kao globalni.

kmmain je izvorna funkcija koja će biti definirana u našoj kernel.c datoteci. extern izjavljuje da je funkcija definirana negdje drugdje.

Funkcija start poziva funkciju kmin i zaustavlja CPU naredbom hlt. Prekidi mogu probuditi CPU od izvršavanja hlt instrukcije. Stoga prvo deaktiviramo prekide pomoću cli instrukcije.

U idealnom slučaju, trebali biste dodijeliti malo memorije za stog i pokazati na njega pomoću pokazivača na stog (esp). Međutim, GRUB to radi umjesto nas, a pokazivač steka je već postavljen. Međutim, da bismo bili sigurni, dodijelit ćemo nešto prostora u BSS sekciji i postaviti pokazivač na stog na početak dodijeljene memorije. Da bismo to učinili, koristimo naredbu resb, koja rezervira memoriju u bajtovima. Nakon toga ostaje oznaka koja pokazuje na rub rezerviranog memorijskog fragmenta. Prije pozivanja kmmain-a, pokazivač steka (esp) koristi se za određivanje ovog prostora pomoću naredbe mov.

Jezgra u C

U kernel.asm smo pozvali funkciju kmmain(). Dakle, C kod će se početi izvršavati u kmmain():

/* * kernel.c */ void kmmain(void) ( const char *str = "moja prva jezgra"; char *vidptr = (char*)0xb8000; //video memorija počinje ovdje unsigned int i = 0; unsigned int j = 0; /* ova petlja briše ekran */ while(j< 80 * 25 * 2) { /* пустой символ */ vidptr[j] = " "; /* байт атрибутов */ vidptr = 0x07; j = j + 2; } j = 0; /* в этом цикле строка записывается в видео память */ while(str[j] != "\0") { /* ascii отображение */ vidptr[i] = str[j]; vidptr = 0x07; ++j; i = i + 2; } return; }

*kernel.c

void kmmain(void)

const char * str = "moja prva jezgra";

unsigned int i = 0;

unsigned int j = 0;

/* ova petlja briše ekran */

dok (j< 80 * 25 * 2 ) {

/* prazan znak */

vidptr[j] = "";

/* atribut bajt */

vidptr[ j + 1 ] = 0x07 ;

j = j + 2

j = 0

/* ova petlja zapisuje niz u video memoriju */

dok (str [ j ] != "\0" ) (

/* ascii mapiranje */

vidptr [ i ] = str [ j ] ;

vidptr [ i + 1 ] = 0x07 ;

i = i + 2;

povratak;

Naša kernel će obrisati ekran i prikazati niz "moj prvi kernel" na njemu.

Prvo stvaramo vidptr pokazivač koji pokazuje na adresu 0xb8000. Ova adresa je početak video memorije u zaštićenom načinu rada. Memorija teksta na ekranu samo je dio memorije u našem adresnom prostoru. I/O za zaslon na memorijskoj kartici počinje od 0xb8000 i podržava 25 redaka od 80 ascii znakova svaki.

Svaki element znakova u ovoj tekstualnoj memoriji predstavljen je sa 16 bitova (2 bajta), a ne s 8 bitova (1 bajt) na koje smo navikli. Prvi bajt mora imati prikaz znakova, kao u ASCII. Drugi bajt je bajt atributa. Opisuje oblikovanje znaka, uključujući različite atribute kao što je boja.

Za ispis znaka s u zelenoj boji na crnoj pozadini pohranjujemo znak s u prvi bajt adrese video memorije i vrijednost 0x02 u drugi bajt.

0 je crna pozadina, a 2 zelena.

Ispod je tablica kodova za različite boje:

0 - crna, 1 - plava, 2 - zelena, 3 - cijan, 4 - crvena, 5 - magenta, 6 - smeđa, 7 - svijetlo siva, 8 - tamno siva, 9 - svijetloplava, 10/a - svijetlozelena, 11/b - svijetlo cijan, 12/c - svijetlocrvena, 13/d - svijetlo magenta, 14/e - svijetlo smeđa, 15/f - bijela.

0 - crna, 1 - plava, 2 - zelena, 3 - cijan, 4 - crvena, 5 - magenta, 6 - smeđa, 7 - svijetlo siva, 8 - tamno siva, 9 - svijetloplava, 10 / a - svijetlo zelena, 11/b - svijetlo cijan, 12/c - svijetlocrvena, 13/d - svijetlo magenta, 14/e - svijetlo smeđa, 15/f – bijela.

U svojoj srži koristit ćemo svijetlosive znakove na crnoj pozadini. Dakle, naš bajt atributa trebao bi biti 0x07.

U prvom while petlja program upisuje prazan znak s atributom 0x07 u svih 80 stupaca od 25 redaka. Tako se ekran briše.

U drugoj while petlji, znakovi niza "moja prva jezgra" zapisuju se u dio video memorije. Za svaki znak, bajt atributa sadrži vrijednost 0x07.

Tako će se linija prikazati na ekranu.

Spojni dio

Ugrađujemo kernel.asm i NASM u objektnu datoteku, a zatim koristimo GCC za prevođenje kernel.c u drugu objektnu datoteku. Sada je naš zadatak povezati ove objekte s izvršnom boot kernelom.

Da bismo to učinili, koristimo eksplicitnu skriptu povezivača koja se može proslijediti kao argument ld (naš linker).

/* * link.ld */ OUTPUT_FORMAT(elf32-i386) ULAZ (početak) SEKCIJE ( . = 0x100000; .tekst: ( *(.text) ) .podaci: ( *(.data) ) .bss: ( *( .bss) ))

*link.ld

OUTPUT_FORMAT (elf32 - i386)

ULAZ (početak)

ODJELCI

0x100000 ;

Tekst : ( * (. tekst ) )

Podaci : ( * (. podaci ) )

Bss: (* (.bss))

Prvo, postavljamo izlazni format izvršne datoteke na 32-bitnu izvršnu datoteku (ELF). PATULJAK- standardni format binarnu datoteku za Sustavi slični Unixu na x86 arhitekturi.

ENTRY uzima jedan argument. Određuje naziv simbola koji bi trebao biti ulazna točka naše izvršne datoteke.

SECTIONS je najvažniji dio gdje definiramo oznaku izvršne datoteke. Ovo određuje kako se različiti odjeljci trebaju kombinirati i gdje će biti postavljeni.

V kovrčave zagrade slijedeći instrukciju SECTIONS, znak točke (.) predstavlja brojač lokacije.

Brojač lokacije je uvijek inicijaliziran na 0x0 na početku bloka SECTIONS. Može se promijeniti dodjeljivanjem nove vrijednosti.

Kao što je već spomenuto, kod kernela mora početi na adresi 0x100000. Dakle, postavili smo brojač lokacije na 0x100000.

Pogledaj sljedeći redak .text: (*(.text))

Zvjezdica (*) je poseban znak koji će odgovarati bilo kojem nazivu datoteke. To jest, izraz *(.text) označava sve odjeljke input.text iz svih ulaznih datoteka.

Dakle, povezivač spaja sve tekstualne odjeljke objektnih datoteka u tekstualni dio izvršne datoteke na adresi pohranjenoj u brojaču lokacija. Odjeljak koda izvršne datoteke počinje od 0x100000.

Nakon što povezivač postavi odjeljak za tekstualni izlaz, vrijednost brojača lokacije postavlja se na 0x1000000 + veličina odjeljka za izlaz teksta.

Isto tako, podaci i bss odjeljci se kombiniraju i stavljaju na vrijednosti brojača lokacija.

grub i multiboot

Sada su sve datoteke potrebne za izgradnju kernela spremne. Ali budući da namjeravamo pokrenuti kernel iz GRUB, potrebna je još jedna stvar.

Postoji standard za dizanje raznih x86 kernela pomoću bootloadera koji se zove Multiboot specifikacija.

GRUB će učitati kernel samo ako zadovoljava Multiboot specifikaciju.

Prema njezinim riječima, kernel mora sadržavati zaglavlje unutar svojih prvih 8 kilobajta.

Osim toga, ovo zaglavlje mora sadržavati 3 dodatna polja:

  • Polje čarobnog broja: sadrži magični broj 0x1BADB002 za identifikaciju zaglavlja.
  • flags polje: ne trebamo ga sada, samo postavite njegovu vrijednost na nulu.
  • polje kontrolnog zbroja: kada je dano, mora vratiti nulu za zbroj s prva dva polja.

Dakle, kernel.asm će izgledati ovako:

;;kernel.asm ;nasm direktiva - 32 bita 32 odjeljak .text ;multiboot spec align 4 dd 0x1BADB002 ; magični brojevi dd 0x00 ;dd zastavice - (0x1BADB002 + 0x00) ; ček zbroj. mh+f+ks mora biti nula globalni početak extern kmain ;kmain definiran u vanjskom početku datoteke: cli ;blok prekida mov esp, stack_space ;poziv pokazivača na stog kmmain hlt ;stop procesor odjeljak .bss resb 8192 ;8KB po stogu stack_space:

; ; zrno. asm

; nasm direktiva - 32 bita

bitovi 32

odjeljak. tekst

; multiboot spec

poravnati 4

dd 0x1BADB002; magični brojevi

dd 0x00; zastave

dd - (0x1BADB002 + 0x00) ; ček zbroj. mh+ f+ ks bi trebao biti nula

globalni početak

vanjski kmmain ; kmmain je definiran u vanjskoj datoteci

početak :

cli ; blokiranje prekida

mov esp , stog _ prostor; pokazivač steka

nazovi km glavni

hlt ; zaustavljanje procesora

Vrhunski povezani članci