指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。

在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。

例:假设有指令:MOV BX, [1234H],在执行时,(DS)=2000H,内存单元21234H的值为5213H。问该指令执行后,BX的值是什么?

解:根据直接寻址方式的寻址规则,把该指令的具体执行过程用下图来表示。

从图中,可看出执行该指令要分三部分:
 
由于1234H是一个直接地址,它紧跟在指令的操作码之后,随取指令而被读出;

访问数据段的段寄存器是DS,所以,用DS的值和偏移量1234H相加,得存储单元的物理地址:21234H;

取单元21234H的值5213H,并按“高高低低”的原则存入寄存器BX中。

所以,在执行该指令后,BX的值就为5213H。

由于数据段的段寄存器默认为DS,如果要指定访问其它段内的数据,可在指令中用段前缀的方式显式地书写出来。

下面指令的目标操作数就是带有段前缀的直接寻址方式。

MOV ES:[1000H], AX

直接寻址方式常用于处理内存单元的数据,其操作数是内存变量的值,该寻址方式可在64K字节的段内进行寻址。

注意:立即寻址方式和直接寻址方式的书写格式的不同,直接寻址的地址要写在括号“[”,“]”内。在程序中,直接地址通常用内存变量名来表示,如:MOV BX, VARW,其中,VARW是内存字变量。

试比较下列指令中源操作数的寻址方式(VARW是内存字变量):
  MOV AX, 1234H MOV AX, [1234H] ;前者是立即寻址,后者是直接寻址 
  MOV AX, VARW MOV AX, [VARW] ;两者是等效的,均为直接寻址

七种寻址方式(直接寻址方式)相关推荐

  1. 七种寻址方式(32位地址的寻址方式)

    在32位微机系统中,除了支持前面的七种寻址方式外,又提供了一种更灵活.方便,但也更复杂的内存寻址方式,从而使内存地址的寻址范围得到了进一步扩大. 在用16位寄存器来访问存储单元时,只能使用基地址寄存器 ...

  2. 汇编语言的七种寻址方式

    汇编语言的七种寻址方式 寻址方式即指令中指明的操作数存放位置的表达方式. (一)操作数存放位置 指令中进行操作数的数据存放在三种位置:指令.寄存器.存储器 1.1 立即数--存放在指令中 被操作数据直 ...

  3. 【单片机原理及接口技术】【理解】七种寻址方式

    文章目录 七种寻址方式 1.寄存器寻址 2.直接寻址(操作数是片内RAM) 3.立即数寻址 4.寄存器间接寻址(两把抽屉两把钥匙,出门只带1把就行) 5.变址寻址(基址寄存器 + 变址寄存器间接寻址) ...

  4. 寻址方法有哪些-七种数据寻址-三种内存寻址

    七种数据寻址方式 1.立即寻址方式:操作数作为指令的一部分而直接写在指令中 2.直接寻址方式:指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址 3.寄存器寻址方式:指令所要的操作数已存 ...

  5. 寻址方式 寄存器寻址方式 立即数寻址方式 存储器寻址方式: 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式 串操作寻址方式 I/O端口寻址方式

    寻找操作数地址的方法 共有八种: 寄存器寻址方式 立即数寻址方式 存储器寻址方式:( 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式) 串操作寻址方式 I/O端口寻址方式 80 ...

  6. jvm七种垃圾收集器

    JVM_七种垃圾收集器介绍 本文中的垃圾收集器研究背景为:HotSpot+JDK7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的 ...

  7. 数据事务四种隔离机制和七种传播行为

    数据事务四种隔离机制和七种传播行为 一.隔离级别: 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Seria ...

  8. Python 炫技操作:合并字典的七种方法

    来源 | Python编程时光(ID: Cool-Python) Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那些一般开发者看 ...

  9. RabbitMQ 七种队列模式应用场景案例分析(通俗易懂)

    点击关注公众号,Java干货及时送达 作者:我思知我在 blog.csdn.net/qq_32828253/article/details/110450249 七种模式介绍与应用场景 简单模式(Hel ...

  10. 七种编程语言的学习曲线

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 程序员 Dobiasd 绘制七种编程语言的学习曲线图. 这些语言是 ...

最新文章

  1. fineUI表格控件各属性说明
  2. 【Android个人理解(八)】跨应用调用不同组件的方法
  3. mysql查询语句在哪里编写_mysql编写语句:更新查询
  4. dnscat2搭建dns隧道
  5. Cobbler部署之FAQ处理
  6. python中文字符串转list
  7. cesium添加填充_Cesium中级教程1 - 空间数据可视化(一)
  8. vue前端验证输入_Vue-Element之vue-element 输入框验证
  9. Log4J文件路径设置
  10. 最舒服的颜色搭配值,很有用哦,特别是做设计的!!
  11. 《MySQL必知必会》学习笔记——第六章(过滤数据)
  12. 雷锋实验室:Evernote的中国门徒
  13. win10底部任务栏无响应解决办法
  14. 怎样做风险评估?风险评估有哪些具体实施流程?
  15. dgen模拟器 linux,怎么样在Linux/FreeBSD下玩模拟器游戏
  16. 树莓派连接侧屏出现黑屏蓝屏解决方法
  17. ios13屏蔽系统更新方法
  18. 毕业设计 - 题目_ 基于单片机的智能小车 - 嵌入式 物联网 本科毕设
  19. 面向对象C#初级入门精讲(2)C#语言基础-徐照兴-专题视频课程
  20. linux点用户输密码时就调回登录框,Linux系统登陆输入密码正确 闪回登陆界面

热门文章

  1. 性能优化篇(3):避免空的图片src
  2. center.php,mycenter.php
  3. linux中怎么测试i o,[linux]linuxI/O测试的方法之dd
  4. java白盒测试面试题_面试之JAVA基础Junit了解
  5. python必备神器_Python 必备神器
  6. 机器学习算法 - 随机森林之决策树初探(1)
  7. 典型医学设计实验GEO数据分析 (step-by-step) - 数据获取到标准化
  8. javafx应用启动自动执行函数_JavaFx:Application start方法中的异常
  9. python实训内容_Python实验课:Python元组数据及其运算
  10. 电脑键盘练习_用键盘打字怎样才能练得快,有什么窍门没?