· Text 686 · w8 · inlagg
För att bli intresserad av assembler måste man veta lite om fördelarna
med språket.
Jag tycker faktiskt att man på en gång lika gärna kan sätta sig in lite
i hur datorn jobbar (processorn med sina register och adresserinsmoder
åtminstone och varför inte känna lite på MIKROPROGRAMMET som utför
assemblerinstruktionerna)
Jag har aldrig programmerat Z80 så jag överlåter redogörelsen betr. olika
adresseringssätt, men detta måste man ta med i början.
Fick sån lust att berätta lite om det så sällan omtalade mikroprogrammet;;
Om man är en lycklig person så har man en s.k. "assemblator" som översätter
de ord-instruktioner (mnemonics) man fått fram till en sifferkod som
avkodaren i cpu:t kan förstå. Ett vanligt mellansteg före den ofrånkomliga
binärkoden är "hexkod" som lätt kan översättas till binärkod.
Basen i hexkod är 16, och tecknen 0 - 9 samt A - F.
Nåväl, man tänker sig att man är en ström av ettor och nollor som av
"programräknaren" -ett register som normalt räknar framåt marsch, hämtats
ur en position i minnet och via ett dataregister plötsligt finner sig
själv på databussen, en massa trådar - en tråd för varje etta eller nolla.
Nyfiket följer man sen sin framfart över bussen och innan man vet "ordet
av" så sitter man ohjälpligt fast i "instruktionsregistret" i kontrollenhet
i cpu. Nu får man om inte förr lära känna sig själv, det visar sig att
man är en OPERATIONSKOD som avkodaren börjar smaska i sig av.
Jasså, är jag en operationskod, vae är det då och vad händer nu.
Tanken är knappt färdigtänkt förrän ett litet program "som alltid finns
där" hoppat till en rutin, bara för min skull.
Jag frågade programmet, det hette "mikro" och hade lika många rutiner
som alla mina kompisar där borta i minnet om man undantar alla tvillingar.
Dessutom fanns det där hoppet förstås.
Sen hände allting snabbt, jag förvandlades till en "signalföljd" som
öppnade vägen för en ansamling ettor och nollor i ett "register", via
"internbussen" i cpu till ett annat register där en annan ansamling brutalt
förintades.
Ja, det var faktiskt allt, själv förintas jag men min "själ" finns kvar
i minnet.
Så lång historia om så lite, ja så kan det bli när man dristar sig att
kika under assemblernivån, kanske kul att nån gång ha gjort det innan
man kavlar upp ärmarna för programmering?
Vem redogör för fördelar med assembler och adresseringssätt?