1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
00000000 <_mul_s16_u32>:
   0:   62 43           mov     r4,r2
   2:   42 04           rotl    r2
   4:   02 29           movt    r2
   6:   22 28           tst     r2,r2
   8:   61 53           mov     r5,r1
   a:   65 4b           neg     r4,r5
   c:   8b 00           bf      10 <_mul_s16_u32+0x10>
   e:   65 43           mov     r4,r5
  10:   22 28           tst     r2,r2
  12:   21 5e           mulu.w  r5,r1
  14:   61 19           swap.w  r1,r1
  16:   03 1a           sts     macl,r3
  18:   21 5e           mulu.w  r5,r1
  1a:   01 1a           sts     macl,r1
  1c:   41 28           shll16  r1
  1e:   33 1c           add     r1,r3
  20:   60 33           mov     r3,r0
  22:   89 00           bt      26 <_mul_s16_u32+0x26>
  24:   60 3b           neg     r3,r0
  26:   00 0b           rts
  28:   00 09           nop