`
zhaole609
  • 浏览: 342832 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

一种简化的段定义伪指定

阅读更多

1).model 存储模式
其中,存储模式有如下7种:
(1)TINY:用于创建COM类型程序,所有的段地址寄存器都被设置为同一值,表明所有的数据和代码都在同一个段内。一般用于小程序
(2)SMALL:一一般应用程序最常用的模式,所有的数据都在64KB的数据段内,而所有指令代码都放在一个64KB的代码段内,这意味访问数据和指令需要16位的偏移地址。
(3)COMPACT:所有指令代码都放在一个64KB的代码段内,但可以有多个数据段,转移类指令的默认属性是近转移,而数据则必需用32位的指针,以区别不同的段。
(4)MEDIUM;所有数据都放在一个64KB的数据段内,而允许有多个代码段,这样,转移类指令的默认属性是远转移或远调用,而访问数据只需要16位的偏移地址。
(5)LARGE;允许使用多个代码段和数据段
(6)HUGE:与大弄模式基本相同。
(7)FLAT:创建一个32位的程序,必须采用FLAT模式。DOS下不能使用FLAT模式。
2)简化段定义伪指令
.STACK[大小];建立一个堆栈段,段名是STACK,可以指定堆栈的大小,默认值为1KB
.DATA       ;建立一个数据段,主要用于定义一些具有初值的变量
.DATA?      ;建立一个数据段,用于定义一些无初值的变量
.CODE[段名] ;建立一个代码段
.STARTUP    ;用来定义程序的入口点,并产生设置DS,SS,SP寄存器的代码。程序中使用用了STARTUP伪指令,则程序结束指令END不必指定程序开始的标号

.EXT[返回值];产生程序终止并返回操作系统的代码,通常用0作为返回值

3)与简化段定义有关的预定义符号

@CODE   ;表示.CODE定义的代码段名,也是代码段的段地址

@DATA    ;表示.DATA定义的数据段名,也是数据段的段地址

@STACK  ;表示.STACK定义的堆栈段名,也是堆栈段的段地址

·CODESIZE;表示代码段的大小

.DATASIZE;表示数据段的大小

4)简化的段定义源程格式

.MODEL SMALL;定义程序的存储模式

.STACK            ;建立一个堆栈段

.DATA              ;建立一个数据段

 .

 .

 .

.CODE             ;建立一个代码段

.STARTUP        ;设置程序的起始点

 .

 .

 .

.EXIT 0            ;程序结束,返加操作系统

END                 ;汇编结束

其中,.STARTUP 语句可以用以下两条指令代替:

   START: MOV AX,@DATA

                MOV DS,AX

而.EXT 0语句可以用以下两条指令代替:

       MOV AX,4C00H

       INT 21H

 

分享到:
评论

相关推荐

    DSP汇编伪指令汇总

    段定义伪指令 - **.asect** “段名”,地址 - 作用:汇编到一个以绝对地址为起始的段中。 - 说明:与`.sect`类似,增加了绝对地址定位功能。现代编程中更倾向于使用命令文件来进行地址定位,因此该伪指令使用较...

    ARM汇编器所支持的伪指令

    ARM汇编语言作为一种重要的编程工具,在嵌入式系统开发领域占据着举足轻重的地位。为了更好地编写和管理代码,ARM汇编器提供了丰富的伪指令集。本文将详细介绍ARM汇编器支持的一些关键伪指令,包括变量定义、赋值...

    QSS是Qt框架中用于定义和定制Qt应用程序外观的一种样式表技术.docx

    QSS(Qt Style Sheets)是Qt框架中用于定义和定制Qt应用程序外观的一种样式表技术。它大量参考了CSS(层叠样式表)的内容,但功能相对较弱,主要体现在选择器较少、属性也较少,并且不是所有属性都可以用在Qt的所有...

    GNU ARM汇编伪指令

    GNU ARM汇编伪指令是针对ARM架构的一种特定汇编语法,由GNU Assembler(Gas)支持,用于简化和扩展汇编程序的编写。ARM架构广泛应用于嵌入式系统、移动设备以及服务器等领域。 1. **GNU Assembler (Gas)** GNU ...

    汇编语言知识点

    汇编语言是计算机科学中的一种低级编程语言,它与机器语言紧密相连,是程序员直接与硬件交互的桥梁。掌握汇编语言,尤其是8086指令系统和寻址方式,是理解计算机底层运作原理的基础。 首先,我们来看汇编语言程序的...

    汇编语言教程以及汇编器和伪指令的定义

    例如,`ORG`伪指令用于指定程序的起始地址,`EQU`用于定义常量,`DB`和`DW`用于声明数据段的字节或字。伪指令帮助程序员组织代码并简化汇编过程。 5. **内存模型和寻址方式**:汇编语言编程涉及到对内存的直接操作...

    GCC汇编器的伪操作符号解释中文学习手册

    在汇编语言编程中,伪操作符(Pseudo-Opcodes)是一种特殊的指令,它们并不直接对应于特定的机器码,而是提供了一种方便的抽象方式,帮助程序员在汇编级别进行更高效的编程。这份“GCC汇编器的伪操作符号解释中文...

    伪代码规则

    伪代码是一种非正式的语言,用于描述算法或程序逻辑。它不依赖于任何特定的编程语言,因此可以被广泛理解和使用。伪代码通常用于教学和设计阶段,帮助程序员清晰地表述算法步骤而无需考虑语法细节。 #### 二、伪...

    高斯伪谱法

    高斯伪谱法是一种在数值计算中广泛应用的求解常微分方程(Ordinary Differential Equations, ODEs)和偏微分方程(Partial Differential Equations, PDEs)的方法。它结合了高斯积分的精确性和谱方法的高效性,特别...

    ARM汇编伪指令详解

    ARM汇编语言是一种低级编程语言,用于编写针对ARM架构处理器的程序。在汇编语言中,伪指令(Pseudo-Opcodes)并不直接对应处理器的机器指令,而是编译器或汇编器用来处理的特殊指令,它们提供了一些便利的功能。下面...

    节 汇编语言程序格式PPT课件.pptx

    4. **宏指令展开**:汇编程序能处理宏指令,这是一种预处理命令,可以简化重复的代码。 在汇编语言程序的开发过程中,通常涉及以下步骤: 1. **编辑**:使用文本编辑器,如EDIT.COM,创建源程序文件,扩展名为`.asm...

    MongoDB伪分布集群搭建

    MongoDB是一种流行的开源文档数据库系统,它以JSON格式存储数据,具有高性能、高可用性和可扩展性。在本文中,我们将深入探讨如何搭建MongoDB的伪分布集群,这对于测试和学习分布式数据库操作非常有帮助。 首先,...

    第6讲ARM汇编伪指令与伪操作.pptx

    1. **伪指令**:伪指令是一种在汇编阶段执行的指令,它们在汇编过程中起作用,如设置变量、分配内存、定义标签等。在ARM汇编中,伪指令如ADR、ADRL、LDR和NOP有特殊的含义。例如,`ADR`用于计算相对地址并加载到...

    4@-第4章-汇编语言程序格式.ppt

    汇编语言是低级编程语言的一种,它与计算机硬件紧密相关,用来编写针对特定处理器的指令。在本章中,我们将深入理解汇编程序在程序开发中的作用以及如何构建汇编语言程序。 首先,汇编程序的主要功能是将汇编语言源...

    微机原理与接口技术课件

    汇编语言是一种低级编程语言,直接对应于计算机的硬件指令集,它由硬指令、伪指令和宏指令三类指令组成。 硬指令是CPU可以直接执行的机器指令,如第2章学习的处理器指令,它们构成了程序的基本执行单元。例如,"MOV...

    DEBUG和MASM伪指令和操作符

    - **SECTION**: 指定段属性。 - **ALIGN**: 对齐指定边界。 - **IFDEF/IFNDEF/ENDIF**: 条件编译指令。 ##### 4.2 常用操作符 - **+/-**: 算术加减运算。 - **&/|**: 位与位或运算。 - **<</>>**: 左移右移运算。 ...

Global site tag (gtag.js) - Google Analytics