Facebook
From Mature Motmot, 3 Years ago, written in ARM Assembler.
Embed
Download Paste or View Raw
Hits: 100
  1. Dump of assembler code for function server_run():
  2.    0x080001f0 <+0>:     push    {r3, r4, r5, r6, r7, lr}
  3.    0x080001f2 <+2>:     ldr     r5, [pc, #148]  ; (0x8000288 <server_run()+152>)
  4.    0x080001f4 <+4>:     ldr     r3, [r5, #16]
  5.    0x080001f6 <+6>:     cmp     r3, #63 ; 0x3f
  6.    0x080001f8 <+8>:     bhi.n   0x80001fc <server_run()+12>
  7. => 0x080001fa <+10>:    b.n     0x80001fa <server_run()+10>
  8.    0x080001fc <+12>:    movs    r7, #0
  9.    0x080001fe <+14>:    ldr     r6, [pc, #140]  ; (0x800028c <server_run()+156>)
  10.    0x08000200 <+16>:    ldr     r4, [pc, #140]  ; (0x8000290 <server_run()+160>)
  11.    0x08000202 <+18>:    movs    r2, #102        ; 0x66
  12.    0x08000204 <+20>:    str     r2, [r6, #0]
  13.    0x08000206 <+22>:    ldr     r2, [r5, #12]
  14.    0x08000208 <+24>:    ldr     r0, [r5, #4]
  15.    0x0800020a <+26>:    adds    r1, r2, #1
  16.    0x0800020c <+28>:    cmp     r2, r0
  17.    0x0800020e <+30>:    ite     ne
  18.    0x08000210 <+32>:    movne   r12, r1
  19.    0x08000212 <+34>:    moveq   r12, r7
  20.    0x08000214 <+36>:    subs    r3, #1
  21.    0x08000216 <+38>:    ldr     r0, [r5, #0]
  22.    0x08000218 <+40>:    str     r3, [r5, #16]
  23.    0x0800021a <+42>:    ldrb    r0, [r0, r2]
  24.    0x0800021c <+44>:    ldr     r3, [r4, #8]
  25.    0x0800021e <+46>:    ldr     r2, [r4, #0]
  26.    0x08000220 <+48>:    str.w   r12, [r5, #12]
  27.    0x08000224 <+52>:    strb    r0, [r2, r3]
  28.    0x08000226 <+54>:    ldrd    r1, r3, [r4, #4]
  29.    0x0800022a <+58>:    adds    r3, #1
  30.    0x0800022c <+60>:    cmp     r3, r1
  31.    0x0800022e <+62>:    str     r3, [r4, #8]
  32.    0x08000230 <+64>:    ldr     r2, [r4, #16]
  33.    0x08000232 <+66>:    bcc.n   0x8000278 <server_run()+136>
  34.    0x08000234 <+68>:    cmp     r1, r2
  35.    0x08000236 <+70>:    str     r7, [r4, #8]
  36.    0x08000238 <+72>:    ldr     r3, [r5, #16]
  37.    0x0800023a <+74>:    bls.n   0x8000240 <server_run()+80>
  38.    0x0800023c <+76>:    adds    r2, #1
  39.    0x0800023e <+78>:    str     r2, [r4, #16]
  40.    0x08000240 <+80>:    cmp     r3, #0
  41.    0x08000242 <+82>:    bne.n   0x8000206 <server_run()+22>
  42.    0x08000244 <+84>:    ldr     r3, [r4, #16]
  43.    0x08000246 <+86>:    cbz     r3, 0x8000280 <server_run()+144>
  44.    0x08000248 <+88>:    ldr     r2, [r4, #12]
  45.    0x0800024a <+90>:    ldr     r1, [r4, #4]
  46.    0x0800024c <+92>:    add.w   r12, r2, #1
  47.    0x08000250 <+96>:    cmp     r2, r1
  48.    0x08000252 <+98>:    ite     ne
  49.    0x08000254 <+100>:   movne   lr, r12
  50.    0x08000256 <+102>:   moveq   lr, r7
  51.    0x08000258 <+104>:   subs    r3, #1
  52.    0x0800025a <+106>:   ldr     r1, [r4, #0]