汇编segment伪指令

segment是段,是段定义的伪指令。在汇编中有数据段,代码段,堆栈段和附加段

[格式]
segment_name SEGMENT 【定位类型】 【组合类型】 【类别名】
···;here is your code
segment ends
注:【】都是在英文输入法下的符号,此处无法打出所以才用了中文状态下的【】

参数解释:

  1. 【定位类型】
    指明段开始的边界,如para,它使段定位在小段的边界,段首地址正好能被16整除,定位类型未指定时默认为para
    段的定位类型有4种,分别是:
    1. page(页起始),起始地址以00H结尾,能被256整除
    2. para (节起始),起始地址以0H结尾,能被16整除
    3. word(字起始),起始地址末位为0,是偶地址
    4. byte (字节起始),起始地址为任意边界
  2. 【组合类型】
    决定本段是否要和其他段组合在一起,组合类型有:stack,common,public
  3. 【类别名】
    连接时用于相关段组合在一起,如代码段’code’,数据段’Data’,堆栈段’Stack’

例子: stack segment para stack ‘stack’
解释: para表明该段起始地址对齐到para。 1 para= 16 bytes。stack声明该段是堆栈段,这样在最后的链接link时,会将该最终创建的exe文件头部的SS:SP域指向该段的末尾
‘stack’表明该段的组合名为’stack’。同一程序不同模块中,相同组合名的段会组合到一起。组合名也决定了最后exe文件中各个段的排列顺序

参考文档:
微机中的一些解释
SEGMENT伪指令说明

发布了19 篇原创文章 · 获赞 2 · 访问量 4196

猜你喜欢

转载自blog.csdn.net/c529283955/article/details/102979310