汇编程序代码主要由这三部分组成:
- 堆栈段(初学者使用较少可暂时忽略)
- 数据段
- 代码段
其中,数据段用于存放数据,类似于高级语言的定义变量、赋初值;而代码段则用于存放汇编指令。
即:数据段定义数据,代码段用来对数据进行操作。
具体代码如下:
;数据段
data segment ;开头
;此处存放代码
data ends ;结尾
;代码段
code segment ;开头
;此处存放代码
code ends ;结尾
说明:
数据段中结尾的“data ends”可简写为“ends”;
代码段中结尾的“code ends”可简写为“ends”。
修改后为:
;数据段
data segment ;开头
;此处存放代码
ends ;结尾
;代码段
code segment ;开头
;此处存放代码
ends ;结尾
在代码段中,一开始需要引入数据,即加入“assume cs:code,ds:data,ss:stacks”
修改后为:
;数据段
data segment ;开头
;此处存放代码
ends ;结尾
;代码段
code segment ;开头
assume cs:code,ds:data,ss:stacks
;此处存放代码
ends ;结尾
经过以上步骤,我们基本把需要的架构给搭好了,但是还差最后一步,在代码段中我们需要告诉编译器从哪里开始执行程序,怎么做呢,看下面的代码:
;数据段
data segment ;开头
;此处存放代码
ends ;结尾
;代码段
code segment ;开头
assume cs:code,ds:data,ss:stacks
start: ;程序开始
;此处存放代码
ends ;程序结束
ends ;结尾
我们加入了“start:…ends”结构,这就告诉了编译器应该从这里开始执行。
此外,常用的我们还可以用“main…endp”结构,修改后如下
;数据段
data segment ;开头
;此处存放代码
ends ;结尾
;代码段
code segment ;开头
assume cs:code,ds:data,ss:stacks
main: ;程序开始
;此处存放代码
endp ;程序结束
ends ;结尾
今天就学到这里啦,恭喜你收获了满满的知识,下次再见!