Hyvä kirjalöytö poistohyllystä ilmaiseksi

Tein tänään hyvän kirjalöydön poistohyllystä. Kyseessä on Lance A. Leventhalin laadukas teos Z80 Assembly Language Programming. Sain siis tämän klassisen Z80-kirjan ihan ilmaiseksi itselleni:

z80 assembly book front

Tämä kappale on aikoinaan ostettu Akateemisesta Kirjakaupasta ja se on maksanut 169 markkaa:

z80 assembly book back

Nettihuutokauppa eBayn puolella tästä teoksesta pyydetään jenkkilässä jopa lähes 40€ plus postikulut pääälle. Kirja on alunperin julkaistu vuonna 1979 ja se keskittyy nimensä mukaisesti pääasiassa Zilog Z80 mikroprosessorin arkkitehtuurin ja käskykannan kuvaukseen. Luin jo kirjaa jonkin matkaa ja totesin, että se tosiaan on osaksi aikansa kuva. Johdantokappaleissa esitellään peruskäsitteitä kuten assembler-ohjelmia ja korkeamman tason kielten kääntäjiä. Leventhal kertoo, että joissain kääntäjissä on "suuret muistivaatimukset" ja esimerkkinä hän mainitsee, että ne saattavat vaatia jopa 16KB RAM-muistia toimiakseen! Nyt lähes 40 vuotta myöhemmin tuollainen muistivaatimus kuulostaa lähinnä naurettavalta, mutta tuohon aikaan RAM-muisti oli hyvin kallista ja esimerkiksi Atari 400 ja Atari 800 kotitietokoneet oli alunperin tarkoitus julkaista vain 8KB RAM-muistilla, mutta lopulta muistien hintojen laskiessa niitä myytiin täyteen kalustettuna eli 48KB RAM-muistilla. Sinclairin varhaisissa Z80 ja Z81 koneissa oli muistaakseni vakiona RAM-muistia vain 1 kilotavu!

Z80-prosessoriarkkitehtuuri ja käskykanta vaikuttaa laajemmalta ja monipuolisemmalta kuin MOS 6502:n. Kirja on hyvin kattava ja yksityiskohtainen. Siinä on paljon vaikeita asioita, joten täytyy tyytyä silmäilemään osa läpi. En kuitenkaan taida jaksaa alkaa käytännössä ohjelmoimaan Z80-assemblyä, sillä siihen kuluisi liian paljon aikaa, jonka voin käyttää paremminkin C-lähdekoodin parissa Linuxin puolella. Kuten Leventhalkin mainitsee, ainoa tapa oppia Z80-assemblyä on kirjoittaa koodia käytännössä ja ajaa sitä oikealla raudalla tai softaemulaation alaisuudessa. Pelkästään tätä kirjaa pänttäämällä ei synny tuloksia.

Lopuksi täytyy todeta, että onhan Zilog Z80 prosessori kuitenkin legendaarinen CPU, joka oli mm. Colecovision-pelikonsolissa, MSX-tietokoneissa (esim. Spectravideo, Sony, Canon, Toshiba, Hitachi) ja Sinclair ZX Spectrumissa. Tätä kirjoitettaessa perjantaina 13.04.2018 Wikipedia-artikkeli mainitsee, että Z80 prosessoreita valmistetaan yhä edelleenkin. En tiedä mihin niitä käytetään, mutta fakta on tärkeä ja huomattava. Se kertoo siitä, että suunnittelussa on onnistuttu hyvin.