Ofset (počítačová věda) - Offset (computer science)
V počítačové vědě je offsetem v poli nebo jiném objektu datové struktury celé číslo označující vzdálenost (posunutí) mezi začátkem objektu a daným prvkem nebo bodem, pravděpodobně ve stejném objektu. Koncept vzdálenosti je platný pouze v případě, že všechny prvky objektu mají stejnou velikost (obvykle se uvádí v bajtech nebo slovech ).
Například A
jako pole znaků, které obsahuje "abcdef"
, má čtvrtý prvek obsahující znak 'd'
posun tři od začátku A
.
V montážním jazyce
V počítačovém inženýrství a programování na nízké úrovni (například v assembleru ) offset obvykle označuje počet adresních míst přidaných k základní adrese za účelem získání konkrétní absolutní adresy . V tomto (původním) smyslu offsetu se k určení velikosti offsetu používá pouze základní adresová jednotka, obvykle 8bitový bajt . V této souvislosti se offset někdy nazývá relativní adresa .
V pokynech IBM System / 360 poskytoval 12bitový offset vložený do určitých pokynů rozsah mezi 0 a 4096 bajty. Například v rámci instrukce bezpodmínečného větvení (X'47F0Fxxx ') xxx 12bitový hexadecimální posun poskytl posunutí bajtu od základního registru (15) k větvi. Zvláštní lichý posun by způsobil kontrolu programu (pokud samotný základní registr také neobsahoval lichou adresu) - protože instrukce musely být zarovnány na hranici polovičních slov, aby byly provedeny bez přerušení programu nebo hardwaru .
Předchozí příklad popisuje nepřímý způsob adresování do paměťového místa ve formátu segmentu: offset. Předpokládejme například, že chceme odkazovat na umístění paměti 0xF867. Jedním ze způsobů, jak toho lze dosáhnout, je nejprve definovat segment s počáteční adresou 0xF000 a poté definovat posun 0x0867. Dále máme také povoleno posunout hexadecimální segment, abychom dosáhli konečné adresy absolutní paměti. Zde je třeba poznamenat, že naší konečné absolutní adresy můžeme dosáhnout mnoha způsoby.