腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(3029)
视频
沙龙
1
回答
如
何在
LLDB
中
写入
XMM
寄存器
、
、
、
、
我正在尝试使用
LLDB
API从python的
寄存器
中
读取和
写入
值。我查看了
LLDB
API文档,尽管它不会返回像value属性那样的字符串格式,但我可以使用frame.register['
xmm
0'].GetData()以某种方式获得
寄存器
值。但是,我仍然无法找到使用
LLDB
API
写入
寄存器
的方法。我知道我将能够使用register write
xmm
0 "{0x0
浏览 16
提问于2020-02-25
得票数 4
回答已采纳
1
回答
存储器读写汇编指令的最优排序
、
、
、
换句话说,上面的说明
中
没有不明显的别名,并且数据的布局是为了对大数据块进行对齐访问。所有被访问的存储器线都在L1高速缓存
中
。112(%rdx)pxor 48(%r14), %
xmm
15 此排序尝试通过在读取和
写入
之间保留偏移量来考虑“缓存库冲突”,
如
Agner‘s另一方面,另一个问题是,尽管程序员知道上面的代码
中
没有别名,但他们无法将此信息传达给处理器。读取和
写入
的交错是否会引入延迟,因为处理
浏览 5
提问于2015-03-07
得票数 4
2
回答
XMM
寄存器
的位否定
、
、
、
、
如
何在
XMM
寄存器
中
按位否定值?据我所知,没有这样的指示。唯一的否定指令是pandn,但是要使用它简单地否定一个
XMM
寄存器
中
的值,我必须让另一个
XMM
寄存器
填充1。是否有另一种方法来否定
XMM
寄存器
中
的位?或者有一种聪明的方法可以在不访问内存的情况下用1填充
XMM
寄存器
?
浏览 3
提问于2016-01-19
得票数 1
回答已采纳
1
回答
xmm
指令"divsd“将剩余的内容存储在哪里?
、
、
在声明
中
:其余的储存在哪里?
xmm
寄存器
是否有剩余部分的
寄存器
,
如
整数
寄存器
?我应该在x87指令中使用FPREM吗?
浏览 0
提问于2018-01-19
得票数 1
回答已采纳
5
回答
将单个浮点数移动到
xmm
寄存器
、
、
、
、
我想将存储在一个
xmm
寄存器
中
的数据与一个浮点值相乘,并将结果保存在一个
xmm
寄存器
中
。我制作了一个小图形来更好地解释它。如你所见,我有一个
xmm
0
寄存器
,里面有我的数据。例如,它包含:每个浮点以4个字节存储。我的
xmm
0
寄存器
是128位,16字节长。 这样做效果很好。现在,我想将0.5存储在另一个
xmm
寄存器
浏览 0
提问于2011-11-27
得票数 4
回答已采纳
1
回答
在ml64
中
移动
xmm
和通用
寄存器
之间的四字?
、
、
、
、
在为Microsoft的x64汇编程序编写的简单程序
中
,我希望在SSE
寄存器
(例如
xmm
0)和通用
寄存器
(例如rcx)之间移动64位值,
如
... 但是,显然可以在x64
中
完成这个简单的任务。x64程序,我可以使用GCC 4.8.2>
浏览 0
提问于2014-07-16
得票数 7
回答已采纳
2
回答
asm
中
的
寄存器
数组
、
、
、
、
如
何在
asm()
中
定义指向
XMM
寄存器
的指针?就像在循环中访问数组元素一样,如何使用计数器访问asm
中
的
寄存器
?我尝试在下面的代码
中
做到这一点:for(int i=0;i<4;i++) "movaps (%1),%%
xmm
%0" :"r"
浏览 0
提问于2018-02-26
得票数 0
1
回答
xmm
寄存器
(AMD64)上的逐字节操作
、
、
、
如何只访问128bit
xmm
寄存器
的特定部分(字节)?我必须循环整个空间(按字节顺序),逐字节比较并在定义良好的条件下复制它。因此,我必须将这个16字节
寄存器
的每个字节与\0进行比较,并(可能)覆盖它。xor %ecx, %ecx #var i cmp $0, <i-th byte of
xmm
1> mov <byte i of
xmm
1>, <byte如何访问
xmm
寄存器
的第一个字节?
浏览 1
提问于2014-03-09
得票数 3
回答已采纳
2
回答
ASM x86_64 AVX:
xmm
和ymm
寄存器
的差异
、
、
、
xmm
和ymm
寄存器
有什么区别?我认为
xmm
用于SSE,ymm用于AVX,但我编写了一些代码:vcvtss2si rcx, ymm1error: invalidcombination of opcode and operandsvcvtss2si rcx, ymm1vcvtss2si rcx,
xmm
1ymm1和
浏览 6
提问于2018-01-07
得票数 13
回答已采纳
1
回答
movdqa/movdqu指令如何将不正确的值
写入
内存?
、
、
、
、
我正在尝试使用Intel AES指令集实现AES加密,并且在将
xmm
寄存器
的内容移动到内存时遇到了一个奇怪的问题。我正在尝试将%
xmm
1的内容移动到%rsi
中
的堆栈地址。(
lldb
) s
xmm
1 = {0x30 0x28 0x00 0x00 0x00 0x00 0x00 0x00 0x42 0x42 0x42 0x420x41 0x41 0x41 0x41}(<e
浏览 77
提问于2020-12-19
得票数 2
1
回答
PADDD指令的操作数
、
、
、
当我检查程序集代码时,它有以下顺序的指令paddd (%r12,%rax), %
xmm
7
如
您所见,它只将paddd指令的一个操作数移动到
寄存器
(
xmm
7)。在paddd指令第一操作数
中
,指的是全局内存
中
的地址,而不是首先移动
寄存器
。 这是否意味着当paddd被执行时,它从全局内存
中
执行一个mov来
浏览 1
提问于2015-07-29
得票数 1
回答已采纳
2
回答
程序集局部变量造成崩溃
、
+ 8]; edx: address3 [ebp + 16];
xmm
0: lambda [ebp + 24]mov esi, [ebp+12]mov edx, [ebp+16]movlpd
xmm
0, [ebp+24] mo
浏览 6
提问于2015-12-27
得票数 0
回答已采纳
1
回答
浮点数的整数算法
、
、
、
我在
xmm
寄存器
中有一个浮点值,我很想在它上做一些整数运算。所谓整数运算,我指的是位操作,
如
移位或按位运算和/或/或/xor。= 2;使用gcc编译时,这将将
xmm
0
中
的值复制到堆栈上,然后从堆栈加载到普通
寄存器
( eax ),执行整数运算,最后复制eax ->堆栈->
xmm
。x86_64是否有将
xmm
0的内容复制到eax或其他普通
寄存器
的导入? 编辑:
浏览 2
提问于2013-06-16
得票数 1
回答已采纳
1
回答
读取/
写入
XMM
和YMM
寄存器
的内联汇编代码?
、
、
、
我有两个变量来模拟X86
XMM
& YMM,如下所示:uint64_t ymm_value[4]; 我已经尝试搜索示例内联程序集,但找不到任何好的答案。谢谢!__m128
xmm</em
浏览 0
提问于2019-08-01
得票数 4
1
回答
使用SSE内部函数的
寄存器
不足
、
、
、
在这篇文章
中
,我问到了显式
寄存器
-内存事务和中间指针之间的区别。在实践
中
,中间指针表现出稍高的性能,然而,在硬件方面,什么是中间指针还不清楚?如果创建了指针,是否意味着一些
寄存器
也被占用,或者
寄存器
的调用在某些SSE操作期间发生(例如,_mm_mul)?__m128 *inp1_sse; __m128 *output_sse; }; 在上面的例子
中
,中间指针inp1_sse,inp2_sse
浏览 0
提问于2013-07-17
得票数 0
回答已采纳
1
回答
如何用一个非零值初始化数组
我正在创建一个使用数组存储数字的数字类型。为了实现特性One,我发现自己编写了如下代码: let mut ret_array = [0; N]; Self(ret_array)是否有其他方法可以用一个非零元素初始化数组?
浏览 2
提问于2022-06-04
得票数 2
回答已采纳
1
回答
‘`lddqu’与__int128 "=r“目的地的操作数类型不匹配
、
、
、
、
我知道前面有关于使用较低操作数的堆栈溢出的问题,但是我应该在指令中使用什么后缀才能在变量
中
获得该地址的值。我正在设计一个硬件预取器(在处理器模拟器
中
),根据当前访问的地址来预测未来的内存地址。一旦我能够在像dst这样的变量
中
获得一个地址,我就有了一种自动预测未来地址并触发该地址的内存请求的技术。该模式的更大版本是加载和存储的序列,如下所示: movdqu XMMWORD PTR [rdi-0x80],
xmm
0 lddqu
xmm
浏览 6
提问于2021-12-30
得票数 0
回答已采纳
1
回答
将
xmm
浮点
寄存器
截断为64位
寄存器
。
、
、
、
、
我想将其中一个
xmm
寄存器
中
的浮点数截断为64位
寄存器
,
如
标题所述。下面我将15.9除以4.95。我正在打印这个,我看到这个结果是正确的(3.212121)。.global _main movsd
xmm
0, qword ptr [dividend + rip] movsd [result + rip],
xmm
0
浏览 4
提问于2020-11-18
得票数 0
回答已采纳
1
回答
仅使用部分
XMM
寄存器
进行数据传输
、
、
我有一个汇编程序-程序,工作在内存
中
的数据结构,包括元组3浮动(3*32位)。我想知道是否可以优化
xmm
寄存器
对数据的复制。从内存
中
读取值不会有太大问题,因为我可以只加载4*32位,但是有任何方法可以只将
xmm
寄存器
的一部分
写入
内存吗?我在ISA文档中发现的唯一一件事是,您可以使用写函数,但不能解释如何做到这一点。
浏览 0
提问于2019-07-17
得票数 0
回答已采纳
1
回答
在x86_64组装问题中添加加倍
、
、
、
、
你好,我正在学习程序集,并学习如
何在
x86_64
中
使用浮点数。据我所知,参数在
xmm
0、
xmm
1、
xmm
2等
中
传递,结果在
xmm
0
中
返回。因此,我尝试做一个简单的组装功能,增加双倍在一起。这是函数.type floatadd,@function addsd %
xmm
1,%
xmm
0这是我正在使用的当我在函数
中</e
浏览 3
提问于2013-10-23
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何在 Python 程序中读取和写入文件
如何在 Rust 中读取和写入文件|Linux 中国
使用lldb修改函数返回值
Swift的高级技巧-动态注入和更改代码
如何在Spark中处理结构化流式数据,如日志文件或传感器数据?
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券