`
iaiai
  • 浏览: 2196314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于汇编中的assume

 
阅读更多
以前学汇编时,始终搞不清楚assume是干什么用的,今天在论坛上搜了一下,发现一个网友这样解释:

"在数据段中定义的每一个变量标志符其实都代表了一个偏移量(也称为有效地址),这个偏移量与
数据段段值相结合就指向某个内存地址。在程序中使用ASSUME伪指令是用来指明一个默认的段地址。一旦你把某个数据段的段名指定给某个段寄存器(比如ASSUME   DS,DATA1),这之后当你使用这个数据段(DATA1)内定义的变量,编译程序就自动把它与这个段寄存器(DS)里的段值(表示一个段地址)结合起来使用。"

很是不错。很长时间的疑问终于解开了。
分享到:
评论

相关推荐

    Assume指令解析

    Assume 指令是汇编语言中的一种伪指令,用于告诉汇编程序,用指定的段寄存器寻址相应的逻辑段,建立段寄存器与段的默认关系。通过 Assume 指令,汇编程序可以自动地将段寄存器与相应的逻辑段关联起来,从而正确地...

    钢琴曲汇编 汇编汇编汇编 汇编

    标题中的“钢琴曲汇编”和描述中的重复词汇“汇编”表明了本文档与计算机编程语言中的汇编语言有关,而不是音乐领域的钢琴曲。标签也进一步确认了这个主题是“汇编”。部分内容展示了实际的汇编代码,包括数据段...

    关于汇编语言基础指令介绍

    汇编语言使用指令的助记符来代替机器语言中的二进制码,这使得编程变得更加易读和理解。助记符通常是英文单词或缩写,如`MOV`表示移动数据,`ADD`表示加法。 汇编语言程序由一系列指令组成,这些指令可以分为执行性...

    汇编语言 汇编语言

    - **易于理解**:相较于机器语言中的二进制代码,汇编语言更容易阅读和理解。 - **高效率**:汇编语言编写的程序通常占用较少的内存空间且执行速度快。 - **灵活性**:汇编语言允许程序员直接访问和控制硬件设备,...

    从0看汇编 --- 汇编入门

    3. **寄存器**: 处理器内部的临时存储单元,如EAX、EBX、ECX和EDX在x86架构中,它们在汇编程序中扮演重要角色,用于快速数据处理和地址计算。 4. **内存操作**: 汇编语言可以直接访问内存,通过寻址模式(如直接、...

    汇编 循环设计报告

    本报告主要围绕循环程序设计展开,通过实验学习汇编语言中循环结构的应用,实现起泡排序算法,并最终将源代码编译为可执行文件(EXE)。实验主要包括以下几个关键知识点: 1. **循环程序设计**: 循环是编程中的...

    汇编语言实现输出helloworld

    根据给定的文件信息,我们可以总结出以下关于“汇编语言实现输出HelloWorld”的相关知识点: ### 汇编语言简介 汇编语言是一种低级编程语言,它为每种类型的计算机提供了一对一的机器指令映射。汇编语言程序通常由...

    汇编语言基础语法详解

    汇编语言是计算机科学中的一个低级编程语言,它直接对应于特定计算机的机器语言,为特定的硬件平台设计。汇编语言的基础语法是程序员使用的一系列符号和指令,这些指令在经过汇编器处理后会被转化为机器可以直接执行...

    汇编语言程序基本结构与组成

    基本指令是汇编语言中最核心的部分,它们直接对应于CPU的具体操作。例如,“MOV”用于数据传输,“ADD”用于加法运算等。 **2.2.2 伪指令** 伪指令并不直接对应于CPU指令,而是由汇编器解释并转换为相应的指令或...

    判断奇偶的汇编程序代码

    ### 汇编语言中的奇偶判断程序解析 在计算机科学与技术领域中,汇编语言作为一种低级编程语言,在教学、系统底层开发以及特定硬件交互等场景中扮演着重要角色。本文将深入分析一段用于判断输入数字是否为奇数或偶数...

    汇编语言link masm 文件

    3. **地址表示**:汇编语言中,数据和指令的地址可以使用直接、相对、基址加偏移等多种方式表示,理解这些地址表示方式对于编写高效代码至关重要。 4. **伪指令**:MASM支持一系列伪指令,如`ASSUME`用于指定段...

    masm5.0汇编编译器

    - **伪指令**:MASM5.0提供了许多伪指令,简化了内存管理和代码组织,如`ASSUME`用于指定段寄存器和段的关系,`EQU`用于常量定义。 - **调试支持**:MASM5.0生成的OBJ文件可以被调试工具使用,帮助程序员调试代码。 ...

    电子科技大学汇编实验报告总结.doc

    通过本实验,学生可以学习汇编语言的基本概念和编程技术,了解汇编语言在实际应用中的作用。 二、实验原理: 在本实验中,我们使用了MASM文件和Debug调试工具来编写、调试和运行汇编程序。MASM(Microsoft Macro ...

    汇编连接和编译器合体(LINK、MASM)

    例如,`ASSUME`指令可以用于告诉汇编器变量或段的属性,`MACRO`和`ENDM`用于定义和结束宏。 然而,单个汇编源文件往往无法构成一个完整的可执行程序,因为它们可能包含外部函数或数据的引用。这就引出了链接器...

    中科大内部的汇编课件

    例如,在提供的课件中,我们看到了一个简单的汇编源程序,它定义了一个名为`abc`的段,并在其中包含了汇编指令,如`mov`和`add`,用于进行基本的算术运算。 **2. 段定义** 在汇编语言中,程序被组织成段,如代码段...

    汇编语言经典程序

    7. **宏和伪指令**:MASM中的宏定义可以简化重复代码,伪指令如ASSUME、PROC、ENDP等帮助组织代码结构。 通过深入学习和实践这些经典程序,不仅能够提升对汇编语言的理解,还能培养分析问题和解决问题的能力,为...

    汇编调试程序(masm)

    调试是汇编编程的重要环节,MASM通常与调试器如`DEBUG.EXE`或现代IDE(如Visual Studio)中的调试器配合使用。这些工具提供以下功能: - **断点设置**: 在特定行或地址暂停程序执行,方便检查当前状态。 - **单步...

    masm汇编语言bain写

    不过,我们可以从中推测,可能是在讨论关于数据处理、存储优化或系统资源管理的问题,这在汇编编程中是常见的挑战。 【标签】"masm" 明确了我们要讨论的是与MASM相关的技术。MASM是微软提供的一款用于编写Intel架构...

    汇编语言 实现两数相乘

    ASSUME CS:code ``` 这里定义了一个名为`code`的代码段,并假设代码段所在的段寄存器为`CS`。 ##### 主程序入口 ```assembly start: ``` `start:` 标签定义了程序的入口点。 ##### 读取第一个数字 ```assembly...

Global site tag (gtag.js) - Google Analytics