section描述
section是nasm汇编编译器的关键字。首先nasm可以理解以汇编编译器程序,主要进行汇编语言的编译,也就是生成机器码。section成为节,主要是为了对程序进行模块化的划分,是汇编程序的结构更加的清晰。section的几个参数我们要着重了解一下。
section参数
section sec_name align=十进制对齐长度 vstart=0x十六进制地址
- sec_name : 段名称
- align:对齐长度 默认为4字节
- vstart: 设置当前section的起始地址
实例
行号 | 源码 | 相对地址 | 地址处数据或机器码 | 反汇编 | 注释 |
---|---|---|---|---|---|
1 | section code vstart=0x7c00 | 定义代码节 | |||
2 | mov ax,$$ | 0x00000000 | 0xb8007c | mov ax,0x7c00 | '$$'表示当前段地址 反汇编后使用绝对地址 |
3 | mov ax,section.code.start | 0x00000003 | 0xb80000 | mov ax,0x0 | section.code.start代表本节的地址,为相对地址 |
4 | mov ax,section.data,start | 0x000000 |