NASM中SECTION的概念
来源:互联网 发布:java写一个爬虫 编辑:程序博客网 时间:2024/06/04 18:36
- SECTION是一种组织代码和存储的方式
- NASM支持标准的.data, .text和.bss,编译后的程序文件中的内存地址顺序是.text, .data,用户自定义section。
- NASM支持用户自定义section
- 同名的section,编译后会放在同一块连续的内存上
[SECTION .data]
var1 db 0x01
[SECTION .text]
MOV AX, var1
[SECTION .data]
var2 db 0x02
编译后,内存为0xB8040000 0102,其中0xB804是MOV AX,0x04的机器码,0x04是标号var1汇编后的偏移地址。因为汇编后,var1对应的存储区在.data段,被挪到了内存的尾部,因此偏移不是0x00,而变成了0x04。
- 对用户自定义section,按照出现的先后顺序存储,同名的section存储在一起。
- 每个SECTION默认都是按4字节对齐的:
- [SECTION .s1]
var1 db 0x1
[SECTION .s2]
var2 db 0x3
[SECTION .s1]
var3 db 0x2
编译后产生的内存:0x01020000 0x03
可以看到SECTION .s1被扩展为4个字节,后面两个字节填0,然后是SECTION .s2
- [SECTION .s1]
- SECTION的对齐方式可以用ALIGN来调整
- $$指向当前section相对于段基址的偏移地址,$指向当前行相对于段基址的偏移地址。
- NASM中SECTION的概念
- NASM中SECTION的概念
- NASM中section,align,vstart,$,$$的理解
- NASM 中 SECTION 的默认对齐
- NASM中section,align,vstart,$,$$的理解
- NASM与MASM的区别(不断更新中,参考NASM中文手册)
- NASM与MASM的区别(不断更新中,参考NASM中文手册)
- NASM与MASM的区别(不断更新中,参考NASM中文手册)
- NASM与MASM的区别(不断更新中,参考NASM中文手册)
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- smarty中section的使用
- no packages with the requested plugins found h.264 decoder
- JS表单验证2
- Android游戏开发坐标
- Mac OS系统与对应支持的XCode及SDK版本
- HDU 4036 物理坑爹题
- NASM中SECTION的概念
- get paid from、 to the taste of、expand my horizons、available、by the way
- CSS控制DIV层滚动效果 CSS层滚动条效果
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- 思考者的工作习惯(值得大家学习)
- 黑马程序员_枚举
- JSP网页简单计数器 代码片段分享
- 3xian之所在 (一位ACM大牛的博文)
- Ubuntu下安装memcache,以及python-memcache