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

news2025/1/12 15:59:32

汇编语言

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.coloradmin.cn/o/1524138.html

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

相关文章

训练YOLOv8m时AMP显示v8n

在训练Yolov8模型时,使用AMP(Automatic Mixed Precision)可以加速训练过程并减少显存的使用。AMP是一种混合精度训练技术,它通过将模型参数的计算转换为低精度(如半精度)来提高训练速度,同时保持…

llama笔记:官方示例解析 example_chat_completion.py

1 导入库 from typing import List, Optional从typing模块中导入List和Optional。typing模块用于提供类型注解的支持,以帮助明确函数预期接收和返回的数据类型。List用于指定列表类型Optional用于指定一个变量可能是某个类型,也可能是None。 import fir…

Visual Studio 2022下配置 OpenMP 多线程编程环境与运行

目录 一创建项目时选择“创建新项目 -> 空项目 -> 下一步 -> 创建” 二右键“源文件 -> 添加 -> 新建项 -> 添加” 三配置 1. 测试程序: 最开始的时候错误很多: 2.将 “ include "stdafx.h" ” 删掉,添加 “…

4.1_6 文件的基本操作

文章目录 4.1_6 文件的基本操作(一)创建文件(二)删除文件(三)打开文件(四)关闭文件(五)读文件(六)写文件 总结 4.1_6 文件的基本操作 …

uni-app开发特点和开发流程

uni-app是一个基于Vue.js框架的跨平台应用开发框架,通过一套代码可以同时运行在多个平台上,包括iOS、Android、H5等。它采用了基于流布局的页面渲染机制,可以自动适配不同平台的屏幕尺寸和分辨率。uniapp官网:https://uniapp.dclo…

2024-03-17悠然-思源茶社申时茶会有感

悠悠白云里,独住青山客; 然灯松林静,煮茗柴门香; 思归若汾水,无日不悠悠; 源上花初发,公应日日来; 申章写深谊,唯愿长相聚; 时时思己过,刻刻…

图鸟UI发布免费开源、高颜值小程序UI框架

大家好,今天分享的主题是图表统计。图表统计是使用图表和图形来可视化和呈现数据的方法。它通过将数据转化为柱状图、折线图、饼图等形式来展示各种统计指标和趋势。 图表统计可以帮助我们更好地理解和分析数据,发现数据之间的关联和规律,并…

四、自然语言中的生成式任务

目录 4.0 机器翻译 4.1 文本摘要 4.1.1 抽取式摘要 4.2.2 生成式摘要 NLP学习笔记系列,欢迎收藏交流: 零、自然语言处理开篇-CSDN博客 一、NLP中的文本分类-CSDN博客 二、NLP中的序列标注(分词、主体识别)-CSDN博客 三、NL…

基于单片机的IC 卡门禁系统设计

摘要:针对传统门锁钥匙易丢失、配置不便和忘记携带等问题,提出了一种基于STC89C52 的IC 卡门禁系统设计。该系统以STC89C52 单片机为核心来控制电子锁模块的开关。主要过程是由RFID 模块读取IC卡ID 并通过串口发送至STC89C52 单片机模块,STC89C52 单片机模块可以实现在线对I…

使用广度优先搜索算法找到最短路径,然后绘制路径图

使用广度优先搜索算法找到最短路径,然后绘制路径图 from collections import deque import matplotlib.pyplot as plt# 定义网格环境的参数 GRID_SIZE 5 GRID_WIDTH 4 AGENT_SPEED 2 START_STATE (0, 0) GOAL_STATE (GRID_SIZE - 1, GRID_SIZE - 1)# 定义动作…

Excel小技巧 (4) - Sumif用法

学期末,根据以下表格如果要汇总学生的三门主课分数,如何能快速的汇总呢? sumif就是一个很好用的函数 SUMIF(指定汇总的key范围,汇总值,合计范围)

记录windiwos系统安装homestead环境的一次报错

相关软件版本 VirtualBox 7.0.14Vagrant 2.3.8 报错信息如下 Bringing machine homestead up with virtualbox provider... > homestead: Box lc/homestead could not be found. Attempting to find and install...homestead: Box Provider: virtualboxhomestead: Box Ve…

从电影《沙丘》说起——对人工智能的思考

从《沙丘》开始说起 之前看《沙丘》电影,里面有一类角色叫门泰特,这类人大脑可以飞快地运算,在电影设定里是替换人工智能、机器运算的存在。男主保罗也是这类型的人,但他可能基因更强大,吸食了香料后,他的…

力扣题目训练(22)

2024年2月15日力扣题目训练 2024年2月15日力扣题目训练563. 二叉树的坡度637. 二叉树的层平均值643. 子数组最大平均数 I304. 二维区域和检索 - 矩阵不可变154. 寻找旋转排序数组中的最小值 II 2024年2月15日力扣题目训练 2024年2月15日第二十二天编程训练,今天主要…

Qt for Mac阻止MacOS系统休眠

Qt开发的应用程序如果电脑休眠了会影响软件的使用,因此在软件的使用过程中需要防止电脑休眠,在Win上有专门的API进行处理,在Mac上也必需使用Mac平台自身的API,本篇介绍在Mac平台下使用Qt阻止Mac系统休眠。 要调用Mac系统的API&am…

【开发】Spring整合MyBatis、MyBatisPlus

目录 前言 Spring整合MyBatis 1. 在项目中的pom.xml中导入MyBatis和Spring相关的依赖: 2. 配置数据源 3. 编写实体类 4. 编写API接口 5. 编写单元测试方法(业务) Spring整合MyBatis-Plus 1. 在项目中导入依赖: 2. 配置数…

Java Virtual Machine

JVM 1、初始 JVM 简单描述一下 JVM :JVM 本质是一个运行在计算机上的程序,它的职责是运行字节码文件。 JVM 的三大功能: 解释和运行:对字节码文件中的指令,实时的解释成机器码,让计算机执行内存管理&am…

webpack5零基础入门-10babel的使用

Babel JavaScript 编译器。 主要用于将 ES6 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中 1.安装相关包 npm install -D babel-loader babel/core babel/preset-env 2.进行相关配置 2.1第一种写法是在webp…

【C语言入门】浮点型数据在内存中的存储

✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:C语言 个人主页:Celias blog~ 目录 ​编辑 引言 引例 一、浮点型在内存中的存储方式 1.1 …

Employing Multi-Estimations for Weakly-Supervised Semantic Segmentation

eighted selective training (WST) 辅助信息 作者未提供代码