balignl指令解析
来源:互联网 发布:山东网络春晚2016直播 编辑:程序博客网 时间:2024/06/16 21:17
.balignl 16,0xdeadbeef
这个代码很有意思,作者挺搞笑。刚开始的时候看不懂这个代码是什么意思,balignl很显然是对齐的意思,我当时一看就知道这是16字节对齐,可是,0xdeadbeef是什么东东?呵呵,后来我找了半天资料才知道没什么意思,我们可以把它用其他的代替,比如0xgoodbeef,0xgoodgirl,明白了吧。
下面我对此进行讲解:
syntax:
.balign {alignment} {,fill} {,max}
Description: Word align the following code to alignment byte boundary (default=4). Fill skipped words with fill (default=0 or NOP). If the number of bytes skipped is greater than max, then don't align (default=alignment ).
alignment可以是4,8,16,32,的默认值是4
fill 就是要填充的内容
max 是一个数值,如果从当前位置开始移动到符合要求的位置所移动的地址大于max时,不采用对齐。
.balignl和.balignw是.balign的变形,前者是采用4字节填充,后者是2字节填充。
例如:
当前地址是0x0000 0001
.balignl 16,0xgoodgirl
16字节对齐,符合要求的第一个地址是0x0000 0010,可是指针移动了15位置,也就是15个字节,oxgoodgirl占4个字节,所以不填充空白区域,空白区域内容是未知的。
假如当前地址是0x0000 000e
指针移动到0x0000 0010,移动了2次,也就是2个字节,不足4个字节,空间不够,所以也不填充,这2个字节的内容是未知的。
假如当前地址是0x0000 000c
指针移动到0x0000 0010,移到4次,也就是4个字节,正好将0xgoodgirl填充进去。
- balignl指令解析
- .balignl 指令解释
- U-Boot(6) .balignl解析
- U-Boot(5) 伪指令.balignl 16,0x0badc0de的含义
- 指令解析
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令(zz)
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 解析#pragma指令
- 黑马程序员——day25正则表达式
- CCUserDefaultData中key使用纯数字出现异常
- thrift之compiler源码详解-3
- Arch Linux中Java SDK的安装与配置
- 博文第一篇,用来测试一下博客功能(代码意义:禁用后退按钮)
- balignl指令解析
- jsp中request传递参数汉字乱码(经典)
- 4.2.3. 消息是如何记录的
- 防止利用iframe做调用网站
- vijos p1128 (选数)
- 原子变量AtomicInteger
- 每天一到面试题 - 5 - Java - ClassLoader如何加载class
- [jQery]为文本框指定下拉弹出层
- 我知道 这是个新的开始。