8086寻址方式图解

news2024/11/15 13:47:40

目录

1:立即寻址

2:寄存器寻址

3:直接寻址(存储器直接寻址)

4:寄存器间接寻址(重点)

5:基址寻址(相对寻址)

6:变址寻址 (相对寻址)

7:基址加变址寻址 (基址变址相对寻址)

注意:段跨越前缀(段超越前缀)

总结

例题


可执行程序先要加载到内存,再由控制器识别指令

1:立即寻址

从内存拿到CPU控制器之后不需要再一次访问内存。

所以速度快

注意:目标操作数不能为立即数

例如 MOV  5,AL  错误

 

2:寄存器寻址

从内存拿到CPU控制器之后,也不需要访问内存。所以速度快

 

 

3:直接寻址(存储器直接寻址)

从内存拿到CPU控制器之后,还需要在访问内存,所以速度比上面的两种慢

[]里面存的是偏移地址。直接寻址对应的段都是DX

MOV AX,[1000H] 

MOV AX,VAR  ;这里的VAR是变量名 (在数据段定义的) 

也算是直接寻址

 

 

4:寄存器间接寻址(重点)

考试爱考对应的寄存器是谁?

寄存器间接寻址就要看[]里面是哪个寄存器。

能够出现在[]里面的寄存器一共有4个BX,BP,SI,DI

BX,SI,DI对应的是DX数据段

BP对应的SS堆栈段  

MOV AX,[BX]

 先要去看看寄存器BX里面存的是地址,然后在去内存单元去找这个地址。

这里也有个考点,人家问你寄存器间接寻址。要找的操作数在哪里,答案是内存

5:基址寻址(相对寻址)

要有一个位移量,如果没有位移量就变成寄存器寻址了

MOV  AX,[BX+5]        BX,BP能出现基址寻址的括号中

BX找数据段DS

BP找堆栈段SS

 

6:变址寻址 (相对寻址)

也要有一个位移量,如果没有位移量就变成寄存器寻址了

MOV  AX,[SI+5]    出现在变址寻址中的寄存器只有SI,DI

它们默认的段寄存器都是DS数据段

7:基址加变址寻址 (基址变址相对寻址)

MOV AX,[BX][SI][5]

或者写成MOV AX,[BX+SI+5]

不允许出现  MOV AX,[BX+DI+4]   或者MOV AX,[SI+DI+4]  ,只能各选一个

基址寄存器和变址寄存器的位数要相同

注意:段跨越前缀(段超越前缀)

MOV AX,SS:[BX]

就不会默认去找数据段DS了,而是去找堆栈段SS。强制给改了

物理地址就是  SS×16+BX

总结

基址寻址,变址寻址有的教材叫相对寻址要注意

1,2种方式寻址速度快

3-7寻址方式,要找的操作数都在内存中

它们后面跟的地址仅仅都是偏移地址,要想定位物理地址要找段

凡是遇到BP都要去找堆栈段SS

其余的一律去找代码段DS

基址寄存器 BX,BP

编址寄存器 SI,DI

例题

1:8086中BP用作基地址寄存器是,隐含使用的段寄存器是(SS)。

2:MOV  AX,[BP][SI]指令,源操作数的寻址方式时(基址加变址寻址)。

3:8086的基址加变址寻址方式,基址寄存器可以是(BX,BP),变址寄存器可以是(SI,DI)。

4:下面四个寄存器中,不能作为间接寻址的寄存器是(B)。

A:BX     B:DX   C:BP   D:DI

5:指令ADD  AX,16[BX] 中源操作数的寻址方式()

A 立即寻址   B寄存器寻址   C寄存器相对寻址   D寄存器间接寻址

因为有偏移量

6:寄存器间接寻址中,操作数在()中。

A通用寄存器  B堆栈   C:主存单元   D段寄存器

主存就是内存

7:根据操作数所在位置确定寻址方式,操作数在指令中为(立即)寻址方式,操作数的存储单元地址在指令中,为(直接)寻址方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后端程序员必备的Linux基础知识+常见命令(2023年最新版教程)

文章目录[1. 从认识操作系统开始](https://link.juejin.cn?targethttps%3A%2F%2Fsnailclimb.gitee.io%2Fjavaguide%2F%23%2Fdocs%2Foperating-system%2Flinux%3Fid%3D_1-%E4%BB%8E%E8%AE%A4%E8%AF%86%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%A7%8B)[1.1. 操作系统简…

【与达梦同行】数据库coredump的配置方式与截断测试

一、简述 Core的意思是内存, Dump的意思是扔出来, 堆出来.开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成。在国产操作系统麒麟V10中运维的时候,经常遇见一个问…

一、OpenAI ChatGPT 注册使用

文章目录注册购买openai的官网问题今天早上在sheep公众号里面看到了关于openai 旗下研发的chatgpt的产品,去到chatgpt的网页,我们可以看到他的标语。ChatGPT: Optimizing Language Models for Dialogue 哈哈,我百度了一下,大概意…

文教资料杂志文教资料杂志社文教资料编辑部2022年第17期目录

语言文学研《文教资料》投稿:cn7kantougao163.com 从MRC认知模型看《释大》中的同源关系 苏楚然; 1-4 徐志摩《再别康桥》英译本对比分析——基于许渊冲诗译的“三美论” 牟逸飞;梁楚涵; 5-9 严歌苓小说“笑”书写的语言修辞学视角分析 孙婷婷; 10-12 …

得物云原生全链路追踪Trace2.0-采集篇

一、0xcc开篇 2020年3月,得物技术团队在三个月的时间内完成了整个交易体系的重构,交付了五彩石项目,业务系统也进入了微服务时代。系统服务拆分之后,虽然每个服务都会有不同的团队各司其职,但服务之间的依赖也变得复杂…

学1个月爬虫就月赚6000?别被骗了,老师傅告诉你爬虫的真实情况!

用爬虫赚外快的事情我也干了很多年,爬虫自然不在话下。 那么今天我来说说5个深入一点的爬虫问题,让你清楚爬虫的真实情况: 1.现在的爬虫接单真能1个月赚6000的快外? 2.初级爬虫只能接一些小单,怎样才算初级爬虫水平&…

Kafka ui 搭建以及使用

Kafka ui 序 kafka 本身没有自带相关的 ui 界面,但是很多时候没有页面意味着只有使用命令行进行相关操作如创建 topic、更改 topic 信息、重置 offset 等等。但实际使用中这种效果很差劲,我们一般还是会借助其他软件,实现对 kafka 的页面管…

windows服务器搭建原神私服教程(附客户端+服务端+环境配置)

今天给大家带来的是windows服务器搭建原神私服的教程,服务端搭建于私人windows服务器,客户端支持情况:PC、iOS支持国服 /国际服均可,Android仅支持国际服。本篇文章附有客户端和服务端环境配置文件,请大家按需下载使用…

MobileNet v1神经网络剖析

本文参考: MobileNet网络_-断言-的博客-CSDN博客_mobile-ne Conv2d中的groups参数(分组卷积)怎么理解? 【分组卷积可以减少参数量、且不容易过拟合(类似正则化)】_马鹏森的博客-CSDN博客_conv groups Pytorch Mobil…

阿里巴巴正式开源云原生应用脚手架

12 月 3 日,微服务 x 容器开源开发者 Meetup 上海站上,阿里云智能技术专家,云原生应用脚手架项目负责人良名宣布阿里巴巴云原生应用脚手架项目正式开源,并在现场做了相关内容介绍。本次开源的云原生应用脚手架是一款基于 Spring I…

监控Kubernetes集群证书过期时间的三种方案

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解决证书过期的问题,一般有以下几…

关于“堆”,看看这篇文章就够了(附堆的两种应用场景)

… 📘📖📃本文已收录至:数据结构 | C语言 更多知识尽在此专栏中!文章目录📘前言📘正文📖认识堆📖实现堆📃结构📃入堆📃出堆📃建堆算法…

新Crack:Neodynamic ZPLPrinter SDK for .NET Standard

适用于 .NET Standard V4.0.22.1206 的 Neodynamic ZPLPrinter Emulator SDK 添加对带有自定义字体设置的 ^BC 命令的支持。2022 年 12 月 7 日 - 16:03新版本特征 添加了对带有自定义字体设置的 ^BC 命令的支持。关于 Neodynamic ZPLPrinter Emulator SDK for .NET Standard 使…

在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

广义相加模型(GAM:Generalized Additive Model),它模型公式如下:有p个自变量,其中X1与y是线性关系,其他变量与y是非线性关系,我们可以对每个变量与y拟合不同关系,对X2可以…

动态规划入门

一、基本思想 一般来说,只要问题可以划分成规模更小的子问题,并且原问题的最优解中包含了子问题的最优解,则可以考虑用动态规划解决。动态规划的实质是分治思想和解决冗余,因此,动态规划是一种将问题实例分解为更小的、…

JAVA SCRIPT设计模式--结构型--设计模式之FlyWeight享元模式(11)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能,所以不可能像C,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVA SCRIPT代码,代码只是实现了设计模式的主体功能,不代…

知识图谱-KGE-语义匹配-双线性模型(打分函数用到了双线性函数)-2014 :MLP

Knowledge Vault & MLP 【paper】 Knowledge Vault: A Web-Scale Approach to Probabilistic Knowledge Fusion 【简介】 本文是谷歌的研究者发表在 KDD 2014 上的工作,提出了一套方法用于自动挖掘知识,并构建成大规模知识库 Knowledge Vault&…

【Linux】期末复习

文章目录1. 认识Linux系统2. Shell命令3. VI编辑器的使用4. Shell脚本编程5. 实验部分1. 认识Linux系统 Linux特点 完全免费开发性多用户、多任务丰富的网络功能可靠安全、性能稳定支持多种平台 2.Linux系统的组成 内核Shell应用程序文件系统 3.Linux版本 Linux版本由形如x1.x2…

(00)TCL脚本运行环境介绍

(00)TCL脚本运行环境介绍 01-TCL简介 02-TCL编辑器 03-TCL运行环境 04-TCL文件 05-结语 (01)TCL简介 Tcl 语言的全称 Tool Command Language,即工具命令语言。这种需要在 EDA 工具中使用的相当之多,或者说几乎每个 EDA 工具都支持 Tcl 语言。所以对于 IC 专业的…

Android Gradle 学习笔记(三)语言和命令

Gradle 支持使用 Groovy DSL 或 Kotlin DSL 来编写脚本。所以在学习具体怎么写脚本时,我们肯定会考虑到底是使用 Kotlin 来写还是 Groovy 来写。 不一定说你是 Kotlin Android 开发者就一定要用 Kotlin 来写 Gradle,我们得判断哪种写法更适合项目、更适…