Label (ohjelmointi)

Label ( englanninkielinen  etiketti ) - symbolinen nimi, tunniste tietojen ja koodin helpompaan osoittamiseen ohjelmointikielillä . Antaa ohjelmoijan tehdä ilman osoitteiden ja siirtymien laskemista ja uudelleenlaskentaa ohjelman sisällä ( kääntäjä suorittaa nämä toiminnot hänen puolestaan ). Huolimatta siitä, että useimmat korkean tason ohjelmointikielet tukevat etikettitoimintoja, niiden käyttö on erittäin epätoivottavaa, koska ohjelmakoodista tulee huonosti luettavissa ja tällaisen ohjelman virheenkorjaus vie enemmän aikaa.

Käännettäessä jokainen nimiö liittyy tiettyyn osoitteeseen (numeroon), joka syötetään suoritettavaan moduuliin. Näin kääntäjä voi tarvittaessa laskea merkkien välisen poikkeaman (osoiteeron).

Useimmissa ohjelmointikielissä tarran muoto on seuraava:

merkin nimi:

Ensin tulee tarran nimi (myös kirjoitettu tiettyjen sääntöjen mukaan - ohjelmointikielestä riippuen), sitten kaksoispiste, sitten koodi tai tiedot, joihin tarran nimi pääsee käsiksi.

Esimerkki

;… mov eax , offset data jmp label_2 label_1: ;… label_2: ;… data: db "Hei ! " , 0

Kokoonpanon aikana tietonimike kartoitetaan numeroon ("Hei!"-merkkijonon ensimmäisen tavun osoitteeseen), ja "offset data " -arvon sijaan tämä numero kirjoitetaan ensimmäiselle riville.

Esimerkin toisella rivillä tehdään ehdoton hyppy otsikkoa label_2 seuraaviin ohjeisiin. Jos osoite on absoluuttinen (eli hyppykomennon argumentti on itse osoite), toisella rivillä on tunnisteen nimi_2 osoite etiketin_2 sijaan. Jos siirtymä on suhteellinen (asetettu siirtymällä nykyiseen tunnisteeseen), samalla (toisella) rivillä oleva tunniste_2 korvataan osoiteerolla (tunniste_2 - nimike_1), eli tarrojen välisellä siirrolla.

Katso myös