28.07.2013 Views

priser! - Stone Oakvalley Studios

priser! - Stone Oakvalley Studios

priser! - Stone Oakvalley Studios

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Maskinkodekurs for Amiga. Del 5<br />

Fortsatt fra forrige side<br />

Deler med og tolker<br />

tallene som positive eller negative. De <br />

tolkes alltid som word og som<br />

longword. Svaret er også alltid et longword. Det<br />

øverste wordet (mest signifikante) brukes for å<br />

lagre en eventuell rest.<br />

DIVU ,<br />

(DIVide Unsigned)<br />

Samme som DI VS men tallene blir alltid tolket<br />

som positive. Denne instruksjonen er noe raskere<br />

enn DIVS men begge er svært trege og man bør<br />

unngå å bruke dem hvis mulig.<br />

EXG ,<br />

(EXchanGe registers)<br />

AxlDx (AO-A 7/D0-D7) vil få verdien til Ay/Dy<br />

og motsatt. Denne utvekslingen er alltid av<br />

longword størrelse.<br />

EXT <br />

(sign EXT end)<br />

Forandrer størrelsen på dataregistret og tar hensyn<br />

til positive/negative tall. Hv:is operasjonen er<br />

av type word vil bit nummer 7 (fortegnsbiten) bli<br />

kopiert til bitene 8-15. Er operasjonen av type<br />

longword vil bit nummer 15 bli kopiert til bitene<br />

16-3 1.<br />

Eks:<br />

MOVE #$12345678,00<br />

EXT .L DO<br />

DO vil nå inneholde #$00005678<br />

JMP <br />

(JuMP)<br />

Flytter programpekeren til den absolutte adressen<br />

(ikke relativ) angitt av .<br />

JSR <br />

(Jump to SubRoutine)<br />

Hopper på samme måte som JMP men<br />

returadressen blir lagret på stakken og man kan da<br />

hoppe tilbake til den gamle posisjonen ved hj elp<br />

av en R TS instruksjon.<br />

LEA ,<br />

(Load Effective Address)<br />

Kalkulerer den effektive adressen og legger<br />

så denne i<br />

(AO-A6).<br />

Eks:<br />

MOVE .W<br />

MOVE .W<br />

LEA<br />

#$10,AO<br />

#$1000,00<br />

$20(aO ,dO.W) ,Al<br />

A 1 vil nå inneholde adressen $1030 som er<br />

$20+$10+$1 000 ($20+AO+DO.W)<br />

LSL , <br />

(Logical Shift Left)<br />

Gjør det samme som ASL.<br />

LSR , <br />

(Logical Shift Right)<br />

Samme som ASR bortsett fra at den høyeste<br />

biten alltid blir satt til O.<br />

MOVE , <br />

Den mest brukte kommandoen. Flytter ganske<br />

enkelt inn i .<br />

MULS ,<br />

(MULtiply Signed)<br />

Ganger med . Tallene<br />

tolkes som negative/positive og er alltid av word .<br />

lengde. Svaret er alltid longword.<br />

MULU ,<br />

(MULtiply Unsigned)<br />

Samme som MULS men tallene tolkes nå som<br />

positive.<br />

NEG <br />

(NEGate)<br />

Setter en minus tegn foran innholdet<br />

<br />

NOT <br />

Alle bitene i blir forandret: O blir<br />

1 og 1 blir O.<br />

OR ,<br />

Alle bitene i og blir<br />

sammenlignet og i alle tilfeller hvor en av bitene<br />

er 1 vil resultatet bli l.<br />

Eks:<br />

MOVE .W<br />

AND.W<br />

#%1000100001010100,00<br />

#%0101001010101101,00<br />

DO vil nå inneholde %1101101011111101<br />

ROL ,<br />

(ROtate Left)<br />

Flytter alle bitene antall plasser mot<br />

venstre. De bitene som blir rotert ut av registeret<br />

blir flyttet ut i Carry og kommer inn igjen på<br />

høyre side.<br />

Eks:<br />

MOVE .W #%0010101001011011,00<br />

ASL.W #3,00<br />

DO vi nå inneholde %0101001011011001.<br />

ROR ,<br />

(ROtate Right)<br />

Samme som ROL men denne instruksjonen<br />

flytter alle bitene mot høyre isteden.<br />

RTS<br />

(ReTurn from Subroutine)<br />

Henter returadressen fra stakken og hopper<br />

tilbake til der hvor sist JSR eller BSR ble utført.<br />

SUB ,<br />

SWAP <br />

(SUBtract)<br />

Trekker fra .<br />

Bytter om det høyeste og det laveste<br />

wordet.<br />

TST <br />

Setter Zero og Negative flagget som vanlig<br />

basert på innholdet i .<br />

Med disse kommandoene jeg her har listet opp<br />

er man faktisk i stand til å lage det meste. Det<br />

finnes en del spesialinstruksjoner jeg ikke har<br />

nevnt og noen forskjellige varianter av de jeg har<br />

nevnt, men disse kan vi se på senere.<br />

Prøv å eksperimentere litt med kommandoene<br />

til neste gang. Da skal vi se på hvordan disse<br />

instruksjonene kan brukes i praksis.<br />

Tilbakemelding<br />

Vi i DNH er svært interessert i å vite dine<br />

meninger om kurset. Send ris, ros, forslag, programmer,<br />

o.l. til:<br />

dNh KLUBBEN<br />

Programteknisk Avdeling<br />

Boks 183<br />

1301 Sandvika<br />

Fargebånd til printere<br />

36<br />

STAR printere:<br />

NL 10 ..................................... kr. 95,-<br />

LC 10 ..................................... kr. 95,-<br />

LC 20 ..................................... kr. 95,-<br />

LC 200 sort ............................ kr. 95,-<br />

LC 200 farge ........................ kr. 125,-<br />

LC 24-200 sort ....................... kr. 95,-<br />

LC 24-200 farge ................... kr. 125,-<br />

Commodore printere<br />

MPS 803 ................................ kr. 95,-<br />

MPS 1230 .............................. kr. 95,-<br />

Blekkpatroner<br />

Commodore MPS 1270 ....... kr. 245,-<br />

Can non BJ 10e .................... kr. 395,-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!