使用多个段来存储数据(汇编语言)

我们在以前学过在一个程序中使用了栈,数据,代码之类的,如果将他们都放在一个段里面,既显得凌乱,而且8086的一个段最大64KB,如果数据过于庞大,那也会显得不方便,所以,应该使用多个段来分别处理数据,代码,栈。


下面我们来分析一段程序,通过这个程序来讲解:



说明:

①定义多个段和我们以前讲的定义代码段一样,只是段名不同而已。

②程序中有多个段如何访问这些数据呢,以及如何知道这些数据时代码段还是数据段或者堆栈段呢,段名就相当于一个表号,它代表段地址,所以就通过mov ax,data(标号),然后将这个ax传给ds,那就是数据段,传给ss,那就是堆栈段。

③我们只是要一段空间,你把这个空间的段地址给ss,就代表堆栈段,他就会按照堆栈段的取值方式,你把这段空间给予ds,就代表数据段,它就会按照数据段的方式处理这段空间。

④Start标号代表程序开始执行的地方,最后end start,编译器就会形成一些信息,然后会将cs:ip指向start的地方,然后程序就会从那里开始执行。

⑤”dw“代表“defined word”定义一个字,你定义多少字,系统就会分配多少空间给你,其实这是获取空间的手段而已。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值