Elfogultság (számítástechnika)

A számítástechnikában a tömbön vagy más adatszerkezeti objektumon belüli eltolás egy egész szám , amely az objektum kezdete és egy adott elem vagy pont közötti távolságot (eltolást) jelzi, feltehetően ugyanazon az objektumon belül [1] . A távolság fogalma csak akkor érvényes, ha egy objektum minden eleme azonos méretű (általában bájtokban vagy "szavakban" (bájtok vagy bitek rendezett halmaza ) adják meg).

Például a karaktert tartalmazó tömbben a karaktert Atartalmazó "abcdef"negyedik elem 'd'eltolása három a kezdetétől számítva A.

Assembly nyelven

A számítástechnikában és az alacsony szintű programozásban (például assembly nyelven ) az eltolás általában azon címek számát jelenti, amelyeket hozzá kell adni egy alapcímhez egy adott abszolút cím megszerzéséhez . Ez az érték csak az alapcímblokkot, jellemzően egy 8 bites bájtot használja az eltolás méretének meghatározásához. Ebben az összefüggésben az eltolást néha "relatív címnek" nevezik.

Az IBM System/360 utasításokban az egyes utasításokba ágyazott 12 bites eltolás 0 és 4096 bájt közötti tartományt tartalmaz. Például a feltétlen ugrás utasításban (X'47F0Fxxx') a 12 bites "xxx" hexadecimális eltolás egy bájteltolást biztosított a (15) alapregisztertől a [2] elágazásig . A páratlan eltolás programellenőrzést eredményez (kivéve, ha az alapregiszter páratlan címet tartalmaz), mivel az utasításokat félszavas határokhoz kell igazítani ahhoz, hogy szoftveres vagy hardveres megszakítás nélkül lehessen végrehajtani [3] .

Az előző példa egy közvetett módot ír le egy memóriahely elérésére szegmens formátumban: offset. Tegyük fel például, hogy a 0xF867 memóriahelyre szeretnénk hivatkozni. Ennek egyik módja az, hogy először definiálunk egy szegmenst 0xF000 kezdőcímmel, majd definiálunk egy 0x0867 eltolást. Ezenkívül megengedett a hexadecimális szegmens eltolása a végső abszolút memóriacím eléréséhez. Itt meg kell jegyezni, hogy a végső abszolút címet többféleképpen lehet elérni.

Jegyzetek

  1. Dandamudi, Sivarama P., 1955-. Bevezetés az Assembly nyelvű programozásba: Pentium és RISC processzorokhoz . — 2. kiadás. - New York: Springer, 2005. - P. 76. - 1 online forrás (xxiii, 690 oldal) p. — ISBN 0387271554 .
  2. IBM  Tudásközpont . www.ibm.com. Letöltve: 2018. január 8.
  3. Egyszeri adatátvitel (LDR, STR) . www.gaw.ru Letöltve: 2018. január 8.