4.2.1.2 存储模型与简化段定义伪指令

  较新版本的汇编程序(MASM5.0与MASM6.0)除支持完整段定义伪指令外,还提供了一种新的简单易用的存储模型和简化的段定义伪指令。

  
1. 存储模型伪指令
  存储模型的作用是什么呢?存储模型决定一个程序的规模,也确定进行子程序调用、指令转移和数据访问的缺省属性(NEAR或FAR)。当使用简化段定义的源程序格式时,在段定义语句之前必须有存储模型 .MODEL语句,说明在存储器中应如何安放各个段。

  MODEL伪指令的常用格式如下:
.  .MODEL 存储模型

  2. 简化的段伪指令
  简化的段定义语句书写简短,语句.CODE、.DATA和.STACK分别表示代码数据段和堆栈段的开始,一个段的开始自动结束前面一个段。采用简化段指令之前必须有存储模型语句.MODEL。

  3.与简化段定义有关的预定义符号
  汇编程序给出了与简化段定义有关的一组预定义符号,它们可在程序中出现,并由汇编程序识别使用。有关的预定义符号如下:
  (1)@code 由.CODE 伪指令定义的段名或段组名。
  (2)@data 由.DATA 伪指令定义的段名,或由 .DATA 、.DATA?、
    .CONST和 .STACK所定义的段组名。
  (3)@stack 堆栈段的段名或段组名。

  4.简化段定义举例