腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
将
数组
arg
的
第一个
值
移
动到
xmm0
中
、
、
我有一个函数,它在C
中
减去一个3D向量,如下所示: inline void sub(float* a, float* b, float* r) { r[1] = a[1] - b[1];0078BBA8,dword ptr [edx+ecx] <------ i guess: write a[0] to <em
浏览 21
提问于2020-07-26
得票数 1
回答已采纳
1
回答
将
数组
传递给NASM DLL,指针
值
重置为零
、
、
我
将
三个双精度
数组
从Python (3.6.2)传递到一个使用CTypes用64位NASM (Windows)编写
的
DLL
中
。指向
数组
的
指针位于rcx、rdx、r8和r9
中
。在进入时,我
将
指针提取到三个单独
的
数组
中
,分别称为a_in_data、b_in_data和c_in_data。这些
数组
的
元素是(1)指针(2)数据类型和(3)长度。在下面代码
中</em
浏览 4
提问于2018-01-22
得票数 0
1
回答
将
“`movss
xmm0
,cs:dword_5B27420`”改为“`movss
xmm0
,立即”
、
、
、
、
我在Ida中有一个linux .so文件,我有以下说明:是否可以使用与该指令相同或更少
的
字节数
将
固定
值
移
动到
xmm0
中
?指令字节是:我想做这样
的
事情: movss
xmm0
, 0.3
浏览 22
提问于2022-03-09
得票数 1
回答已采纳
1
回答
如何用一个非零
值
初始化
数组
我正在创建一个使用
数组
存储数字
的
数字类型。mut ret_array = [0; N]; Self(ret_array)是否有其他方法可以用一个非零元素初始化
数组
浏览 2
提问于2022-06-04
得票数 2
回答已采纳
5
回答
将
单个浮点数移
动到
xmm寄存器
、
、
、
、
我想将存储在一个xmm寄存器
中
的
数据与一个浮点
值
相乘,并将结果保存在一个xmm寄存器
中
。我制作了一个小图形来更好地解释它。如你所见,我有一个
xmm0
寄存器,里面有我
的
数据。现在,我想将0.5存储在另一个xmm寄存器
中
,例如xmm1,并将该寄存器与
xmm0
寄存器相乘,以便存储在
xmm0
中
的
每个
值
都与0.5相乘。 我完全不知道如何在XMM寄存器
中
存储0.5
浏览 0
提问于2011-11-27
得票数 4
回答已采纳
1
回答
浮点数
的
整数算法
、
、
、
我在xmm寄存器中有一个浮点
值
,我很想在它上做一些整数运算。所谓整数运算,我指的是位操作,如移位或按位运算和/或/或/xor。在C++
中
,我可以编写如下内容:int& x_i = *reinterpret_cast<int*>(&x);x_i >>= 23;x_i <<= 23; 使用gcc编译时,这将将
xmm0
中
的
值
复
浏览 2
提问于2013-06-16
得票数 1
回答已采纳
3
回答
程序集如何传递参数:通过
值
、引用、指针传递不同
的
类型/
数组
?
、
、
、
、
为了了解这一点,我编写了这个简单
的
代码,其中我创建了不同类型
的
变量,并通过
值
、引用和指针将它们传递到函数
中
:char c = 'a';float f但由于我对汇编
的
了解非常有限,我不知道这里发生了什么。我了解了ccall约定,所以我假设发生了一些与保留调用者保存
的
寄存器有关
的
事情,然后
将
参数推送到堆栈上。我只了解了寄存器:eax, ebx, ecx, edx, esi, e
浏览 1
提问于2013-11-08
得票数 15
回答已采纳
2
回答
将
2个QWORD从通用寄存器移
动到
XMM寄存器作为高/低
、
、
、
使用masm for ml64,我正在尝试
将
r9和r10
中
的
2个无符号qword作为无符号128b整数移
动到
xmm0
中
mov r9, 111 ;lowqword for test movq
xmm0
, r9 ;move low to
xmm0
, xmm1 ;or the
浏览 0
提问于2017-05-30
得票数 3
1
回答
MOVQ/PINSRQ与VMOV来填充XMM (一个可以工作,另一个不能)
、
、
在我
的
学习过程
中
,我开始尝试AVX指令,并写了一个简单
的
数组
乘法,只是为了让它工作,非常基础。
第一个
问题是XMMWORD和xmm1
的
填充,因为
xmm0
不接受XMMWORD作为大小(yasm接受它,但由于它不再开发,我不喜欢使用它),我不得不以2 64位
的
步长填充它。80h 但在我找到这个解决方案之前,我正在尝试: vmovlps
xmm0
, qword [r8] vmovhps
xmm0
, qword [r8 + 8
浏览 38
提问于2019-10-17
得票数 0
回答已采纳
7
回答
如何在
数组
中将所有内容上
移
一个点?C#
、
、
我正在尝试创建一个方法,
将
数组
中
第一个
和最后一个字符之间
的
每个字符上
移
一个点。此外,倒数
第一个
字符必须“移动”到
数组
中
的
第二个点(1)。简而言之,我希望'abcdef‘变成'aebcdf’。这是我想出来
的
: { char savechar
浏览 0
提问于2019-01-24
得票数 4
1
回答
在C++
中
浮点数转换实际上是如何完成
的
?(double到float或float到double)
、
、
、
return 0;这是(使用Visual Studio 2012):000000013FD7C16D movsd
xmm0
movss dword ptr [f],
xmm0
然后,我就不知道下
浏览 0
提问于2013-05-24
得票数 13
回答已采纳
1
回答
将
128位寄存器从汇编传递到C函数
、
、
、
、
我正在尝试测试
将
一个浮点
值
从64位Linux上
的
汇编传递给一个C函数。如果我没记错的话,在64位linux
中
,调用约定是在XMM寄存器上传递浮点参数。movups (var),%
xmm0
mov $60,%rax我希望这能做
的
是有一个
值
为120.1
的
变量(var然后将其移
动到
xmm0
寄存器,我希望它是用于传递参数k
的<
浏览 0
提问于2018-01-31
得票数 3
2
回答
参数顺序为std::min更改浮点
的
编译器输出
、
、
、
、
我在Compiler
中
摆弄,发现传递给std::min
的
参数顺序更改了发出
的
程序集。(double, double) ret底层指令是minsd。阅读文档,minsd
的
第一个
参数也是答案
的</em
浏览 5
提问于2020-09-26
得票数 76
回答已采纳
3
回答
循环中写输出
的
优化
、
、
将成员变量移
动到
局部变量可以减少此循环中
的
写入次数,尽管存在__restrict关键字。这是GCC
的
-O3。Clang和MSVC在这两种情况下都优化了写操作。注意,由于发布了这个问题,我们观察到,在调用函数
中
添加__restrict也会导致GCC
将
商店移出循环。请参阅下面的“天栓”链接和评论。lv = d[i]; v = lv; float v{0.0f};使用gcc -O3,
第一个
循
浏览 4
提问于2017-10-23
得票数 13
回答已采纳
3
回答
英特尔x86_64组装比较有符号双精度浮标
、
、
、
、
在
xmm0
寄存器
中
,我有一个
值
,例如-512.000000我试着
将
第一个
值
与零进行比较,但我不能真正做到这一点。comisd
xmm0
, xmm4我怎么做这个比较呢?
浏览 0
提问于2016-06-11
得票数 2
回答已采纳
1
回答
对XMM寄存器位图
的
混淆
、
抱歉我没有好
的
头衔..。shufps xmm1,
xmm0
, 85有人说: 我就像原来看位图
的
海报,认为elt0,elt2,elt3,elt4
的
最左边是"11“。所以如
浏览 4
提问于2011-11-26
得票数 1
回答已采纳
2
回答
如何
将
XMM寄存器
中
的
数字存储到asm循环中
的
char
数组
中
-
、
、
、
XMM4 = 00000035000000350000003500000035我尝试在我
的
__asm块之外创建一个字符
数组
,比如:char numbers[20];,然后我尝试使用movdqa [numbers], xmm4
将
Registery
值
移
动到<
浏览 1
提问于2014-03-29
得票数 0
1
回答
内联-汇编- C代码,
将
数组
中
的
值
复制到xmm
、
、
、
我有两个
数组
,我想得到点积。如何
将
vek和vec
的
值
赋给
xmm0
和xmm1?如何获得xmm1
中
的
值
(??)这样我就可以把它用在"printf“上?){ "DPPS $0xFF, %
xmm0
浏览 3
提问于2011-11-18
得票数 1
1
回答
当有大量
的
免费寄存器时,是什么原因导致GCC在堆栈上存储一个
值
?
、
、
、
movd
xmm0
, eax ret .long 1082130432f
中
还保留了大量
的
clobber寄存器,但是GCC没有使用其中
的
任何一个,而是出于某种原因
将
这个
值
推到内存
中
。 这是GCC
的
错误,还是预期
的
结果?如果它是有意
的
,什么使它更好地推
动到</
浏览 3
提问于2022-04-03
得票数 0
1
回答
‘`lddqu’与__int128 "=r“目的地
的
操作数类型不匹配
、
、
、
、
我需要使用指令lddqu
将
128位
值
从地址rsi - 0x80移
动到
下面的最优变量,并且我遇到了“‘lddqu’
的
操作数类型不匹配‘”错误。我知道前面有关于使用较低操作数
的
堆栈溢出
的
问题,但是我应该在指令中使用什么后缀才能在变量
中
获得该地址
的
值
。src变量是冗余
的
,如果它增加了歧义,就可以删除。我正在设计一个硬件预取器(在处理器模拟器
中
),根据当前访问
的
地址来预测未来
的</
浏览 6
提问于2021-12-30
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
2024-05-22:用go语言,你有一个包含 n 个整数的数组 nums。 每个数组的代价是指该数组中的第一个元素的值。 你的
学习PHP的几种输出方式
10个实用的JS技巧
Vue.js基础学习-1
精心收集的 48个JavaScript 代码片段,仅需 30 秒就可理解
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券