title: Problem with understanding arm assembly code structure
body: <p>code is listed as follows, I want to know in the ending part </p>
  
  <pre><code>0000e0b4    001d22d0    ldrsbeq r2, [sp], -r0
  </code></pre>
  
  <p>does this do calculation for this line of code since it loads the address defined in the ending part</p>
  
  <pre><code>0000e03c    e59f4070    ldr r4, [pc, #112]  ; 0xe0b4
  </code></pre>
  
  <p>and why are code organized in this way?</p>
  
  <pre><code>-[Cube message1]:
  0000e02c    e92d40f0    push    {r4, r5, r6, r7, lr}
  0000e030    e28d700c    add r7, sp, #12 ; 0xc
  0000e034    e24dd008    sub sp, sp, #8  ; 0x8
  0000e038    e59f1070    ldr r1, [pc, #112]  ; 0xe0b0
  0000e03c    e59f4070    ldr r4, [pc, #112]  ; 0xe0b4
  0000e040    e1a06000    mov r6, r0
  0000e044    e591e000    ldr lr, [r1]
  0000e048    e5941000    ldr r1, [r4]
  0000e04c    e59e5000    ldr r5, [lr]
  0000e050    e7900005    ldr r0, [r0, r5]
  0000e054    eb05a78f    bl  0x177e98
  0000e058    e59f9058    ldr r9, [pc, #88]   ; 0xe0b8
  0000e05c    e59f2058    ldr r2, [pc, #88]   ; 0xe0bc
  0000e060    e59fc058    ldr ip, [pc, #88]   ; 0xe0c0
  0000e064    e5921000    ldr r1, [r2]
  0000e068    e59c4000    ldr r4, [ip]
  0000e06c    e1a05000    mov r5, r0
  0000e070    e5990000    ldr r0, [r9]
  0000e074    eb05a787    bl  0x177e98
  0000e078    e1a01004    mov r1, r4
  0000e07c    e1a02000    mov r2, r0
  0000e080    e1a00005    mov r0, r5
  0000e084    eb05a783    bl  0x177e98
  0000e088    e59f0034    ldr r0, [pc, #52]   ; 0xe0c4
  0000e08c    e59f1034    ldr r1, [pc, #52]   ; 0xe0c8
  0000e090    e58d6000    str r6, [sp]
  0000e094    e5903000    ldr r3, [r0]
  0000e098    e5911000    ldr r1, [r1]
  0000e09c    e1a0000d    mov r0, sp
  0000e0a0    e58d3004    str r3, [sp, #4]
  0000e0a4    eb05a77e    bl  0x177ea4
  0000e0a8    e247d00c    sub sp, r7, #12 ; 0xc
  0000e0ac    e8bd80f0    pop {r4, r5, r6, r7, pc}
  0000e0b0    001c2094    mulseq  ip, r4, r0
  0000e0b4    001d22d0    ldrsbeq r2, [sp], -r0
  0000e0b8    001d65b4    ldrheq  r6, [sp], -r4
  0000e0bc    001d2204    andseq  r2, sp, r4, lsl #4
  0000e0c0    001d24c8    andseq  r2, sp, r8, asr #9
  0000e0c4    001d88c0    andseq  r8, sp, r0, asr #17
  0000e0c8    001d2494    mulseq  sp, r4, r4
  </code></pre>