Masinakeel: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Resümee puudub
1. rida:
{{toimeta|kuup=aprill 2006}}
 
[[Masinkood]] ehk masinkeel on [[programmeerimiskeel]], mis on [[arvuti]] [[protsessor]]ile otseselt arusaadav. Masinkood ei ole inimestele kergesti loetav, kuid mõnel juhul on seda võimalik loetavaks teha [[dekompilaator]]i või [[disassembler]]i abil. Teistes programmeerimiskeeltes kirjutatud programmid kas tõlgitakse masinkoodi või käivitatakse masinkoodis kirjutatud interpretaatori[[interpretaator]]i abil, otse kirjutatakse masinkoodi erandjuhtudel.
 
==Tehniline seletus==
 
Kuigi masinakood võib tunduda sarnasena [[assemblerkeel]]ele, on need siiski erinevad keeled. [[Assembler]]i [[lähtekood]] koosneb nii [[kahendkood]]ist kui ka protsessori käskude[[masinakäsk]]ude mnemokoodidest, kuid masinakood koosneb ainult numbritest 0 ja 1. Igal protsessori tüübil on oma masinakeel, kuigi see sageli suuresti kattub. Kui protsessor A mõistab täielikult protsessori B masinkoodi, öeldakse, et A ühildub ehk on kompatiibel (''compatible'') B-ga. Seejuures B ei pruugi ühilduda A-ga, A võib teada koode, mida B ei tea. Samuti võivad kaks protsessorit ühilduda kolmandaga, aga mitte omavahel. Protsessoriga ühilduv assembler on assembler, mis tõlgib assemblerkeeles programmi protsessori masinakeelde ehk masinakoodi.
 
Masinakoodi ehk masinakeele "sõnade" teiseks nimetuseks on [[masinakäsk|masinakäsud]] ehk ''instruktsioonid''. Assemblerkeelne või masinkoodis [[arvutiprogramm]] pole muud kui pikk nimekiri üksikutest masinakäskudest, mida protsessor täidab. Vanemad protsessorid täitsid masinakäske ainult [[jadamisi]], kuid osa tänapäevaseid protsessoreid suudab täita ka mitut käsku samaaegselt, seega kiiremini. Programmi masinakoodi ei pruugi protsessor täita järjestikku, vaid võib käskude täitmisel hüpata vastavalt programmile ühest kohast teise vastavalt täidetavas programmis olevate [[siirdekäsk]]udele (''jump'' ehk ''goto'', ''call'', ''return'') või vastavalt sündmustele (välisseadmetelt saadud [[katkestussignaal]]ide järgi).