A GPSS-ben az alkotóelemek – a blokkokat is beleértve
– végső soron sorszámuk alapján meghatározottak.
E sorszám közvetlen vagy közvetett megadásával
bármely alkotóelem elérhető. Lehetőség
van azonban e sorszámokhoz szimbólumokat hozzárendelni.
A hozzárendelés után a szimbólum a sorszámot
helyettesíti.
A sorszámok - alkotóelemenként külön-külön
– mindig 1-től kezdődnek, és folyamatosan egyesével
növekedve a számukra engedélyezett maximális
darabszámig tartanak.
A címzés célja egy adott alkotóelem elérése.
Az alkotóelem típusa mindig meghatározott a típusával
vagy az operandus helyével. Az alkotóelemeknek tehát
a sorszáma érdekes. Ezt többfajta címzéssel
adhatjuk meg. Ezek a címzési módok azonban nem minden
blokkban, nem minden operanusban alkalmazhatók egyformán
. Azt, hogy egy adott operandusban mely címzési mód
megengedett, azt a k, *n, SNAj, SNA$SYM, és SYM jelekkel fogjuk jelezni.
Valamelyik hiánya a neki megfelelő címzési mód
tiltottságát jelzi.
Direkt címzés. Az alkotóelemre történő
hivatkozás a sorszám közvetlen megadásával
történik. Blokkok esetén ez a sorszám a programlista
2..6 oszlopában található. Más alkotóelemek
sorszámai kiíratva nem jelennek meg. Alkalmazásának
lehetőségét k-val jelöljük.
Indirekt címzés. Az indirekt címzés lényege
az, hogy ha egy számot adunk meg, az még nem (közvetlenül)
az alkotóelem sorszáma lesz, hanem csak kijelöl egy
tárterületet, ahol az igazi sorszám megtalálható.
Ilyenfajta címzés a GPSS-ben háromféle van:
- Paraméteren keresztül. Ilyenkor a megadott szám
egy paraméter sorszámának felel meg (méghozzá
mindig a szóban forgó tranzakció paramétereiről
van szó), és ennek tartalma adja a tényleges sorszámot.
Alkalmazásának lehetőségét *n-nel jelöltük.
- Egy SNA-n keresztül. Ilyenkor meg kell adnunk az SNA jelét
és sorszámát. Ezen SNA tartalma adja a végső
címet. Alkalmazásának lehetőségét
SNAj-vel jelöljük.
- Paraméteren és SNA-n keresztül. (Kettős indirekt
címzés) Ilyenkor az előbbi kettő kombinációját
alkalmazzuk paraméter – SNA sorrendben. A SNA jelét egy paraméter
sorszáma követi. Az SNA jele és a jelzett paraméter
tartalma egy SNA-t jelöl ki. Az SNA tartalma adja meg a végső
sorszámot (azaz a paraméter tartalma által meghatározott
SNA tartalma által kijelölt alkotóelemről van
szó). Alkalmazásának lehetőségét
SNA *n-nel jelöltük.
- Szimbolikus címzés. A szimbólum 3..5 alfanumerikus
karakterből áll, amelynek első három karaktere
csak betű lehet. Erre a megkötésre azért van szükség,
hogy a szimbólumok még véletlenül se essenek
egybe az SNA-kkal. A szimbólum és a sorszám egymáshoz
rendelése vagy az EQU utasítás segítségével,
vagy automatikusan történik. Az utóbbi esetben a szimbólumok
alkotóelem-típusonként különálló
csoportokat alkotnak (pl. az AAA szimbólum blokkoknál egészen
más sorszámot jelenthet, mint kiszolgálóegységeknél
vagy függvényeknél). Egy-egy alkotóelem-típuson
belül egy szimbólumot a legnagyobb lefoglalt sorszámot
követő sorszámhoz kell hozzárendelni. Ilyen szempontból
a feldolgozás a lyukkártyák (így tehát
a hivatkozások) beolvasásának sorrendjében
történik. A szimbólumok és a hozzájuk
rendelt sorszámok az alkotóelem-típusok szerint rendezve
ábécésorrendben mindig megjelennek a programlistában.
Kiértékeléskor a szimbólum mindig helyettesítődik
a neki megfelelő sorszámmal. Alkalmazásának
lehetőségét SYM-mel jelöljük.
- Relatív címzés. Csak a szimbolikus címzéssel
együtt alkalmazható. Ekkor is csak SYM±k formában,
ahol k egy pozitív egész szám. A sorszám ilyenkor
mindig a szimbólumnak megfelelő sorszám plusz/mínusz
k lesz. Alkalmazni mindig csak akkor lehet, mikor a szimbolikus
címzés is megengedett. A blokkok relatív címzésének
egy speciális esete, mikor nem adunk meg szimbólumot, hanem
a blokk sorszámát, ahol a szóban forgó relatív
cím megjelenik, *-gal jelezzük, és ehhez adunk hozzá
vagy vonunk le egy konstanst: *±k alakban (pl. a TRANSFER, *+3 az
e blokkra következő 3. blokkra ugratja át a tranzakciót).
- Szimbolikus indirekt címzés. Ilyenkor a szimbólumnak
megfelelő sorszám egy SNA-t jelöl ki, és ennek
tartalma adja a végső sorszámot. Az SNA jelét
és a Szimbólumot egy $ kapcsolja össze (így különbözik
a SALAK szimbólum a S$ALAK-tól, azaz az ALAK nevű raktár
pillanatnyi tartalmától). Alkalmazásának lehetőségét
SNA$SYM-mel jelöljük.