boot 中的 .balignl 16 0xdeadbeef 说明(3)

最后顺便看一下第三个参数的应用情况:
假如将上面的程序  .balignl 16, 0xdeadbeef 改为  .balignl 16, 0xdeadbeef, 4 ,那么反汇编则会看到下面的结果:

[root@CentOS ARM]# arm-linux-objdump -d aslign2.o

aslign2.o:    file format elf32-littlearm


Disassembly of section .text:

00000000 <_start>:
  0:  ea000000        b      8
  4:  e1a00000        nop                    ; (mov r0, r0)

00000008 :
  8:  e3a00101        mov    r0, #1073741824 ; 0x40000000
  c:  e1a00000        nop                    ; (mov r0, r0)


因为指定最大才能跳过 4 个字节来对齐,但是这个 16 字节的对齐需要填充 8 个字节,所以伪指令无效。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f5948c5565f138f89816380c291ffbcc.html