Session 装配模型类型的实际链接方式?

Session 装配模型类型的实际链接方式?,session,assembly,model,types,Session,Assembly,Model,Types,实际上,我想编写一个长代码,但在代码末尾的一些子程序上遇到了一些问题,比如我的空间不够,所以我找到了一些方法,比如在.data.stack.model small等会话中中断代码。那么在这样的会话中中断代码会给我一个解决方案吗?链接器如何翻译这些会话以便可以处理长代码? 存在什么样的模型类型? 我使用的是8088,所以如果您知道我可以在windows中使用的任何16位编辑器、编译器和调试器,我将不胜感激。thanx好吧,你问了很多问题,但我想主要的问题是当涉及汇编代码的编译和链接时,内存模型是如

实际上,我想编写一个长代码,但在代码末尾的一些子程序上遇到了一些问题,比如我的空间不够,所以我找到了一些方法,比如在.data.stack.model small等会话中中断代码。那么在这样的会话中中断代码会给我一个解决方案吗?链接器如何翻译这些会话以便可以处理长代码? 存在什么样的模型类型?
我使用的是8088,所以如果您知道我可以在windows中使用的任何16位编辑器、编译器和调试器,我将不胜感激。thanx

好吧,你问了很多问题,但我想主要的问题是当涉及汇编代码的编译和链接时,内存模型是如何工作的。事实上,我没有8088处理器的经验,但我想它和8086没有太大的不同,因为它必须在工作环境下工作。 好的,当您编写汇编代码时,您必须选择程序将要使用的内存模型。它是通过
.model
指令在程序集中完成的(AFAIR TASM和MASM都使用它)。 该指令可以有以下参数:微小、小型、中型、COMACT、大型和大型。它们都定义了程序的内存模型。微型内存模型意味着您的代码和数据将成为一段。其他模型允许您在单独的段中声明代码和数据。或者甚至声明几个包含代码的段(以防它们超过64KB的限制)。那将是一个开始


说到这里,我们需要注意的是,不同的内存模型改变了我们寻址数据的方式。如果选择微型内存模型,则代码和数据位于同一段中。但在小型模型中,它们并非如此。所以,所有访问数据段的ASM指令都必须设置正确的段寄存器(DS)

好吧,你问了很多问题,但我想主要的问题是在编译和链接汇编代码时内存模型是如何工作的。事实上,我没有8088处理器的经验,但我想它和8086没有太大的不同,因为它必须在工作环境下工作。 好的,当您编写汇编代码时,您必须选择程序将要使用的内存模型。它是通过
.model
指令在程序集中完成的(AFAIR TASM和MASM都使用它)。 该指令可以有以下参数:微小、小型、中型、COMACT、大型和大型。它们都定义了程序的内存模型。微型内存模型意味着您的代码和数据将成为一段。其他模型允许您在单独的段中声明代码和数据。或者甚至声明几个包含代码的段(以防它们超过64KB的限制)。那将是一个开始


说到这里,我们需要注意的是,不同的内存模型改变了我们寻址数据的方式。如果选择微型内存模型,则代码和数据位于同一段中。但在小型模型中,它们并非如此。所以,所有访问数据段的ASM指令都必须设置正确的段寄存器(DS)

好吧,假设我有300-350行代码。其中50-60%在子程序上,但代码末尾的3-4不起作用(我的程序在进入时会死机),我也可以在.data中使用一些标准变量。我应该用什么样的型号?还有多远/多远会影响这样的程序。我知道这些问题很多,但是如果你可以参考一个教程/书籍/链接,也可以参考一个特别的thanxok,让我们假设我有300-350行代码。其中50-60%在子程序上,但代码末尾的3-4不起作用(我的程序在进入时会死机),我也可以在.data中使用一些标准变量。我应该用什么样的型号?还有多远/多远会影响这样的程序。我知道这些问题很多,但如果你能参考一本教程/书/链接,也要感谢thanx