Strojni jezik je jezik niske razine sastavljen od binarnih brojeva ili bitova koje računalo može razumjeti. Također je poznat kao strojni kod ili objektni kod i izuzetno ga je teško razumjeti. Jedini jezik koji računalo razumije je strojni jezik. Svi programi i programski jezici, kao što su Swift i C++, proizvode ili pokreću programe u strojnom jeziku prije nego što se pokrenu na računalu. Kada se izvrši određeni zadatak, čak i najmanji proces, strojni jezik se prenosi u procesor sustava. Računala mogu razumjeti samo binarne podatke jer su digitalni uređaji.
U računalu su svi podaci poput videa, programa, slika predstavljeni u binarnom obliku. CPU obrađuje ovaj strojni kod ili binarne podatke kao ulaz. Zatim, aplikacija ili operativni sustav dobiva rezultat od CPU-a i prikazuje ga vizualno. Na primjer, ASCII kod 01000001 predstavlja slovo 'A' u strojnom jeziku, a ipak se na zaslonu prikazuje kao 'A'.
Različite procesorske arhitekture koriste različite strojne kodove; međutim, strojni kod uključuje 1s i 0s. Na primjer, u usporedbi s Intel x86 procesorom koji sadrži CISC arhitekturu, PowerPC procesor treba drugačiji kod koji sadrži RISC arhitekturu. Za ispravnu arhitekturu procesora, kako bi se program ispravno izvodio, kompajler mora kompilirati izvorni kod visoke razine.
pronalaženje niza c++
Za program ili radnju, točan strojni jezik može se razlikovati ovisno o operativnom sustavu, što opisuje kako kompajler zapisuje akciju u strojni jezik. Slično tome, fotografija ima preko desetaka tisuća binarnih podataka koji određuju boju svakog piksela.
Računalni programi izrađuju se u jednom ili više programskih jezika (na primjer, Java, C++ ili Visual Basic). Programski kod treba biti sastavljen tako da ga računalo može razumjeti, budući da programske jezike koji se koriste za izradu računalnih programa računalo ne može izravno razumjeti. Kada se kod programa kompajlira, pretvara se u
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
strojni jezik, tako da ga računalo može razumjeti.
java učiniti dok
Primjeri strojnog jezika
tekst ' Pozdrav svijete ' bilo bi napisano u strojnom jeziku:
Dolje je dan još jedan primjer strojnog jezika koji će prikazati slovo 'A' 1000 puta na ekranu.
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Izvršenje strojnog koda
Svaka obitelj procesora slijedi skup instrukcija koje su posebno programirane, a te su instrukcije postavljene strojnim kodom. Sve manje djelotvorne komponente, komponente koje čine cjelokupno funkcioniranje stroja, određene su posebnim rasporedom osnovnih jedinica. Sve temeljne informacijske jedinice predstavljene su u binarnom obliku, koji ima jednu ili dvije vrijednosti '1' ili '0.' Budući da svaka klasa procesora zahtijeva strukturnu konfiguraciju koja odgovara njezinom jedinstvenom skupu instrukcija, osnovni skupovi instrukcija konfiguracije strojnog koda povezani su sa slično usklađenim klasama procesora.
ulančavanje nizova
Upotreba strojnog jezika
Uobičajene upotrebe strojnog jezika razmatraju se u nastavku:
- Strojni jezik je jezik niske razine koji strojevi razumiju, ali ga ljudi mogu dešifrirati pomoću asemblera.
- Kompajler igra važnu ulogu između ljudi i računala jer pretvara strojni jezik u drugi kod ili jezik koji je razumljiv ljudima.
- Asemblerski jezik posvećen je razumijevanju strojnog jezika budući da je njegova kopija.
Razlika između strojnog jezika i asemblerskog jezika
Postoje različite razlike između strojnog jezika i asemblerskog jezika. U nastavku je dana tablica koja sadrži sve razlike među njima.
Strojni jezik | asemblerski jezik |
---|---|
Strojni jezik je programski jezik niske razine sastavljen od binarnih brojeva ili bitova koje mogu čitati samo strojevi. Također je poznat kao strojni kod ili objektni kod, u kojem CPU izravno izvršava upute. | Asemblerski jezik je jezik samo za ljude koji računala ne razumiju. Kao rezultat toga, djeluje kao poveznica između programskih jezika visoke razine i strojnih jezika, zahtijevajući korištenje asemblera za pretvaranje instrukcija u strojni ili objektni kod. |
Strojni jezik uključuje binarne znamenke (0 i 1), heksadecimalne i oktalne decimalne, koje mogu razumjeti samo računala, a ljudi ih ne mogu dešifrirati. | Mnemotehnike kao što su Mov, Add, Sub, End i druge čine asemblerski jezik koji ljudi mogu razumjeti, koristiti i primijeniti. |
U strojnom jeziku, ispravljanje grešaka i modifikacije se ne mogu izvršiti, a značajke strojnih jezika variraju u skladu s tim. | Asemblerski jezik ima konvencionalne skupove instrukcija, kao i mogućnost ispravljanja pogrešaka i modificiranja programa. |
Strojni jezici ovise o platformi i ljudima ih je vrlo teško razumjeti. | Sintakse asemblerskih jezika slične su engleskom jeziku; stoga ga je čovjeku lako razumjeti. |
Strojni jezik nije moguće naučiti jer ga je teško zapamtiti i služi samo kao strojni kod. | Asemblerski jezik je lako zapamtiti, a koristi se za aplikacije/uređaje temeljene na mikroprocesorima i sustave u stvarnom vremenu. |
U strojnom jeziku, svi podaci prisutni su u binarnom formatu što ih čini brzim u izvršenju. | U usporedbi sa strojnim jezikom, brzina izvršavanja asemblerskog jezika je spora. |
Strojni jezik koristi sekvence bitova za davanje naredbi. Nula predstavlja isključeno ili lažno stanje, dok jedan predstavlja uključeno ili stvarno stanje. Pretvorba programskog jezika visoke razine u strojni jezik ovisi o CPU-u. | Umjesto korištenja sirovih nizova bitova, asemblerski jezik koristi 'mnemotehnička' imena i simbole; stoga korisnici ne moraju pamtiti op-kodove s asemblerskim jezikom. U asemblerskim jezicima ljudi mogu preslikati kod u strojni kod, a kodovi su malo čitljiviji |
Programski jezici prve generacije su strojni jezici, kojima nije potreban prevoditelj. | Druga generacija programskih jezika su asemblerski jezici, koji koriste asembler kao prevoditelj za pretvaranje mnemotehnike u strojno razumljiv oblik. |
Strojni jezik ovisi o hardveru i ne dopušta modifikacije. | Asemblerski jezik nije prenosiv, ovisan je o stroju i može se lako mijenjati. |
U sintaksi strojnog jezika postoji više šanse za pogreške. | U usporedbi sa strojnim jezikom, manje su šanse sintaktičkih pogrešaka u asemblerskom jeziku. |