当前位置: 首页 > 知识库问答 >
问题:

pmovmskb可以有一个64位的目的地吗?

唐恺
2023-03-14
pmovmskb eax, mm0
pmovmskb rax, mm0
    null

共有1个答案

家志学
2023-03-14

当我尝试由ml64.exe生成的代码时,我将向您展示调试器的输出:

.CODE
testfunc PROC
    pmovmskb eax, mm0
00007FF78A611060 0F D7 C0             pmovmskb    eax,mm0  
    pmovmskb rax, mm0
00007FF78A611063 48 0F D7 C0          pmovmskb    rax,mm0  
    ret
00007FF78A611067 C3                   ret  

在此站点验证该汇编程序中不存在bug:

嗯,MMX绝对是一个继子,最好忽略它曾经存在过。您可以在此页面报告项目的bug。

 类似资料:
  • 我阅读了关于64位模式下地址计算的英特尔手册。假设我们有64位模式,默认地址大小是64位。另外,假设所讨论的指令前面有地址大小覆盖前缀,因此地址大小变成32位。 现在,假设指令用寄存器号0(RAX/EAX/AX...)指定的地址编码内存操作数。 现在我不完全理解的是,CPU是只查看eax值并在内部扩展它以形成“本地”64位地址,还是查看整个rax值并将其截断到有效的32位范围(例如,rax包含类似

  • 问题内容: 我有一台新的64位Windows计算机,并且将python用于各种用途,因此希望安装64位python。 但是,我的一个python项目创建了一个Windows可执行文件,然后在32位Windows计算机(使用py2exe创建)上运行。 如何使用64位python和py2exe创建32位可执行文件? 如果我做不到,我想我的选择是: 在包括我的所有机器上使用32位python;要么 在3

  • 因此,我一直在寻找一个函数,该函数需要2个参数,一个低值和一个高值(均为64位整数),而不是在这些范围之间生成一个随机数。我一直遇到的问题是,这个数字不是64位int,或者边缘的数字比中间的数字更常见。 这是一些代码:它只是一直返回-1或0…

  • 问题内容: 64位CPU(amd64)在兼容模式下支持32位Intel指令。另外,如果ELF标头说它是32位可执行文件,则64位Linux安装允许运行包含32位指令的ELF。 我想知道是否可以在ELF内放入一些汇编指令,从而在程序中间将CPU切换为32位兼容模式(然后再返回)。如果内核不允许这些汇编指令,也许有什么方法可以使内核将已经运行的进程切换为32位? 出于好奇,这主要是一个问题,因为我真的

  • 主要用途是为了方便,在函数内部有小的内联函数。 我环顾了谷歌,检查了Java的函数包,但是没有找到。这可能吗?

  • 我想创建一个简单的Java类文件,并从我的所有项目访问它。 我知道我可以通过复制/粘贴方法来完成,但在这种情况下,类文件将独立于其原始源。我在原始类文件中所做的任何更改都不会影响已经复制到其他项目中的类文件。 在Android Studio中有链接类文件的方法吗?