'mov cx, [bp+6]' 使用什么寻址模式?

2023-12-01

“mov cx, [bp+6]”使用什么寻址模式?处理器是intel 8086。我正在学习Douglas V. Hall 的《微处理器和接口》。我知道它的内存寻址模式。但不确定它是基于寻址模式还是索引寻址模式?


[bp+6]是基于寻址模式。来自原始 8086 文档:

在基址寻址中,有效地址是位移值与寄存器BX或寄存器BP的内容之和。

索引寻址模式类似,但具有SI or DI寄存器。

基本上,您有以下模式:

  • 直接内存访问就像[1234].
  • 间接注册类似[bx].
  • 基于寻址如4[bx] or [bp+8].
  • 索引寻址就像4[si] or [di+4].
  • 基于索引的寻址(前两者的组合),例如4[bx][si] or [bx+si+4].
  • 其他一些无关紧要的(在这种情况下)如隐式、端口、字符串、相对。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'mov cx, [bp+6]' 使用什么寻址模式? 的相关文章

  • IA-32 中的寻址模式

    我搜索过IA 32中的寻址模式 但没有看到任何网站或文章对寻址模式进行简单的解释 我需要一篇文章或其他东西来简单地通过内存变化期间的一些图片来解释这个问题 并通过图片指定地址模式 我知道在 IA 32 中 寻址的一般形式遵循以下形式 线段
  • 英特尔处理器:“如果 CPUID.06H:EAX.[7] = 1”是什么意思?

    英特尔处理器数据表中的以下注释是什么意思 如何在 Linux 中的驱动程序代码中检查这一点 如果CPUID 06H EAX 7 1 我在英特尔处理器的软件开发人员手册的寄存器描述表的注释栏中遇到了这种类型的语句 Ref https soft
  • 8086组装师

    我在下面的代码中遇到了这个问题 该代码将数字转换为 ASCII 数字文本 然而 代码似乎在 div 操作码处循环 Main Program main mov ax 0x0000 mov ds ax setup data segment re
  • 如何在8086汇编中减去两个64位整数

    编写一个名为 SUB64 的程序 用 0x0160 和 0x0164 中的 64 位整数减去内存位置 0x0150 和 0x0154 中的 64 位整数 将结果存储在内存位置 0x0170 和 0x0174 中 我理解将其分成更小的部分背后
  • 当垂直回扫位被清除时,VGA 卡是否会读取像素缓冲区?

    我正在开发一款使用视频模式 13h 的 DOS 游戏 我一直遇到屏幕撕裂的问题 但直到今天我一直忽略这个问题 我认为修复这将是一个挑战 因为它将涉及延迟像素写入一段精确的时间 但这实际上是一个非常简单的修复 您所要做的就是等待重新设置 VG
  • 操作码中的汇编段

    我注意到在操作码中使用了汇编段 Example MOV DWORD PTR SS EBP 30 30 我认为 PTR SS 用于指定EBP 30来自堆栈 SS 堆栈段 我是对的还是完全错的 而且 你能告诉我上面的例子和 MOV DWORD
  • 在程序集中写入文件时出现问题

    我正在尝试用汇编语言编写一个简单的程序 在其中打开一个现有文件并在其中写入一条消息 这是我在数据段中定义的消息 当我想写入文件时会出现问题 在我尝试写入后 AX 寄存器将包含 5 诺顿专家指南称这是 拒绝访问 错误代码 关于我做错了什么有什
  • 8086 汇编中的大二进制移位?

    我有一个 512 字节长的二进制数据块 我想知道如果我想将其右移一次 最有效的方法是什么 我现在最好的猜测 对于汇编来说非常新 是我必须首先检查一个块 可能是 int 看看它将移出什么 移出 然后携带先前 int 移出的任何内容并继续携带这
  • 8086汇编程序存储唯一值

    我一直在制作这个程序 它接受一个列表并在其中查找唯一元素并将其存储在另一个列表或寄存器中 下面的代码将主列表放入 SI 寄存器中 然后 BX 充当指针 遍历整个数组以查找相似之处 如果没有找到相似之处 则 SI 中的元素 存储在 AL 中
  • 提高 8086 二进制 -> 格雷码的效率

    我是汇编初学者 这是我设计的代码 用于从二进制转换为灰度 并以十六进制打印生成的位模式 mov al a mov bl al shr bl 1 xor al bl 虽然程序可以运行 但我想了解其他更简单的方法来提高效率 我尝试了很多其他方法
  • RISC-V指令集中的FENCE指令是什么意思?

    在浏览 RISC V ISA 时 我在内存模型部分看到了一条指令 FENCE 指令 它到底是什么意思 RISC V ISA 使用宽松的内存模型 其中一个线程执行的加载和存储的顺序在另一个线程看到时可能不同 这样做是为了启用提高内存系统性能的
  • IDIV 汇编语言的问题

    CX 等于 14 AX 等于 16 IDIV CX 但 ALL 中的某个地方有 37 个 该行之前没有任何错误或错误 我哪里做错了 谢谢你 附注在Emu8086上写 IDIV CX除 32 位值DX AX by CX 并将商存储在AX和剩余
  • INT 21h 不打印

    我想知道为什么这个程序不打印 print push ax push bx push dx mov ah 02h ciclo mov al si int 21h inc si loop ciclo pop dx pop bx pop ax r
  • 自定义键盘中断处理程序

    我正在尝试编写一个简单的程序 将标准键盘中断替换为自定义的键盘中断 以减少变量 但是 如果不调用旧处理程序 它就无法工作 这是我的中断处理程序 handler proc push ax push di dec EF pushf when t
  • 汇编基础知识:输出寄存器值

    我刚刚开始学习汇编语言 我已经陷入了 在屏幕上显示存储在寄存器中的十进制值 的部分 我使用 emu8086 任何帮助将不胜感激 model small Specifies the memory model used for program
  • 标志寄存器中保留/未定义位的用途是什么?

    在 Z80 8080 8085 和 8086 处理器的标志寄存器中 被记录为 保留 或 未定义 的位 1 3 5 的用途是什么 这些位未使用 也就是说 没有指令明确地将它们设置为任何值 设计人员认为 5 6 个标志就足够了 他们只是将标志寄
  • 16 位模式下的操作数大小前缀

    我试图理解 GAS 的行为 code16 从手册上看 在16位部分 对于32位操作数或指令 会产生66H操作数覆盖前缀用于指令编码 这是否意味着 code16 movw eax ebx 这种模式合法吗 那么代码不能在16位处理器上运行吗 这
  • 如果没有按下任何键,则检查按键而不阻塞

    我正在创建一个应用程序来查看当前时间 并创建了一个循环来每秒更新时间 循环看起来像这样 UPDATE The code to be re executed JMP UPDATE 但我无法结束它 当我使用 MOV AH 00H INT 21H
  • 内存映射图形输出

    我正在探索使用内存映射图形绘制像素和线条 我在 Windows 的 Textpad 中使用 TASM 当我单击 运行 时 整个屏幕变成蓝色 就是这样 没有绘制像素 model small stack data saveMode db xVa
  • 一个好的8086模拟器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 mac 有没有 8086 模拟器 如果是 哪个是最好的 除非您需要真正的原始 8086 带有自定义操作系统 否则您应该尝试 DosBox

随机推荐

  • Qt:像 Eclipse 一样拖放小部件以实现任意布局(拆分)

    我知道停靠小部件 拆分器等 我仍然想知道是否可以像 Eclipse 中那样创建灵活的拆分系统 当任何小部件根据拖动过程中光标的位置保持垂直或水平拆分时 例如 第一个小部件A占据了整个QMainWindow 第二个B首先在选项卡中打开 所以它
  • 这些数组有什么区别?

    var foo var bar new Array var another 另外 是否可以添加到foo像这样 foo obj new Date var foo foo是一个对象字面量 var bar new Array bar是一个通过初始
  • Yii2 中按字段排序

    我遇到了这个问题 但没有找到 yii Instrument 的任何解决方案 有人知道如何解决这个问题吗 最终 我使用了这个糟糕的代码 params foreach recipeIds as i gt recipeId params id i
  • 打印出 linq 查询的结果

    我正在使用 asp net core 实体框架 我使用 linq 组合三个表 User Products 和 User Had Products 我的查询似乎工作正常 我遇到的问题是打印出查询结果 我可以打印出整个对象 但无法使用点表示法打
  • Direct3D11:翻转 ID3D11Texture2D

    我执行 Direct3D 后台缓冲区的捕获 当我下载像素时 图像帧沿其垂直轴翻转 复制资源或创建目标时是否可以 告诉 D3D 翻转帧ID3D11Texture2D 我是这样做的 我将帧缓冲区复制到其中的纹理是这样创建的 D3D11 TEXT
  • JSON序列化时如何本地化?

    我已经奋斗了几个小时了 但没有好的结果 我正在尝试使用 NET JSON 序列化器将 JSON 从 UI 来回转换为对象 小数会出现问题 因为我的文化标准使用 作为小数分隔符而不是 我尝试过实现自定义转换器 请参阅this问题 没有好的结果
  • Fortran 符号不在加载表中(无法在 R 中调用加载的符号)

    我正在尝试使用 Absoft Pro Fortran 13 0 3 64 位 构建 Fortran DLL 以便在 Windows 7 64 位上的 R 中使用 这是我的文件 mycalc f 这是一个愚蠢的示例 只是为了测试功能 subr
  • debian docker 上的 GLIBC 不兼容

    我正在尝试构建一个以 rust rocksdb 作为依赖项的 Rust 应用程序 使用最新的 rust docker 映像进行编译 然后将二进制文件移动到 debian 这就是我的 Dockerfile 的样子 FROM rust 1 61
  • 我可以从批量插入中检索lastInsertId吗?

    INSERT INTO details idactivity user hours val date VALUES 981 133 0 10500 2008 07 01 981 184 0 2750 2008 07 01 981 184 0
  • 捕获所有无效子域的 nginx 服务器块

    我在一台主机上有多个域 nginx 管理所有这些域 每个域都有自己的 SSL 证书 我使用 webroot 插件从 certbot 获取该证书 我在每个配置文件的末尾都有一个服务器块 作为 包罗万象 来自here and here 对于无效
  • 使用点斜杠的最佳实践是什么?

    我在日志文件中看到大量与在锚标记的 href 属性上使用点斜杠 相关的错误 仅当点击来自 java 客户端时才会发生 HTML文档 a href myPage php Link to a dot slash file a 访问日志条目 my
  • 线程无法访问该对象

    我声明了一个字段 WriteableBitmap colorBitmap 然后我创建了一个简单的线程来执行某些操作 private void doSomething bla bla bla colorBitmap new Writeable
  • 谷歌地图多个信息窗口不起作用

    我尝试使用 javascript 将多个标记和信息窗口添加到谷歌地图 下面是代码
  • 在ansible中用多个值替换多个模式

    我在用regex replace在ansible中过滤 我可以让它工作 但它真的很麻烦 这就是我正在做的 set fact variable value regex replace 84 89 regex replace 76 78 reg
  • Javascript 对项目进行排序,排除某些特定项目

    我正在尝试对一些项目进行排序 对地图进行排序 我可以成功对其进行排序 但我想根据其属性排除一些项目 现在我根据属性 价格这样排序 return product attr active f sort function pA pB return
  • yii 模型搜索,带有时间戳的日期范围

    任何人都可以发布如何使用日期选择器过滤网格视图时间戳 Y m d h m s 列 我的模型如下 public function search criteria new CDbCriteria criteria gt condition ti
  • rmarkdown 中的变量作为标题

    In short 如何在 rmarkdown 中的块内打印 html header 使用变量在代码块内创建标头 In long 假设我的数据集中有许多变量 名称也存储在向量 Vars 中 并且每组 3 个变量属于同一主题 我可以创建一个循环
  • 在 XSLT 中使用 HTML 实体(例如 )

    在 XSLT 中包含 html 实体的最佳方式是什么
  • 求和值时返回 NaN 的对象

    我承认我在 JavaScript 和 JSON 方面很弱 我花了很多时间试图弄清楚为什么我的对象中的数字相加时会返回 NaN 考虑到这一点 下面是我的 JSON 存储到一个变量中 var data acc ext id null cat c
  • 'mov cx, [bp+6]' 使用什么寻址模式?

    mov cx bp 6 使用什么寻址模式 处理器是intel 8086 我正在学习Douglas V Hall 的 微处理器和接口 我知道它的内存寻址模式 但不确定它是基于寻址模式还是索引寻址模式 bp 6 是基于寻址模式 来自原始 808