汇编程序结尾 为什么要先结束代码段 code ends 最后才结束 程序段 end start

汇编程序结尾 为什么要先结束代码段 code ends 最后才结束 程序段 end start,第1张

也许你看的那个程序刚好只有一个start标签,所以误以为END start就是用来结束start的其实并不是这样一个程序中可以有很多个标签有一个start,下面,或者上面还会有otherstart标签等等标签是没有结束的执行完这个标签继续往下执行,END start标签只是告诉编译器,从程序从这里结束,并且开始标签是start

一般情况下汇编语言源程序应该由以下3个逻辑段组成:

① 数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行 *** 作的数据;

② 堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;

代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体 *** 作。

一个完整的汇编程序至少需要定义一个段,即 代码 段

[80x86汇编语言程序设计教程]有提及这句话:

"通常情况下,代码和数据分别在代码段和数据段中,但有时代码和数据可以合并在一个段中一个完整的汇编语言源程序至少含有一个代码段,但一个汇编语言源程序模块却可以只有数据段目前,我们总把数据段安排在程序的前面,把代码段安排在程序的后面,但不是非要这样安排"

高级语言里边,比方C++,堆里边存放你动态分配的变量,比方用malloc或new函数。程序自动分配的栈不是你能利用的,而是程序自身用它来存放一些函数参数啊,临时变量啊,返回地址什么的。如果你想在程序中用到栈,那么就得自己定义栈的结构,也可以用标准库中的vector,差不多就是个栈,先进后出嘛。在C++里边,堆内存用的地方很多,栈么……

当然,如果你是写汇编语言的,那么栈段就是经常用到的了,因为得手动保存临时变量什么的,堆反而用的不是很多……

以上就是关于汇编程序结尾 为什么要先结束代码段 code ends 最后才结束 程序段 end start全部的内容,包括:汇编程序结尾 为什么要先结束代码段 code ends 最后才结束 程序段 end start、汇编语言源程序应该由哪些逻辑段组成、一个完整的汇编程序至少需要定义一个段,即____段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9491794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存