priser! - Stone Oakvalley Studios
priser! - Stone Oakvalley Studios
priser! - Stone Oakvalley Studios
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,-