Топ-100
Back

ⓘ Zbirni jezik je nizkonivojski programski jezik druge generacije – prve generacije je strojna koda – ki je napisan s pomniki. Splošno velja, da ti pomniki predst ..



Zbirni jezik
                                     

ⓘ Zbirni jezik

Zbirni jezik je nizkonivojski programski jezik druge generacije – prve generacije je strojna koda – ki je napisan s pomniki. Splošno velja, da ti pomniki predstavljajo berljive enačice dvojiških zaporedij, ki jih je treba sestaviti, da dobimo za osrednje preračunalo razumljive ukaze. Natančno gledano, pomniki predstavljajo ukazne nize, ki so v osrednjem preračunalu sestavljeni iz ISA. Te ukaze pa je nato navadno treba povezati z določeno skladnjo, da dobimo delujoč in izvršljiv program. Določene programske opreme zbirnikov, kakor je za zgled FASM, samo zamenjajo pomnike in spremenljivke z ustreznimi ukazi v strojnem programskem jeziku. Tako se dobi ploske izvršilne datoteke, ki vsebujejo strojne ukazne nize z izjemno postopkovno uspešnostjo.

Zbirni jezik predstavlja najboljši približek dobesednemu prevodu navodil, ki jih računalnik izvaja, v človeku razumljivo obliko. Reklo bi se lahko tudi, da je zbirni jezik oče vseh drugih programskih jezikov, saj se vsi jeziki, ki uporabljajo prevajalnik, prevajajo v zbirni jezik vendar pa večina prevajalnikov teh jezikov ukaze samodejno po koncu prevajanja še sestavi in poveže.

Kot nizkonivojski programski jezik, je jezikoslovje sestavljalnika vezano na specifičen tip računalnika. Na primer jezikoslovje zbirnika za Intelove procesorje na kratko" x86 zbirnik "izdeluje programe, ki lahko tečejo samo na Intelovih in vseh Intelovim skladnih procesorjih, vendar pa je ob tem vredno pomniti da to velja tudi za vso že prevedeno kodo višjenivojskih jezikov.

Dandanes ima velika večina računalnikov medsebojno skladno strojno opremo, ampak medsebojno neskladno programsko opremo. V taki situaciji ima zbirni jezik v prenosljivosti prednost pred višjenivojski, saj ni nujno vezana na programsko opremo.

Zaradi svoje neposrednosti ima zbirni jezik lahko tudi druge prednost, saj lahko programer v zbirniku naredi vse kar je izvedljivo v vseh višjenivojskih programskih jezikih skupaj. Iz podobnih razlogov je možno vsak obstoječi sestavljen program razstaviti nazaj v zbirno obliko.

                                     

1. Jezikoslovje zbirnega programskega jezika

Jezikoslovje tega jezika temelji na strojni kodi v katero se ta le-ta neposredno sestavlja. V določenih primerih je strojna koda v predstavitvi kot človeku razumljivo besedilo poenostavljena, zato da je delovanje jezika bolj intuitivno.

Način delovanja procesorja se odraža v jeziku nekako takole:

  • iz procesorja v druge naprave
  • med deli procesorja
  • iz spomina v procesor
  • Premikanje podatkov MOV
  • logične operacije
  • primerjave
  • računske operacije
  • Delo s podatki
  • Spreminjanje poteka programa
  • Skok na drugo mesto v programu pod pogojem
  • Skok na drugo mesto v programu JMP

Poleg teh osnovnih mnemonov pa različni procesorji vsebujejo stotine specializiranih mnemonov, ki delujejo kot bližnjice v pri bolj zapletenih problemih. Z podrobnejše informacije o le-teh je navadno na voljo dokumentacija procesorja.

Pri zbirnem jeziku ni vsiljenih pomnilniških struktur, posledično pa tudi ne spremenljivk ali podprogramov. Vso naslavljanje kje se iščejo podatki in kje se naj nadaljuje program pri skokih se zato opravlja samo na podlagi razdalje od izhodiščne točke, ki se nahaja na začetku programa, termin za to pa je" odmik ". Ta odmik se v programski kodi piše skrajno levo, podbno kot oštevilčevanje pri programskem jeziku BASIC. Podobno kot pri BASICu, je tudi pri zbirnem jeziku obvezno označevanje opuščeno in lahko se uporablja kose besedila, ki jih zbirnik potem sam zamenja z primernimi številčnimi odmiki.

                                     

2. Primer programa v zbirniku

Tole je primer" živijo svet "programa v Ploščatem Zbirniku FASM:

format PE GUI 4.0 include win32ax.inc.code invoke MessageBox,HWND_DESKTOP,"Zivijo svet! ", "Program Zivijo Svet ",MB_OK invoke ExitProcess,0

Soroden primer programske opreme" živijo svet ", v ELF zapisu, brez pred definiranih makroinstrukcij mnemonikov:

format ELF executable entry Zacni segment readable executable Zacni: MOV EAX,4 MOV EBX,1 MOV ECX,SPOROCILO MOV EDX,VELIKOST INT 0x80 MOV EAX,1 XOR EBX,EBX INT 0x80 segment readable writeable SPOROCILO DB Zivijo svet!,0xA VELIKOST = $-SPOROCILO

Tule pa je primer DLLja napisanega v Ploščatem Zbirniku FASM:

format PE GUI 4.0 DLL entry DllEntryPoint include win32axp.inc section.code executable readable proc DllEntryPoint hinstDLL,fdwReason,lpvReserved mov eax,TRUE ret endp proc Encrypt dataBuffer,dataLenght mov esi, al:004012B4 61 popad:004012B5 6C insb:004012B6 6C insb:004012B7 65 BYTE 065h

Pri čemer prvi stolpec kaže odmik, drugi stolpec heksadecimalno predstavitev nerazstavljene kode, zadnji pa razstavljene mnemone z parametri.

                                     

3. Zunanje povezave

  • Uvod v programiranje v zbirnem jeziku
  • FlatAssembler.Net - Spletna stran Ploščatega Zbirnika
  • ProgrammersHeaven - Stran z primeri in vodiči kako pisati programe v zbirniku
Free and no ads
no need to download or install

Pino - logical board game which is based on tactics and strategy. In general this is a remix of chess, checkers and corners. The game develops imagination, concentration, teaches how to solve tasks, plan their own actions and of course to think logically. It does not matter how much pieces you have, the main thing is how they are placement!

online intellectual game →