3.4 bp,si,di寄存器,寻址方式,寄存器总结

汇编语言

1. [bx+idata]

  • 我们可以用[bx]来指明一个内存单元
  • 我们也可以用[bx+idata]来表示一个内存单元,它的偏移地址为bx中的数值加上idata

image.png

image.png

image.png

mount c d:masm
c:
debug
r
d 2000:1000
e 2000:1000
12 34 56 78
a
mov ax,2000
mov ds,ax
mov bx,1000
mov ax,[bx]
mov cx,[bx+1]
add cx,[bx+2]

2. si和di

  • si和di是8086CPU中和bx功能相近的寄存器
  • si和di不能够分成两个8位寄存器来使用
  • 下面3组指令实现了相同的功能
mov bx,0
mov ax,[bx]

mov si,0
mov ax,[si]

mov di,0
mov ax,[di]
  • 下面的3组指令也实现了相同的功能
mov bx,0
mov ax,[bx+123]

mov si,0
mov ax,[si+123]

mov di,0
mov ax,[di+123]

3. [bx+si]和[bx+di]

  • [bx+si]和[bx+di]的含义相似
  • [bx+si]和[bx+di]表示一个内存单元,它的偏移地址为(bx)+(si),即bx中的数值加上si中的数值

4. 不同的寻址方式的灵活应用

  1. [idata]用一个常量来表示地址,可用于直接定位一个内存单元
  2. [bx]用一个变量来表示内存地址,可用于简介定位一个内存单元
  3. [bx+idata]用一个变量和常量表示地址,可以一个起始地址的基础上用变量间接定位一个内存单元
  4. [bx+si]用两个变量表示地址
  5. [bx+si+idata]用两个变量和一个常量表示地址

5. bx、si、di和bp

  • 在[…]中,这4个寄存器可以单个出现,可以组合出现
  • 注意:bx和bp,si和di不能同时出现
  • 但是idata可以加,这个没关系
  • 只要在[…]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中

例如:

r ss
1000
d 1000:0000
12 34 56
a
mov ax,[bp+1]
t
//输出结果,ax = 5634
//没有显性给出段地址,使用默认地址即ss的值“1000”,再bp加上1,则地址为1000:0001

image.png

image.png

6. 寻址方式总结

image.png

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何创建用户流(User Flow):分步指南

原文作者:Camren Browne,CareerFoundry 翻译:数字营销工兵 (sources: 图片来源于网络) 用户流(User Flow)是当今用户体验行业中最有用但被误解的工具之一。资深设计师经常避开它们,而初级设计师则很难抓住它们。 事…

代码算法训练营day7 | 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和

day7: 剩下的两题: 15. 三数之和18. 四数之和 15. 三数之和 题目链接 状态: 文档:programmercarl.com 注意: 这和第一题中的四数相加Ⅱ很像,如果用哈希算法的思路就是: 两层for循环就可以确定 a 和b 的数值…

C++面向对象程序设计 - 创建学生类

在20世纪80年代提出了面向对象的程序设计(Object oriented programming, OOP)思想,在此形势下,C由AT&TBell(贝尔)实验室于20世纪80年代初在C语言的基础上开发成功,C保留了C语言原有的所有优…

(C语言)整数在内存中的存储与大小端

1. 整数在内存中的存储 整数的2进制表示方法有三种 ,即 原码、反码和补码 有符号类型数据三种表示方法均有符号位和数值位两部分 ,符号位都是用0表示“正” ,用1表示“负” ,最高位的一位是被当做符号位 ,剩余的都是…

智慧公厕建设的主要目标是什么?

随着城市化进程的不断推进,公共厕所作为城市基础设施的重要组成部分,也变得越来越重要。为了提升公共厕所的管理水平、提供更好的服务质量,智慧公厕应运而生。智慧公厕的建设旨在通过信息化手段实现公共厕所的全面感知监测,实现公…

VGG论文学习笔记

题目:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 论文下载地址:VGG论文 摘要 目的:研究深度对精度的影响 方法:使用3*3滤波器不断增加深度,16和19效果显著 成绩:在ImageNet 20…

C++ 智能指针的使用

智能指针类型 在C程序中,普通变量使用栈内存,为函数运行时专用,结束后会自动释放,无须考虑内存释放问题。 但堆内存是共用的,其使用是通过指针变量的new来分配,使用delete来释放,因指针使用方便…

AI预测-一文解析AI预测数据工程

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

Flink程序员开发利器本地化WebUI生成

前言 在flink程序开发或者调试过程中,每次部署到集群上都需要不断打包部署,其实是比较麻烦的事情,其实flink一直就提供了一种比较好的方式使得开发同学不用部署就可以观察到flink执行情况。 上代码 第一步:开发之前需要引入在本…

中间件漏洞(redis)

目录 1.Redis服务器被挖矿案例 2.redis常见用途 3.redis环境配置 4.redis的持久化机制 5.redis动态修改配置 6.webshell提权案例 7.定时任务bash反弹连接提权案例 8.SSH Key提权案例 9.redis安全加固分析 1.Redis服务器被挖矿案例 我没有体验过,那就看看别…

Flutter:构建美观应用的跨平台方案

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【Fitten Code】“吊打“Github Copilot的国内免费代码辅助插件

🌻个人主页:相洋同学 🥇学习在于行动、总结和坚持,共勉! 目录 1.Github Copilot 2.Fitten Code 2.1 对话体验: 2.2 代码补全体验: 2.3 Pycharm安装方法: 2.4 Vscode安装方法…

git基础命令(一)

目录 基础概念git statusgit addgit diffgit loggit commit文件可以处于以下三种状态之一远程存储库与本地存储库参考 用于知识记录。后续有新的的内容,例子,将持续更新本文档。 基础概念 工作树:git add 之前,变动内容的文件列表…

Linux课程_____用户的管理

一、规则 用户至少属于一个组,在创建时如果不指定组,将会创建同名的组 用户只能有一个基本组(主组),但可以隶属于多个附加组 如果一个组作为某用户的基本组,此组将不能被删除 UID: 用户标识 GID: 组的标识 root管理员的uid及gid 都为0 二、用户的配置文件 1./etc/passwd …

<c语言学习> 整数和浮点数的存储方式

1.整数 有符号整数 第一位为符号位 1代表负数 0代表正数 举例: signed char 8 ---------------------> 0000 1000 -8 ----------------------> 1111 1000 (补码形式存储) 补码存储(计算)的妙处&…

Discourse 分类图片

我们可以在 Discourse 上为分类添加图片。 进入分类编辑界面,然后选择 Image 标签。 在 Images 标签下,上传分类需要的图片。 图片大小 图片的大小是 Discourse 进行控制的,高度为 150 PX 像素。 如果上传的图片大于 150 px 的高度像素&…

【JavaSE】类与对象

前言 Java是一门纯面向对象的语言,在面向对象的世界里,一切都为对象。它是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。类与对象是我们学习面向对象最基础的知识,是面向对象实现的基石,可见它是有多么重…

打破数据孤岛,TDengine 与 Tapdata 实现兼容性互认证

当前,传统行业正面临着数字化升级的紧迫需求,但海量时序数据的处理以及数据孤岛问题却日益突出。越来越多的传统企业选择引入时序数据库(Time Series Database,TSDB)升级数据架构,同时,为了克服…

cesium 动态立体墙效果

cesium 动态立体墙效果 以下为源码直接复制可用 实现效果 实现思路 通过修改“material”自定义材质实现动态效果 核心类(WallImageTrailMaterialProperty)自定义材质 class WallImageTrailMaterialProperty {constructor(options) {this

推荐一款好用的前端分页插件jqPaginator

jqPaginator 简洁、高度自定义的jQuery分页组件,适用于多种应用场景。 现在网上各种各样的分页组件很多,但是很难找到十分“称心如意”的,于是jqPaginator诞生了。 我心中理想的分页组件,要不受CSS框架限制,可以使用…
最新文章