Mun pitäisi tehdä esimerkkiohjelma seuraavan ohjeen mukaan:
Laadi ARM-prosessorille assembly-kielinen ohjelma, joka lukee rekisterin r0 osoittamasta muistiosoitteesta alkaen kaksi 32-bittistä lukua ja järjestää ne se samoihin muistiosoitteisiin suuruusjärjestykseen siten, että ensimmäisessä muistiosoitteessa on suurempi luvuista. Lopuksi ohjelma asettaa rekisterin r0 arvoksi nollan, mikäli luvut olivat oikeassa järjestyksessä ja ykkösen mikäli lukujen paikkoja piti vaihtaa.
Ikinä en ole ohjelmoinut assenblyllä, joten pystyisikö joku ystävällinen sielu auttamaan tämän kanssa niin pääsisin alkuun?
Apua ohjelmaan...
5
1822
Vastaukset
- dgsdfg
Ehkä tästä on apua
; offsetit
LUKU1 = 0
LUKU2 = 4
; siirrä registeriin r1 luku1
r1 - Jaaaaaaaaaaarm
En kyllä mene takamaan toimivuutta, vaikka kääntyykin gnuarm:lla.
--- ESIMERKKI ALKAA ---
.data
.text
_start: .global _start
.global main
b main
#
# Luvut jotka järjestetään
#
luvut: .word 12, 14
#
# Pää ohjelma joka kiertää silmukkaa kutsuen järjestä alirutiinia
#
main:
ldr r0, =luvut
bl jarjesta
b main
#
# Järjestä alirutiini
#
jarjesta:
stmia sp, {r1, r2}
ldr r1, [r0]
ldr r2, [r0, #4]
cmp r1, r2
bhi oikea
str r1, [r0, #4]
str r2, [r0]
mov r0, #1
b loppu
oikea:
mov r0, #0
loppu:
ldmia sp, {r1, r2}
mov pc, lr
.end
--- ESIMERKKI LOPPUU ---- sdsfkishjsl
Pari bugi fixia ja vahan optimointia
jarjesta:
stmia sp!,{r1,r2,lr}
ldmia r0,{r1-r2}
cmp r1,r2
movls r0,#0
ldmlsia sp!,{r1,r2,pc}
str r1,[r0,#4]
str r2,[r0]
mov r0,#1
ldmia sp!,{r1,r2,pc)
Eli tuon sp:n jalkeen on oltava !. - Jaaaaaaaaaaarm
sdsfkishjsl kirjoitti:
Pari bugi fixia ja vahan optimointia
jarjesta:
stmia sp!,{r1,r2,lr}
ldmia r0,{r1-r2}
cmp r1,r2
movls r0,#0
ldmlsia sp!,{r1,r2,pc}
str r1,[r0,#4]
str r2,[r0]
mov r0,#1
ldmia sp!,{r1,r2,pc)
Eli tuon sp:n jalkeen on oltava !.En tosiaan ole ARM:ia varsinaisesta kokeillut kuin kerran harrastus mielestä, noin vuosi sitten.
- PerttiTT
ARMI käskykanta on vähän erilainen ja monipuolisempi kuin 'normaali' assembly.
käskyn malli yleensä:
KÄSKYehtoSetliput kohdeRek , 1lähdeRek, 2lähdeRek, käsky2lähdeRek:lle käskynparametri !tallennetaanko2lähdeRek
Esim.
LDR r6, [r4] ;lataa muistista ==( r6 = *r4;)
LDR r4, [r0 , r2 , LSL #2] ;== ( r4 = *(r0 (r2
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Björn Wahlroos, maataloustuet lakkautettava
Sanoo pankkimies. Mitäs persut ja muut tukinulliem perskärpäset tähän? "Wahlroos listaa kansallisen maataloustuen. – I1553940Persut päättivät hiilivoiman kieltämisestä Suomessa
Moni on jo unohanut kuka hyväksyi hiilivoimaloiden kieltämisen Suomessa: persut Sukupuolineutraalit liikennemerkitk853353Vain persut vastustivat hiilivoimaloiden alasajoa
Persut vastusti jyrkästi hiilen kieltolakia ja on myöhemmin vaatinut hiilivoimaloiden pitämistä käytössä. He perusteliva852805Nalle Wahlroos ei ulise kuten Teemu Selänne sähkölaskuista
Nalle "hah hah" nauroi saamistaan sähkötuista, kun taas Teemu-poika itkeä tirautti kovasta sähkön hinnasta. Nalle nauro442699Selvästi näyttää siltä, että SDP:n kannattajat hyväksyy kiusaamisen
ja seksuaalisen ahdistelun, kun puolueen kannatus pysyy korkealla. Mitä tämä kertoo demari-äänestäjien moraalista?722669Kyllä nämä nyky autonakut ja autotki on heikloja
Vuoden vanha akku, eikä inahdakaan.... Pistin vara-akun just lataukseen ja lähen sillä antamaan apuvirtaa Jos ei toimi,242411Muistattekos kuinka kokoomus ja persut vinkuivat sähkön hinnasta?
Oppositiossa vuonna 2022, kun sähkön hinta uhkasi nousta 20 senttiin kilowattitunnilta? Nyt ovat hiiren hiljaa, kun pitä1402342Mikä aate kaiken pahan takana?
Se laiskistuttaa kansat, opettaa vaatimaan etuisuuksia, syleilee maailmoja eikä omaa kansaa.1522225Päivi Räsäsen seksipaljastus loksauttaa Katja Ståhlin leuat! Elämäni biisi kohujakso tv:ssä!
Elämäni biisi -suosikkisarjan uusinnat ovat startanneet ja nyt vuorossa on sarjan 2. jakso v. 2019. Sinisille sohville392062Muistan vuosikymmenten takaa
Toivottavasti voit hyvin ja jaksat työssäsi. Olet upea ja erinomainen ihminen, toivon kaikkea hyvää.121956