priser! - Stone Oakvalley Studios
priser! - Stone Oakvalley Studios
priser! - Stone Oakvalley Studios
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Maskinkodekurs for Amiga. Del 5<br />
Av Tonny Espeset<br />
I sist kurs så vi på flagg og betingede<br />
hopp. Dette betyr at vi nå har vært<br />
igjennom den mest sentrale teorien<br />
for å sette i gang å programmere<br />
assembler for alvorl For å gjøre dette<br />
er det viktig å ha en beskrivelse av<br />
alle de mest brukte maskinkodein<br />
struksjonene. Hva gjør man for å<br />
skaffe en slik oversikt? Man kjøper<br />
en rådyr bok om emnet til 400 kroner<br />
ELLER man kjøper dette nummeret<br />
av DNH for en slikk og ingenting og<br />
får en kompaktoversikt GRATISI (Jeg<br />
fortjener en medalje for dette ... )<br />
Syntaks for kommandoer.<br />
Å lære seg de forskjellige kommandoene er<br />
langt enklere enn å forstå det vi hittil har vært<br />
igjennom. Har du klart å følge med så langt er det<br />
verste overstått.<br />
Det som er viktig å merke seg er at resultatet av<br />
en utført instruksjon ALL TID legges i registeret!<br />
adressen angitt på den høyre delen etter komma.<br />
Det som befinner seg på venstre del foran komma<br />
er ALL TID uforandret. Den venstre delen blir<br />
referert til som Source og den høyre som<br />
Destination. Disse kan variere av type.<br />
Eks:<br />
OOVE . W D7 , DO ; Innholdet i D7<br />
legges i DO<br />
SUB .L #1,$1000 ;Innholdet i longwordet<br />
som ligger i adresse<br />
$1000 og utover<br />
subtraheres med 1.<br />
Noen steder kan man bruke både adresseregis<br />
ter, dataregister, en adresse eller direkte adresse<br />
ring mens andre steder kan man bare bruke et<br />
utvalg av disse.<br />
Eks:<br />
ADO.W AO , $1000 ;Denne er ulovlig,<br />
ADD.W DO , $1000 ;mens denne er lovlig .. .<br />
Det virker kanskje noe vanskelig å måtte holde<br />
styr på hvilke kombinasjoner som er lov og ikke,<br />
men denne jobben klarer assembleren fint. Du får<br />
en grei feilmelding hvis den brukte kombinasjo<br />
nen ikke er defmert. Da er det bare å se seg om<br />
etter en annen kombinasj on. Jeg har da heller ikke '<br />
skrevet hvilke kombinasjoner som er lovlige<br />
siden dette ville ta opp unødig mye plass.<br />
Som jeg har vært igjennom i et tidligere kurs<br />
kan du også bestemme hvor mange bits som skal<br />
bli påvirket av instruksjonen (med attributtene<br />
.B, .W og .L). Bare pass på å ikke skrive et word<br />
eller longword til en odde adresse, da vil antåge<br />
lig maskinen låse seg.<br />
Til en del av instruksjonene følger det med<br />
eksempel. Disse er av hensyn til plassen ikke<br />
avsluttet med en R TS instruksj on. Med mindre du<br />
bruker Trace funksjonen (S