ARM assembly를 좋아하지 않을 수 있을리가...



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    // Get Greatest Common Divider (GCD)
    // using Euclid's algorithm
    //
    // while (a != b) {
    //  if (a > b)
    //      a = a - b;
    //  else
    //      b = b - a;
    // }
 
    .global example8_5
    .global gcd
 
example8_5:
gcd:
    cmp     r0, r1
    subgt   r0, r1          // if r0 > r1, r0 -= r1
    sublt   r1, r0          // if r0 < r1, r1 -= r0
    bne gcd
 
    bx      lr          // if r0 == r1, return
 
    .end



Posted by 쿨한넘