MOVZBL 指令在 IA-32 AT&T 语法中起什么作用?

2023-11-25

这个指令到底有什么作用?

movzbl  0x01(%eax,%ecx), %eax

AT&T 语法将movzxIntel指令助记符对于不同的源大小分为不同的助记符(movzb vs. movzw)。在英特尔语法中,它是:

movzx eax, byte ptr [eax+ecx+1]

即从内存中的 eax+ecx+1 处加载一个字节并零扩展至完整寄存器。

顺便说一句,大多数 GNU 工具现在都有一个开关或配置选项来首选 Intel 语法。 (例如objdump -Mintel or gcc -S -masm=intel,尽管后者影响编译 inline-asm 时使用的语法)。如果您不以 AT&T 组装为生,我当然建议您研究一下。另请参阅x86标记 wiki 以获取更多文档和指南。

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

MOVZBL 指令在 IA-32 AT&T 语法中起什么作用? 的相关文章

  • 如何知道寄存器是否是“通用寄存器”?

    我试图了解寄存器必须具备什么标准才能被称为 通用寄存器 我相信通用寄存器是一个可以用于任何用途的寄存器 用于计算 将数据移入 移出等 并且是一个没有特殊用途的寄存器 现在我读到了ESP寄存器是通用寄存器 我猜是ESP寄存器可以用于任何事情
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手
  • “mov (%ebx,%eax,4),%eax”如何工作? [复制]

    这个问题在这里已经有答案了 一直在从事装配作业 并且在很大程度上我对装配非常了解 或者至少对于这项任务来说足够好 但这个 mov 的声明让我很困惑 如果有人能解释这个 mov 语句如何操作寄存器值 我将非常感激 mov ebx eax 4
  • 程序集比较标志理解

    我正在努力理解汇编程序中的以下代码片段 if EAX gt 5 EBX 1 else EBX 2 在汇编程序中 可以写如下 根据我的书 模拟jge操作说明 https www felixcloutier com x86 jcc您通常会使用
  • 为什么如果内存组织为字,则程序计数器加 1;如果内存组织为字节,则程序计数器加 2?

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

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

    EDIT 我接受了下面的答案 并添加了我自己的代码的最终修订版 希望它向人们展示影子空间分配的实际示例 而不是更多的文字 编辑 2 我还设法在 YouTube 视频 所有内容 的注释中找到了一个调用约定 PDF 的链接 其中有一些关于 Li
  • 按字节数对向量进行混洗

    有什么办法可以左移 v 0 gt v 1 a m128i by n字节 其中n仅在运行时才知道 我目前仅限于 AVX1 但如果 AVX2 512 使这变得更容易 我非常感兴趣 I found mm bslli si128 m128i imm
  • 这个反斜杠在这段汇编代码中起什么作用?

    我不确定这些推线有什么区别 修剪下来来自 Linux 的 x86 entry calling h https github com torvalds linux blob 241e39004581475b2802cd63c111fec43b
  • 是否可以在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
  • 高效memcspn

    有谁知道 memcspn 函数的有效实现吗 它的行为应该类似于 strcspn 但在内存缓冲区中查找跨度 而不是在以 null 结尾的字符串中查找跨度 目标编译器是 VisualC 谢谢 卢卡 一种近乎最佳的实现 size t memcsp
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 为什么在展开的 ADD 循环内重新初始化寄存器会使其运行速度更快,即使循环内有更多指令?

    我有以下代码 include
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我
  • 何时可以重用avx指令中的源寄存器

    在 avx 指令中用作源的寄存器何时可以在指令开始处理后重用 例如 我想使用vgatherdps该指令消耗两个 ymm 寄存器 其中之一是位移索引 我意识到vgatherdps由于数据的局部性较差 因此需要花费大量时间来收集 位移索引寄存器
  • 整数溢出问题

    我不断遇到整数溢出问题 我不知道如何解决它 有人可以帮忙吗 edx 包含 181 eax 包含 174 xor eax edx mov edx 2 div edx 假设你谈论的是x86 div edx这实际上没有意义 32位div将edx
  • 无法识别的仿真模式:MinGW32 上的 elf_i386

    我正在尝试制作内核 但无法链接C与程序集一起输出 这ld 我收到错误 无法识别的仿真模式 elf i386 我正在使用 Windows 10 专业版以及 MinGW32 和 MSYS 我正在使用的代码 link ld link ld OUT
  • Intel:序列化指令和分支预测

    英特尔架构开发人员手册 http www intel com content www us en architecture and technology 64 ia 32 architectures software developer v
  • 当前的 x86 架构是否支持非临时加载(来自“正常”内存)?

    我知道有关此主题的多个问题 但是 我没有看到任何明确的答案或任何基准测量 因此 我创建了一个处理两个整数数组的简单程序 第一个数组a非常大 64 MB 第二个数组b很小 无法放入 L1 缓存 程序迭代a并将其元素添加到相应的元素中b在模块化

随机推荐

  • Bash if 语句中的正则表达式匹配

    我在这里做错了什么 尝试匹配任何包含空格 小写字母 大写字母或数字的字符串 特殊字符也很好 但我认为这需要转义某些字符 TEST THIS is a TEST title with some numbers 12345 and specia
  • Tomcat 控制台日志到文件

    我在用着阿帕奇汤姆猫7 当我使用安全管理器运行 Tomcat Djava security debug范围我在控制台中收到了很多文本 我无法阅读控制台中的文本 所以我需要控制台登录到某个文件 我怎样才能实现这个目标 Remove Conso
  • 替换 R 数据框中因子列的内容

    我需要替换数据框中因子列的级别 使用iris以数据集为例 我将如何替换包含的任何单元格virginica with setosa in the Species column 我预计以下内容可以工作 但它会生成一条警告消息并简单地插入 NA
  • Python 函数中的默认值[重复]

    这个问题在这里已经有答案了 我注意到以下几点 class c def init self data self data data a c b c a data append 1 print b data 1 这是正确的行为吗 是的 这是正确
  • 如何循环播放媒体播放器文件?

    基本上我有 3 首歌曲 我希望用户能够在 3 首歌曲的循环完成后循环回到第一首歌曲 为什么这不起作用 它将播放所有 3 首歌曲 然后在第四次单击时 不会播放任何歌曲 MediaPlayer song0 song1 song2 Button
  • 访问公共 Facebook 页面时,Graph API 返回“false”或“不支持的获取请求”

    我在使用一些粉丝页面并使用 Facebook Graph API 获取其详细信息时遇到了一些问题 当我尝试获取粉丝页面的详细信息时 Graph API 仅返回false 但现在正在返回 error message Unsupported g
  • 平滑滚动在 ViewPager 中不起作用(支持库)

    我正在编写使用的应用程序ViewPager举办Fragments 当我以编程方式更改片段时 平滑滚动功能不起作用 我使用 ViewPager setCurrentItem int item boolean smoothScroll 方法 也
  • 拆箱不会创建该值的副本。这是正确的吗?

    我正在阅读微软的课堂培训材料 我读了以下内容 拆箱 拆箱与装箱相反 它是引用类型到引用类型的显式转换 值类型 拆箱检索对对象中包含的值类型的引用 拆箱操作涉及检查对象实例以确保该对象 实例是给定值类型的装箱值 那么 实例的值是 复制到值类型
  • 将项目添加到故事板中的滚动视图(尺寸检查器似乎已锁定)

    我使用情节提要在视图控制器中添加了一个内容大小大于屏幕大小的滚动视图 当然 滚动视图的目的是让内容大于包含它的视图 我想在故事板中以图形方式将按钮和标签添加到滚动视图的底部 但我无法查看滚动视图的该部分 我如何到达那里 我尝试调整尺寸检查器
  • 从函数执行存储过程

    我知道这已经被要求死了 我也知道为什么 SQL Server 不让你这样做 但是 除了使用扩展存储过程之外 还有其他解决方法吗 并且请不要告诉我将我的函数转换为过程 所以我真正要问的是 有什么方法可以从函数内运行存储过程吗 EDIT 事实证
  • 单元测试如何使用 Mockito 模拟存储库

    我在存根我的存储库时遇到问题 有人建议我创建另一个 application properties 我没有这样做 并使用像 H2 这样的内存数据库 我想知道是否可以对调用进行存根 以便在调用 myDataService findById id
  • 如何检测和计算螺旋的圈数

    我需要检测螺旋形弹簧并计算其线圈匝数 我尝试过如下 Image
  • 如何将崩溃的“故障偏移”与源代码匹配?

    我编译的 EXE 总是崩溃 当事件查看器崩溃时 我有以下信息 异常代码 0xc0000008故障偏移 0x00000000000cb8e8 如何将 故障偏移 与我的 C 代码相匹配 有一个 PDB文件放在 Release 文件夹中 只是不确
  • 在 PostgreSQL 中搜索 jsonb 数组

    我正在尝试在 PostgreSQL 9 4 中搜索 JSONB 对象 我的问题类似于这个线程 然而我的数据结构略有不同 这给我带来了问题 我的数据结构是这样的 id 1 msg testing id 2 msg tested id 3 ms
  • 有角度的可折叠手风琴

    我正在制作手风琴 在角度应用程序中使用 javascript 制作可折叠的 div 如果点击按钮后没有打开Parent One或任何其他父母姓名 Html div div
  • 使用 ggplot2 根据条形图的大小(即数值)对条形图进行排序

    这个问题询问如何根据未汇总的表格订购条形图 我的情况略有不同 这是我的部分原始数据 experiment pvs id src hrc mqs mcs dmqs imcs dna wm 0 7 9 4 454545454545454 1 4
  • 如何将逗号分隔字符串中的空字符串替换为零?

    8 5 1 4 7 7 1 9 3 6 8 6 3 9 2 5 4 3 2 7 4 1 1 4 6 9 5 5 1 6 3 6 5 7 4 1 7 6 8 5 7 1 3 9 我正在做一个编程挑战 我需要将此序列解析为我的数独脚本 需要将上
  • 棒棒糖 android 5.0.1 三星上的 /system/lib/libart.so 发生本机崩溃

    我在 Google Play 商店上有一个使用 cordova 构建的应用程序 该应用程序适用于所有设备和型号 除了少数运行 Android 5 0 1 的三星设备 Note3 和 Note4 该应用程序在启动时崩溃 崩溃堆栈跟踪如下 Bu
  • ASP.NET Webform 是否被隐藏起来,为 MVC 腾出空间?

    我读过所有关于 mvc 和 webforms 如何互补等的营销演讲 然而 似乎所有博客都在谈论 mvc 而唯一发布的消息也是关于 mvc 的 Microsoft 是否会继续以一等公民的身份改进 Web 表单 还是只是将其作为一项受支持的技术
  • MOVZBL 指令在 IA-32 AT&T 语法中起什么作用?

    这个指令到底有什么作用 movzbl 0x01 eax ecx eax AT T 语法将movzxIntel指令助记符对于不同的源大小分为不同的助记符 movzb vs movzw 在英特尔语法中 它是 movzx eax byte ptr