当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么?

2023-11-29

当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么?

那么,假设您编写了代码mov eax, ebx or add eax, ebx默认值为 32 位,但您使用 67h 覆盖。

处理器如何处理这种情况?


英特尔软件开发人员手册*,第 2 卷,第 2.1 节详细介绍了每个指令前缀的行为。它表示,在没有内存操作数的指令中使用地址大小前缀(67h)是被保留的,并且可能会导致不可预测的行为。

操作数大小前缀 (66h) 可用于在 16 位和 32 位操作数大小之间切换,也可作为某些 SSE2/SSE3/SSSE3/SSE4 指令的强制前缀。保留其他用途,并可能导致不可预测的行为。

段覆盖前缀是为任何分支指令保留的。

* https://software.intel.com/en-us/articles/intel-sdm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么? 的相关文章

  • 序列化对于对象大小估计可靠吗?

    我使用序列化来估计对象使用的内存量 我已经读过this https stackoverflow com questions 426396 how much memory does a c net object use and this ht
  • Kotlin:覆盖子类型中的通用属性

    我试图编写一些通用代码 但无法摆脱Type of PROPERTY is not a subtype of the overridden property error 我的代码的简化版本 abstract class BaseP
  • 使用 MIPS 从 Big Endian 到 Little Endian 无需逻辑运算?

    我正在使用 MIPS QtSpim 将 32 位字从 Big Endian 转换为 Little Endian 我下面显示的内容已检查且正确 不过我想知道还有什么其他方法可以让我进行转换 我虽然只使用了旋转和移位 但如果没有逻辑运算 我就无
  • 为什么如果内存组织为字,则程序计数器加 1;如果内存组织为字节,则程序计数器加 2?

    如果在计算机中一条指令是 16 位 并且如果存储器被组织为 16 位字 则通过在当前指令的地址中加 1 来计算下一条指令的地址 如果内存是按字节组织的 可以单独寻址 那么我们需要在当前指令地址上加二 得到顺序执行的下一条指令的地址 为什么会
  • Linux内核页表更新

    在linux x86 中分页 每个进程都有它自己的页面目录 页表遍历从 CR3 指向的页目录开始 每个进程共享内核页目录内容 假设三个句子是正确的 假设某个进程进入内核 模式并更新他的内核页目录内容 地址映射 访问 权利等 问题 由于内核地
  • CPU寄存器和多任务处理

    我目前正在学习汇编 我很困惑 CPU 寄存器如何与多任务一起工作 所以在多任务系统中 CPU可以随时暂停某个程序的执行并运行另一个程序 那么在这一步中寄存器值是如何保存的呢 寄存器是压入堆栈还是以其他方式 CPU 寄存器如何与多任务一起工作
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 如何将 x86 GCC 风格的 C 内联汇编转换为 Rust 内联汇编?

    我在 C 中有以下内联汇编 unsigned long long result asm volatile byte 15 byte 49 shlq 32 rdx orq rdx rax a result rdx return result
  • iOS AVCaptureVideoDataOutput 消耗太多内存

    我在用AVFoundation使用iPhone相机捕获视频的框架 我的代码 self session AVCaptureSession alloc init self output AVCaptureVideoDataOutput allo
  • 是否有其他方法可以释放 C 中动态分配的内存 - 不使用 free() 函数?

    我正在为测试而学习 我想知道这些是否等同于 free ptr malloc NULL calloc ptr realloc NULL ptr calloc ptr 0 realloc ptr 0 据我了解 这些都不起作用 因为 free 函
  • 设置 IRQ 映射

    我正在遵循一些教程和参考文献来尝试设置我的内核 我在教程中遇到了一些不熟悉的代码 但根本没有解释它 这是我被告知映射的代码16 IRQs 0 15 到 ISR 地点32 47 void irq remap void outportb 0x2
  • X86 预取优化:“计算 goto”线程代码

    我有一个相当重要的问题 我的计算图有循环和多个 计算路径 我没有制作一个调度程序循环 其中每个顶点将被一一调用 而是将所有预先分配的 框架对象 放置在堆中 代码 数据 这有点类似于线程代码 甚至更好 CPS 只是在堆中跳转 执行代码 每个代
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • 在 x86 程序集中存储大量布尔值的最佳方法是什么?

    最近我一直在处理充满布尔值的大型数组 目前 我将它们存储在 bss部分有一个 space指令 它允许我创建字节数组 但是 由于我只需要存储布尔值 因此我希望从数组中逐位读取和写入数据 目前 我能想到的最好方法是有一个 space指令所需存储
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • LC3 LEA指令和存储的值

    我对这个问题感到困惑 指令后寄存器0中存储的值是多少 LEA R0 A 被处决了吗 为什么答案是x370C 我认为应该将A的地址加载到R0中 如果是这样我们怎么知道地址 有人可以帮忙吗 非常感谢 ORIG X3700 LEA R0 A LD
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • 高效memcspn

    有谁知道 memcspn 函数的有效实现吗 它的行为应该类似于 strcspn 但在内存缓冲区中查找跨度 而不是在以 null 结尾的字符串中查找跨度 目标编译器是 VisualC 谢谢 卢卡 一种近乎最佳的实现 size t memcsp
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo
  • 赋值运算符和复制构造函数有什么区别?

    我不明白C 中赋值构造函数和复制构造函数之间的区别 是这样的 class A public A cout lt lt A A lt lt endl The copy constructor A a b The assignment cons

随机推荐

  • 导入 google play 服务后 Cordova 构建问题

    在admob SDK新更新后 现在我们需要将google play服务项目导入到我们的项目中 以在我们的应用程序中获利并展示广告 我正在使用 Apache Cordova Phonegap 创建一个应用程序 并用它创建了 android 项
  • 为什么同一层上的文本会重叠 - 即使它具有不透明的背景?

    我知道我可以通过使用相对 绝对定位创建新的堆叠上下文来将元素堆叠在单独的层中 Demo 或不透明度 Demo 然而 我的印象是 默认情况下 html 中更靠下的元素将绘制在前面的元素之上 显然 元素的背景是如此 但我只是注意到文本的工作方式
  • 执行脚本IntrinsicYuvToRgb

    我想将Yuv中的byte 转换为Rgb中的byte ScriptIntrinsic ScriptIntrinsicYuvToRgb 应该执行此操作 基于此example 这是我现在拥有的一些代码 byte imageData gathery
  • 仅当选择 ListViewItem 时显示内容

    我有一个ListBox当其中之一ListBoxItems被选中我想更改按钮 查看 的可见性并显示它 这意味着默认状态是隐藏 这是否可能 如果可以 我是否使用 XAML 中的触发器或后面的代码来解决此问题 XAML 片段
  • 如何检查文件锁定? [复制]

    这个问题在这里已经有答案了 有没有办法在不使用 try catch 块的情况下检查文件是否被锁定 现在 我知道的唯一方法就是打开文件并捕获任何System IO IOException 当我遇到类似的问题时 我完成了以下代码 public
  • “while”和“for”循环的范围是什么?

    a的范围是什么while and for loop 例如 如果我在循环中声明了一个对象 它的行为是什么以及为什么 在以下示例中 循环的每次迭代都会销毁并重新创建所有变量 除了i 它在循环迭代之间持续存在 并且可用于 for 循环中的条件表达
  • Unity 5执行一段代码后无响应

    我绝对是 Unity 的初学者 我一直在开发一个用户界面 它是一个简单的登录表单 其中我有两个Toggle用于选择性别 即男性或女性 我一直在做的是调用一个方法来检查是否已经选择了男性 当按下另一个开关时 它将删除男性的检查 My Unit
  • 有什么方法可以使 {% extends '...' %} 有条件吗? - 姜戈

    我想在 AJAX 和常规 HTTP 调用之间共享一个模板 唯一的区别是一个模板需要与base htmlhtml 另一个没有 任何想法 其他答案要求您传递额外的上下文变量 但只要可以访问请求对象 就没有必要 extends request i
  • 从左到右显示 ImageView 的动画[重复]

    这个问题在这里已经有答案了 可能的重复 动画 ImageView 宽度而不缩放 我想做的是创建一个动画 其中 ImageView 从左到右显示 剪辑动画 图像不应缩放 我尝试更改scaleType 然后将ScaleAnimation直接应用
  • 堆叠条形图,每个堆叠独立的填充顺序

    我面临着一种行为ggplot2 排序和堆积条形图我无法理解 我读过一些关于它的问题 here here等等 但不幸的是我找不到适合我的解决方案 也许答案很简单 但我看不到 希望这不是一个骗子 我的主要目标是根据排序列 此处称为orderin
  • java数学计算给定半径1.00的圆的坐标

    在我的一项作业中 我被要求编写一个程序来计算半径为 1 0 的圆上的点的 x y 坐标 以 0 1 为增量显示范围从 1 00 到负 1 00 的所有 x 值的 y 值输出 并使用以下命令整齐地显示输出printf 其中所有 x 值都垂直对
  • 如何直接进入函数而不进入参数的中间函数?

    在 Visual Studio 2013 或任何版本 中 我正在调试 C 项目 我希望能够绕过单步执行由于参数传递到感兴趣的函数而被调用的中间函数 我怎样才能绕过进入这些中间函数 不直接感兴趣 并直接进入我感兴趣的函数 例如 假设我有一个函
  • 如何在freemarker中自定义数字格式?

    我正在使用 freemarker 并尝试以这种格式显示数字 3 343 434 00例如 这很容易通过使用来解决 total string currency 假设 总数 是某个数字 但是 当我有负数时 它会像这样显示 343 34 而不是这
  • 比较 R 中的 svd 和 princomp

    我想要得到singular values of a matrix in R获取主成分 然后也使用 princomp x 来比较结果 我知道 princomp 会给出主要成分 Question 如何从 d u 和 v 中获取主成分 解决方案s
  • 使用Python组合所有视频的特征

    假设我有 20 个视频 它们具有相同的场景 尺寸和来自同一台相机 让我们假设这二十个视频中的一个有一个人走过 所有其他视频大多相同 除了微小的自然变化 例如风吹树叶等 我正在寻找一种将所有 20 个视频合并为 1 个视频的好方法 我所说的合
  • 尝试加载使用存储传递的数据

    我正在尝试获取正在传递的数据并将其加载到各种文本字段中 现在 我有一个 html 文件 其中包含以下内容 然后 我有一个 js 文件 其中包含我的整个布局以及所有文本字段等以及我的整个商店 到目前为止 我的商店尝试加载数据 但我不确定尝试从
  • 如何启动 ajax 推送网站(activemq 或 cometd 或其他)?

    我想启动一个使用 ajax 推送的应用程序 但是应该正确配置 Web 服务器 并且我不知道如何在服务器端组件上启动 我想从道场彗星然后读了一些博客说activeMQ是较旧的 也是 ajax 推送方面的旗舰载体 但也有另一个博客说它很难设置并
  • 使用 Provider 和模型类搜索/过滤 ListView

    我想通过在搜索字段中输入的文本来过滤列表视图 在线和本网站上有很多示例 但所有内容都过于简化 所有内容都在一个有状态的小部件中 和 或看起来有点混乱 可能不是构建事物的最佳方式 我有一个简单的应用程序 它使用 Provider 一个模型类
  • 如何在reactjs中显示多个标签?

    我制作了一张添加新用户卡 上面有一个加号 我制作了额外的卡片 在每张卡片上显示用户名 显示用户名的卡片使用以下方式显示 map 方法 现在 如果我将第 1 部分代码 见下文 插入到 map 功能后会显示多个添加新用户卡 我的最终目标是显示单
  • 当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么?

    当您使用内存覆盖前缀但所有操作数都是寄存器时会发生什么 那么 假设您编写了代码mov eax ebx or add eax ebx默认值为 32 位 但您使用 67h 覆盖 处理器如何处理这种情况 英特尔软件开发人员手册 第 2 卷 第 2