Etiket (programmering)

Etiket ( engelsk  etiket ) - et symbolsk navn, en identifikator for mere bekvem indikation af data og kode på programmeringssprog . Tillader programmøren at undvære at beregne og genberegne adresser og forskydninger i programmet ( kompileren udfører disse handlinger for ham ). På trods af det faktum, at de fleste programmeringssprog på højt niveau understøtter etiketoperationer, er deres brug yderst uønsket, da programkoden bliver dårligt læsbar, og fejlretning af et sådant program tager mere tid.

Ved kompilering er hver etiket tilknyttet en bestemt adresse (nummer), som indtastes i det eksekverbare modul. Således kan compileren om nødvendigt beregne offset mellem mærker (adresseforskel).

I de fleste programmeringssprog er etiketformatet som følger:

tag_name:

Først kommer navnet på etiketten (også skrevet efter visse regler - afhængigt af programmeringssproget), derefter et kolon, derefter koden eller dataene, som vil blive tilgået af navnet på etiketten.

Eksempel

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

Under assemblering vil dataetiketten blive afbildet til et nummer (adressen på den første byte i "Hej!") strengen, og i stedet for 'offset data ' vil dette nummer blive skrevet i den første linje.

I eksemplets anden linje foretages et ubetinget spring til instruktionerne efter label_2-etiketten. Hvis adressen er absolut (dvs. jump-kommandoargumentet er selve adressen), så vil den anden linje indeholde adressen på label_2 labelen i stedet for label_2. Hvis overgangen er relativ (sat med en forskydning i forhold til den aktuelle etiket), så vil label_2 i samme (anden) linje blive erstattet af adresseforskellen (label_2 - label_1), dvs. forskydningen mellem etiketterne.

Se også