七种寻址方式(直接寻址方式)
指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。
在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器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] ;两者是等效的,均为直接寻址
七种寻址方式(直接寻址方式)相关推荐
- 七种寻址方式(32位地址的寻址方式)
在32位微机系统中,除了支持前面的七种寻址方式外,又提供了一种更灵活.方便,但也更复杂的内存寻址方式,从而使内存地址的寻址范围得到了进一步扩大. 在用16位寄存器来访问存储单元时,只能使用基地址寄存器 ...
- 汇编语言的七种寻址方式
汇编语言的七种寻址方式 寻址方式即指令中指明的操作数存放位置的表达方式. (一)操作数存放位置 指令中进行操作数的数据存放在三种位置:指令.寄存器.存储器 1.1 立即数--存放在指令中 被操作数据直 ...
- 【单片机原理及接口技术】【理解】七种寻址方式
文章目录 七种寻址方式 1.寄存器寻址 2.直接寻址(操作数是片内RAM) 3.立即数寻址 4.寄存器间接寻址(两把抽屉两把钥匙,出门只带1把就行) 5.变址寻址(基址寄存器 + 变址寄存器间接寻址) ...
- 寻址方法有哪些-七种数据寻址-三种内存寻址
七种数据寻址方式 1.立即寻址方式:操作数作为指令的一部分而直接写在指令中 2.直接寻址方式:指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址 3.寄存器寻址方式:指令所要的操作数已存 ...
- 寻址方式 寄存器寻址方式 立即数寻址方式 存储器寻址方式: 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式 串操作寻址方式 I/O端口寻址方式
寻找操作数地址的方法 共有八种: 寄存器寻址方式 立即数寻址方式 存储器寻址方式:( 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式) 串操作寻址方式 I/O端口寻址方式 80 ...
- jvm七种垃圾收集器
JVM_七种垃圾收集器介绍 本文中的垃圾收集器研究背景为:HotSpot+JDK7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的 ...
- 数据事务四种隔离机制和七种传播行为
数据事务四种隔离机制和七种传播行为 一.隔离级别: 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Seria ...
- Python 炫技操作:合并字典的七种方法
来源 | Python编程时光(ID: Cool-Python) Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那些一般开发者看 ...
- RabbitMQ 七种队列模式应用场景案例分析(通俗易懂)
点击关注公众号,Java干货及时送达 作者:我思知我在 blog.csdn.net/qq_32828253/article/details/110450249 七种模式介绍与应用场景 简单模式(Hel ...
- 七种编程语言的学习曲线
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 程序员 Dobiasd 绘制七种编程语言的学习曲线图. 这些语言是 ...
最新文章
- fineUI表格控件各属性说明
- 【Android个人理解(八)】跨应用调用不同组件的方法
- mysql查询语句在哪里编写_mysql编写语句:更新查询
- dnscat2搭建dns隧道
- Cobbler部署之FAQ处理
- python中文字符串转list
- cesium添加填充_Cesium中级教程1 - 空间数据可视化(一)
- vue前端验证输入_Vue-Element之vue-element 输入框验证
- Log4J文件路径设置
- 最舒服的颜色搭配值,很有用哦,特别是做设计的!!
- 《MySQL必知必会》学习笔记——第六章(过滤数据)
- 雷锋实验室:Evernote的中国门徒
- win10底部任务栏无响应解决办法
- 怎样做风险评估?风险评估有哪些具体实施流程?
- dgen模拟器 linux,怎么样在Linux/FreeBSD下玩模拟器游戏
- 树莓派连接侧屏出现黑屏蓝屏解决方法
- ios13屏蔽系统更新方法
- 毕业设计 - 题目_ 基于单片机的智能小车 - 嵌入式 物联网 本科毕设
- 面向对象C#初级入门精讲(2)C#语言基础-徐照兴-专题视频课程
- linux点用户输密码时就调回登录框,Linux系统登陆输入密码正确 闪回登陆界面
热门文章
- 性能优化篇(3):避免空的图片src
- center.php,mycenter.php
- linux中怎么测试i o,[linux]linuxI/O测试的方法之dd
- java白盒测试面试题_面试之JAVA基础Junit了解
- python必备神器_Python 必备神器
- 机器学习算法 - 随机森林之决策树初探(1)
- 典型医学设计实验GEO数据分析 (step-by-step) - 数据获取到标准化
- javafx应用启动自动执行函数_JavaFx:Application start方法中的异常
- python实训内容_Python实验课:Python元组数据及其运算
- 电脑键盘练习_用键盘打字怎样才能练得快,有什么窍门没?