assembly 如何在MASM中将超过64k的数据放入一个数据段?

q3aa0525  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(400)

我已经尝试使用.model huge,但我仍然得到这个错误:

A2103: Segment Exceeds 64k limit

如何在一个数据段中使用超过64k的数据?我对8086使用MASM

cgvd09ve

cgvd09ve1#

一个段不能超过64 k,但由于使用.model huge,可以有更多的段,而不仅仅是.data.code。我不太熟悉MASM语法,但您应该能够执行以下操作:

extraStuff segment

   ; put whatever you want here.

extraStuff ends

这应该给予你另外64 k的内存使用。
现在,如果你试图读/写某个跨越多个段的数组,你必须知道什么时候停止,加载下一个段,然后继续,如果你正在做lodsb这样的事情,siffff交叉到0000,它不会递增ds到下一个段,它只是绕回(我相信)。

相关问题