0

I'm a new bee in arm assembly language.I objdump a simple program, and the following is the assembly code of main function:

00010438 <main>:
   10438:   e92d4800    push    {fp, lr}
   1043c:   e28db004    add fp, sp, #4
   10440:   e24dd010    sub sp, sp, #16
   10444:   e59f3068    ldr r3, [pc, #104]  ; 104b4 <main+0x7c> <--(QUESTION:0x10444+104≠0x104b4, why?)
   10448:   e50b300c    str r3, [fp, #-12]
   1044c:   e59f3064    ldr r3, [pc, #100]  ; 104b8 <main+0x80> 
   10450:   e50b3010    str r3, [fp, #-16]
   10454:   e59f3060    ldr r3, [pc, #96]   ; 104bc <main+0x84>
   10458:   e5933000    ldr r3, [r3]
   1045c:   e50b3014    str r3, [fp, #-20]  ; 0xffffffec
   10460:   e3a03000    mov r3, #0
   10464:   e50b3008    str r3, [fp, #-8]
   10468:   ea000008    b   10490 <main+0x58>
   1046c:   e51b3008    ldr r3, [fp, #-8]
   10470:   e2832001    add r2, r3, #1
   10474:   e50b2008    str r2, [fp, #-8]
   10478:   e24b2004    sub r2, fp, #4
   1047c:   e0823003    add r3, r2, r3
   10480:   e5533010    ldrb    r3, [r3, #-16]
   10484:   e1a01003    mov r1, r3
   10488:   e59f0030    ldr r0, [pc, #48]   ; 104c0 <main+0x88>
   1048c:   ebffff9e    bl  1030c <printf@plt>
   10490:   e51b3008    ldr r3, [fp, #-8]
   10494:   e3530003    cmp r3, #3
   10498:   dafffff3    ble 1046c <main+0x34>
   1049c:   e3a0000a    mov r0, #10
   104a0:   ebffffa2    bl  10330 <putchar@plt>
   104a4:   e3a03000    mov r3, #0
   104a8:   e1a00003    mov r0, r3
   104ac:   e24bd004    sub sp, fp, #4
   104b0:   e8bd8800    pop {fp, pc}
   104b4:   00000539    .word   0x00000539
   104b8:   00010534    .word   0x00010534
   104bc:   00010548    .word   0x00010548
   104c0:   00010540    .word   0x00010540

My question is on line 5 of the code above.Thanks.

shenzhigang
  • 103
  • 8

0 Answers0