|
发表于 2019-8-7 16:31:45
|
显示全部楼层
本楼为最佳答案
- 存储模型伪操作 .MODEL
-
- 格式: .MODEL memory_model[,model options]
- ----
- 功能: 指定程序的存储模型
- ----
复制代码
- 说明: memory_model有如下7种存储模型:
- ---- Tiny: 所有数据和代码都放在一个段内,数据和代码都是近访问,Tiny程序可以写成 .com文件形式,com程序必须从0100H存储单元开始.此模型一般用于小程序.
- Small: 所有数据放在一个64K数据段中内,所有代码放在另一个64K代码段内,数据 和代码都是近访问.
- Medium: 代码段使用多个段,一般一个模块一个段,而数据则合并成一个64K的段组 ,数据是近访问,代码可以远访问.
- Compact: 所有代码都放在一个64K代码段内,数据可放在多个段内,数据可远访问, 代码是近访问.
- Large: 代码和数据都可用多个段,代码和数据都可以远访问.
- Huge: 与Large模型相同,差别是允许数据段大小超过64K.
- Flat: 允许用户用32位偏移量,只能在OS/2下或其他保护模式操作系统下使用, MASM6可以支持此模型.
- model options允许用户指定三种选项:
- 高级语言接口: 汇编语言程序作为某一种高级语言程序的过程而为该高级语言程序 调用时,应该用如C,FORTRAN,BASIC,PASCAL等进行说明.
- 操作系统: 说明程序运行于哪个操作系统下,可用OS_DOS或OS_OS2说明,默认为 OS_DOS.
- 堆栈距离: 可用FARSTACK或NEARSTACK说明,使用NEARSTACK时将堆栈段和数据段组 合到一个DGROUP段中,DS和SS均指向DGROUP段;FARSTACK则不组合.当存 储模式为Tiny、Small、MEDIUM和FLAT时,默认为NEARSTACK;否则默认 为FARSTACK。
复制代码 |
|