From Wikipedia, the free encyclopedia
Zema līmeņa programmēšanas valoda ir programmēšanas valoda, kas nodrošina mazu vai nekādu abstrakciju no datora instrukciju kopas arhitektūras, proti, zema līmeņa programmēšanas valodā rakstītās instrukcijas ir strukturāli līdzīgas noteiktā procesora instrukcijām. Faktiski var apgalvot, ka zemā līmeņa valodas ir "tuvāk" mašīnai, proti, datora aparatūrai, bet "tālāk" no cilvēka jeb šajā gadījumā - programmētāja. Zema līmeņa valodā rakstīto instrukciju izpildes laiks ir ļoti ātrs, kas ir viena no galvenajām šī līmeņa valodas priekšrocībām.[1] Papildus tam zemā līmenī izstrādātas datorprogrammas var darboties, izmantojot ļoti minimālu datora atmiņas daļu.[2]
Atšķirībā no augsta līmeņa programmēšanas valodām, kuras izmanto vairums programmētāju datorprogrammas izveides procesā, zemā līmeņa kods ir šifrēts un cilvēkam nav lasāms.[3] Tāpat zemā līmeņa valodā rakstīta koda izmanotjamība aprobežojas konkrētās ierīces piedāvātajā funkcionalitātē. Citiem vārdiem sakot, šādas programmas ir "nepārnesamas", jo tās ir optimizētas konkrētās ierīces sistēmas arhitektūrai.
Tajā brīdī, kad augstāka līmeņa valodā rakstītās instrukcijas tiek deleģētas datora aparatūras vienībām to izpildei, tiek izmantots specifisks komunikācijas veids, ko datorzinātnēs definē kā asemblera valodu jeb montāžas valodu. Zemā līmeņa valodām atšķirībā no augstā līmeņa programmēšanas valodām nav nepieciesams kompilators vai specializēts koda tulks, jo šajā gadījumā datora procesors spēj tiešā veidā nolasīt un atbilstoši interpretēt zemā līmeņa valodā rakstītās programmas.[4]
Datorzinātnēs zemā līmeņa valodu kritērijiem atbilst divas valodas. Par pirmās paaudzes valodām, kuru darbībai nav nepieciešamas papildus darbības kā komiplēšana vai interpretēšana, ir mašīnvalodas jeb mašīnkodi. Savukārt otrās paaudzes zemā līmeņa programmēšanas valoda tiek dēvēta par asamblervalodu. Otrās paaudzes valodā ir integrētas tādas pašas instrukcijas kā mašīnkodā, bet atšķirībā no mašīnkoda, asamblervalodas sintaksē instrukcijas un mainīgie tiek definēti izmantojot arī vārdu simbolus jeb īsas abreviatūras, piemēram, "Add", "sub", "Mul" u.c. attiecīgi saskaitīšanas, atņemšanas un reizināšanas darbību izpildei, ne tikai bināros ciparus.[5]
Zemā līmeņa programmēšanas valodas tiek izmantotas ikreiz, kad augstā līmeņa programmēšanas valodās kā PHP, #C u.c. izstrādātās lietojumprogrammas darbojas, pārvalda un maina datora aparatūru un instrukciju kopas arhitektūru. Avota kods var tikt sagatavots, izmantojot vienkāršu teksta redaktoru vai integrēto izstrādes vidi (IDE), piemēram, programmēšanas valodai Java pielāgoto Eclipse vidi. Datora procesors nespēj atpazīt programmas izstrādātajā sagatavoto avota kodu tiešā veidā, tāpēc pēc tā izstrādes avota kods tiek kompilēts zemā līmeņa valodas skriptā.[3] Augstā līmeņa valodā izstrādātas programmas tiek tulkotas mašīnkodā, izmantojot kompilētāju vai interpretētāju, bet asemblervalodas gadījumā - asembleru.[6]
Mašīnkods ir instrukciju kopums, ko centrālais procesors saprot tieši un var rīkoties saskaņā ar to. Programma, kas rakstīta mašīnkodā, sastāv tikai no 0 un 1 — binārajiem cipariem. To ir ļoti grūti uzrakstīt un atkļūdot (angļu val. debug). Pat ļoti vienkāršā programmā var būt tūkstošiem 0 un 1.[7]
Piemēram, lai datorsistēmā ierakstītu skaitli 120, tā attēlojums ir mašīnkodā jeb binārajā izteiksmē ir 1111000. Šī iemesla dēļ to ir ļoti grūti iemācīties. Lai pārvarētu šo problēmu, tika izgudrota asamblervaloda.[5]
Galvenās mašīnkoda priekšrocības ir ātrums un tiešā piekļuve datora aparatūrai. Savukārt galvenie mašīnkoda trūkumi ir uzskaitīti zemāk[1]:
Teksta "Hello World" (latviešu val. "Sveika Pasaule") izteiksme mašīnkodā ir[8]:
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 |
---|
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.