Hi,
I am learning ARM assembly code. The following is a Thumb disassembly from a short .c file:
int main()
{
printf("Hardware test, finish testing.\n");
return 0;
}
00000000 <main>:
0: b580 push {r7, lr}
2: b08a sub sp, #40 ; 0x28
4: af00 add r7, sp, #0
6: f240 0000 movw r0, #0
a: f2c0 0000 movt r0, #0
e: f7ff fffe bl 0 <puts>
12: 2300 movs r3, #0
14: 4618 mov r0, r3
16: f107 0728 add.w r7, r7, #40 ; 0x28
1a: 46bd mov sp, r7
1c: bd80 pop {r7, pc}
1e: bf00 nop
I do not understand the '0' in line e: bl 0 <puts>, even after I look it up on BL instruction.
Could you tell me that? Thanks,