Erinevus lehekülje "ARM (arvutiarhitektuur)" redaktsioonide vahel

'''Puudused'''
* Ei suuda vahetult täita [[x86]] koodi
 
===Tinglik täitmine===
 
Näide Euclidese algoritmi põhjal:
[[C (keel)|C]] keeles näeb kood välja selline:
<source lang="c">
while(i!=j) {
if (i > j)
i -= j;
else
j -= i;
}
</source>
ARM [[Assemblerkeel|assembleris]] näeb sama kood välja selline:
<source lang="asm">
loop CMP Ri, Rj ; määra tingimus "NE" if (i != j),
; "GT" if (i > j),
; or "LT" if (i < j)
SUBGT Ri, Ri, Rj ; if "GT" (suurem kui), i = i-j;
SUBLT Rj, Rj, Ri ; if "LT" (vähem kui), j = j-i;
BNE loop ; if "NE" (pole võrdne), then loop
</source>
<code>SUB</code> käske täidetakse ainult siis, kui <code>Ri</code> ja <code>Rj</code>on võrdsed.
 
===Jazelle===
 
===Thumb===
''Thumb'' on käsustiku olek. Selles olekus käsustik sisaldab muutuva pikkusega käske - 16-32-bitti. Lähem käsukood annab parema jõudluse.
''Thumb'' olekus 16-bitistel käsukoodidel on väiksem funktsionaalsus. Tinglik täitmine on lubatud vaid hargnemiste korral.
 
===Thumb-2===
Thumb-2 laiendab nii ARM kui Thumb käsustikku, lisades bitivälja manipuleerimise, tabeli hargnevused ja tingliku täitmise.
 
==Litsenseerimine==
60

muudatust