8086CPU因为硬件设计上缘故,和寻址方式的特点,定义一个段最大只能是64KB,如果一个程序里定义了堆栈段、数据段和代码段,但是如果因为程序比较大,每个段的64KB都不够用怎么办??这种情况下程序该如何开发???
我自己想象的情况是,可以把这个源程序分成几个小的源程序模块来编写,然后在进行编译和链接的时候再联系到一起。或者在程序中使用跳转指令,一个段之所以只能有64KB的大小,是因为在段地址确定的情况下,偏移地址的寄存器只有16位,只能从0000-FFFF,所以,只要改变段地址,那就又可以有一个64KB的空间来用了,从而实现跨越一个段超越64KB空间的应用目的。
如果有高手知道的话,麻烦讲解一下啦,谢啦。。最好能有个程序实例。。。。。。 |