【摘要】:汇编语言源程序由若干个代码段、数据段、附加段和堆栈段组成,但并不是每个程序都需要这些段,段之间的顺序也可以随意安排,通常数据段在前,代码段在后,其一般结构如下:虽然程序可以定义多于4个的段,但由于段地址存放在某个段寄存器中,所以最多只能同时使用四个段:代码段,数据段,附加数据段,堆栈段。程序通过修改段寄存器的值实现段的切换。
3.3.1 源程序的一般结构
汇编语言源程序由若干个代码段、数据段、附加段和堆栈段组成,但并不是每个程序都需要这些段,段之间的顺序也可以随意安排,通常数据段在前,代码段在后,其一般结构如下:
;如果有若干数据段定义
数据段名1 SEGMENT
… ;数据定义
数据段名1ENDS
数据段名2SEGMENT
…;数据定义
数据段名2ENDS
…
;如果有若干附加段定义
附加数据段名1SEGMENT
…;附加数据定义
附加数据段名1ENDS
附加数据段名2SEGMENT
…;附加数据定义
附加数据段名2ENDS
…
;如果有若干堆栈段定义
堆栈段名1SEGMENT
…;定义堆栈大小
堆栈段名1ENDS
堆栈段名2SEGMENT
…;定义堆栈大小
堆栈段名2ENDS
…
;如果有若干代码段定义
代码段名1SEGMENT
…;指令序列
代码段名1ENDS
代码段名2SEGMENT
…;指令序列
代码段名2ENDS
…
END START;START是某个代码段内定义的标号,作为开始执行的地址。
虽然程序可以定义多于4个的段,但由于段地址存放在某个段寄存器中,所以最多只能同时使用四个段:代码段(CS),数据段(DS),附加数据段(ES),堆栈段(SS)。程序通过修改段寄存器的值实现段的切换。附加段实质上也是数据段,只是其段地址应在ES中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。