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

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


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

使用多个段来存储数据(汇编语言)_第1张图片

使用多个段来存储数据(汇编语言)_第2张图片

说明:

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

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

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

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

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





你可能感兴趣的:(汇编语言)