Ehkä monimutkaisin asia, jonka tietokoneesta opin nuorena, oli indeksoidusti epäsuoran ja epäsuorasti indeksoidun osoituksen ero. 6502:n konekielessähän on tietysti normaali suora osoitus "LDA 1020" eli tietystä muistipaikasta ladataan sisältö sekä indeksoitu osoitus "LDA 1020,X" jossa muistipaikan osoite saadaan lisäämällä vakioon X-indeksin arvo. Lisäksi on epäsuora osoitus "LDA (10)", jossa muistipaikkojen 10 ja 11 arvot yhdistetään, saatua arvoa käsitellään muistipaikan osoitteena ja siitä ladataan sisältö. Tästä on sitten epäsuorasti indeksoitu muoto "LDA (10),X", mutta on myös indeksoidusti epäsuora eli "LDA (10,Y)", jossa ensin vakioon 10 lisätään Y-indeksin arvo, ja jos Y on esim. 3, käsitellään muistipaikkojen 13 ja 14 sisältö osoitteena ja ladataan sieltä sisältö.

Minua on pohdituttanut mitä olisi tapahtunut, jos olisi ollut netti. Minähän en voinut opiskella noita oikein mistään. Tuonkin opin sattumalta, kun kirjastossa oli sattumoisin konekielen oppikirja. Entä jos olisi ollut joku toinen samasta asiasta innostunut, tai netti josta kaivaa tietoa? Mitä tapahtuu nykypäivän Joreille? Onko sittenkin liikaakin tietoa, eikä tule keskityttyä mihinkään?

* * *

Jotta minua ei luultaisi miksikään suurguruksi, heitän lopuksi esimerkin sellaisesta. 6502:n konekielessä on muistaakseni 153 komentoa. Komento JNE (muistaakseni) hyppää esim. 10 askelta taaksepäin, mutta assemblerilla saattoi sanoa "JNE 1020", ja jos tuon syötti muistipaikassa 1030, laski assembler arvon (siis -10) itse.

Tiedän kaverin, jolla ei ollut assembleria. Hän opetteli komentojen heksadesimaalikoodit kirjasta ulkoa, ja laski ohjelmaa tehdessään päässään nuo hyppyaskeleet eteen- ja taaksepäin. Sellainen on oikea guru.