问题标签 [inline-assembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
548 浏览

atomic - Solaris上需要原子加法操作代码(sparc架构)

我需要相当于以下的原子操作代码:

(在 Linux 上添加两个变量 a 和 b 以及存储在 a 和 c 中的输出)

在 Solaris(Sparc 架构)上需要与上述等效。有没有人可以帮帮我?

0 投票
1 回答
1860 浏览

gcc - 使用 SSE 指令时导致此分段错误的原因是什么?

这个问题让我有点发疯。该代码似乎无缘无故地出现分段错误:

请注意,只要我定义了“之前”和“之后”变量,它就会出现分段错误。如果我只有“之前”或“之后”,那么它工作正常。

我使用的是 Ubuntu Hardy (8.04),GCC版本 4.2.4 (Ubuntu 4.2.4-1ubuntu4)。Linux 内核:2.6.24-16-generic。

0 投票
1 回答
1049 浏览

c - 您如何在运行时使用 GCC 和内联 asm 检测 CPU 架构类型?

我需要找到 CPU 的架构类型。我无权访问 /proc/cpuinfo,因为机器正在运行 syslinux。我知道有一种使用内联 ASM 的方法,但是我认为我的语法不正确,因为我的变量 iedx 没有正确设置。

我与 ASM 一起苦苦挣扎,绝不是专家。如果有人有任何提示或可以指出我正确的方向,我将非常感激。

0 投票
4 回答
5152 浏览

c++ - 使用 __asm 从十六进制偏移量调用函数

我不知道组装,所以我不知道该怎么做。

我有一个程序连接到另一个程序。我已经获得了函数在挂钩程序的 .exe 中所在位置的偏移量

那么现在如何使用 __asm{} 调用该函数?

0 投票
2 回答
549 浏览

gcc - AT&T 内联语法

谁能展示我正确的 AT&T 语法来做我在 INTEL 下面做的事情我已经展示了我在 AT&T 的尝试,但他们没有编译......

0 投票
3 回答
1852 浏览

c - at&t asm inline c++ 问题

我的代码

我的问题

我正在使用 gcc 编译器。出于某种原因,我的缓冲区/多少变量在我的 asm 中是未定义的。我不确定为什么。我只想将缓冲区数组的起始地址移动到 esi 寄存器中,在将每个元素复制到 al 寄存器时循环它“多少”次。

0 投票
2 回答
301 浏览

gcc - 你能把这个内联汇编转换成非内联汇编吗?

我遇到了这个内联汇编。如果没有这种语法,我不确定它应该是什么样子......有人可以给我看吗?

0 投票
3 回答
1337 浏览

c - 如何在汇编程序中将二进制数据写入文件?

我尝试通过sys_write系统调用(到标准输出或文件)进行二进制写入,但我只能拥有文本文件。如何也有无文本(二进制)字节?

尝试使用此示例,如果它们不是文本字节,我将无法写入 14 个字节(无文本字节的文件长度为 0!)。

0 投票
3 回答
6546 浏览

c++ - 如何使用来自另一个 XMM 寄存器条目的 4 个相同浮点数填充 x86 XMM 寄存器?

我正在尝试实现一些内联汇编器(在 C/C++ 代码中)以利用 SSE。我想将值(从 XMM 寄存器或内存)复制并复制到另一个 XMM 寄存器。例如,假设我在内存中有一些值 {1, 2, 3, 4}。我想复制这些值,使 xmm1 填充 {1, 1, 1, 1},xmm2 填充 {2, 2, 2, 2},依此类推。

查看英特尔参考手册,我找不到执行此操作的说明。我是否只需要结合使用重复的 MOVSS 和旋转(通过 PSHUFD?)?

0 投票
5 回答
2554 浏览

c++ - 循环内的内联汇编

我在一个项目中大量使用内联汇编,在该项目中我需要在编译时调用具有未知数量参数的函数,而我自己管理自己让它工作,有时,在 linux 中(在 Windows 中我不记得有这个问题)像这样奇怪的事情发生了:

如果我有类似的东西

有用。

如果我有

我用我的生命保证 someVar 保持值 1 它会引发分段错误。

另外,如果我有

它有效,但

才不是。

另外,奇怪的是,我可以说,虽然在某些功能中我没有问题,但在我拥有的其他功能中,都在同一个对象中。

如果有人可以向我指出一些可以解决问题所在的信息,我将不胜感激。

请注意,我确实必须在 for 循环中推送参数,因此避免它不是一种选择。

我也尝试使用内联汇编词“volatile”,但没有任何改变。