分别定义了一个代码段、数据段、栈段
最后两条指令所实现的功能就是程序返回。
汇编语言从写出到执行的过程:
DOS系统中.EXE文件Φ程序的加载过程:
分别定义了一个代码段、数据段、栈段
最后两条指令所实现的功能就是程序返回。
汇编语言从写出到执行的过程:
DOS系统中.EXE文件Φ程序的加载过程:
6.1 在代码段中使用数据
“dw”的含义是定义字型数据dw即define word。
由于它们在代码段中程序在运行的时候CS中存放代码段的段地址,所以我们可以从CS中得到它们的段地址
因为用dw定义的数据处于代码段的最开始,所以偏移地址为0这8 个数据就在代码段的偏移0、2、4、6、8、A、C、E处。
end 除了通知编译器程序結束外还可以通知编译器程序的入口在什么地方。
6.2 在代码段中使用栈
6.3 将数据、代码、栈放入不同的段
我们用和定义代码段一样的方法来定义多个段然后在这些段里面定义需要的数据,或通过定义数据来取得栈空间
我们要将它送入bx中,就要用如下的代码:
程序中对段名的引用如指令“mov ds,data”中的“data”,将被编译器处理为一个表示段地址的数值
“代码段”、“数据段”、“栈段”完全是峩们的安排。
CPU到底如何处理我们定义的段中的内容是当作指令执行,当作数据访问还是当作栈空间,完全是靠程序中具体的汇编指令和汇编指令对CS:IP、SS:SP、DS等寄存器的设置来决定的。
参考资料:《小甲鱼汇编零基础入门》
《汇编语言》第三版
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。