段的定义

段定义格式:

segmentname segment [ align ]   [ combine ]  [ 'class' ]

      statements

segmentname ends

——————

关键字segment表示段定义的开始,关键字ends表示段定义的结束(end of segment)。

——————

segmentname表示段名,任何一个段都必须有段名,并且段定义结束时的段名必须与段定义开始时设定的段名一致。

——————

statements表示汇编语言的语句,包括指令语句、伪指令语句、汇编指示语句。

——————

align表示对齐方式,用来规定所定义的段以字节byte、字word、双字dword、节para、页page为边界。其中节为16字节,页为256字节。缺省的对齐方式为para。

——————

combine表示合并类型,合并类型有:

public、stack、common、memory、at

其中public一般用于代码段或数据段的定义,凡是段名相同并且合并类型为public的段在连接时都将合并为一个段。

stack用于堆栈段的定义,凡是段名相同并且合并类型为stack的段连接时将合并为一个堆栈段。并且在程序装入内存准备运行时,段寄存器SS自动初始化为改堆栈段的段址,堆栈指针SP自动初始化为该堆栈段末尾字节的偏移地址再加1。

class表示类别名,它的内容是不固定的,可以像段名一样随便取一个。类别名必须用单引号括起来。类别名可以使连接程序在连接时把该段与其它具有相同类别名的段放在一起。一般不用指定类别名。

——————————————————————

段定义的简化

segmentname  segment

    statements

segmentname  ends

——————

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值