inline-assembly 相关问题

嵌入在另一个更高语言的源中的程序集,例如嵌入在C或C ++中的x86程序集。

这个内联汇编对于将 int 位转换为 float 正确吗?

我正在尝试熟悉 gnu 内联汇编。我编写了一行内联汇编将 int 重新解释为 float。虽然这打印了正确的结果,但我想知道这是否正确......

回答 1 投票 0

裸函数中的非 ASM 语句

我正在尝试创建一个包含自定义序言/尾声的类,该类应由其他“消费者”类的方法使用。 它应该类似于以下示例。 (请记住...

回答 1 投票 0

如何使用 VC++ 在宏中添加多个内联汇编指令?

为什么下面的宏可以使用 1 条内联汇编指令编译,但不能使用 2 条内联汇编指令编译? 这段代码编译正常: #define foo(x,输出,ctx) {\ __asm\ {\ 移动eax,0xCAFEBEE1\ }\ ...

回答 2 投票 0

使用 LLDB 调试内联 ASM - 将指令视为步骤命令的单独语句?

在 LLDB 中,step 命令将整个 asm{} 块作为单个“语句”步进。 有没有办法让它单独处理每条指令,这样你就不必使用 si 来单步指令......

回答 1 投票 0

Haskell 中的内联汇编

我可以在 Haskell 中使用内联汇编(类似于 GCC 对 C 的作用)吗? 我想将我的 Haskell 代码与参考实现 (ASM) 进行比较,这似乎是最直接的方法。我

回答 1 投票 0

使用 llvm 插件段错误重写 MSAsmStmt

我有这个C代码: #包括 #包括 uint8_t count1(uint32_t x) { 输入输出; __asm { 移动edx,[x] 移动, 0 下一个: cmp edx,0 我...

回答 1 投票 0

CUDA:如何使用barrier.sync

我已阅读并行线程执行ISA:并行同步和通信指令:bar,barrier,其中详细介绍了PTX同步功能。 上面写着有16个“屏障原木...

回答 2 投票 0

Go代码中可以包含内联汇编吗?

Go代码中可以包含内联汇编吗? 这篇博文展示了将 Go 编译到单独的 .s 文件并对其进行编辑,但不是像许多 C 编译器支持的那样将内联汇编作为 Go 函数的一部分。

回答 4 投票 0

内联汇编函数指针调用

我删除了这个问题,以抗议 Stack Overflow 与 OpenAI 合作的决定。 这一举措窃取了所有为 Stack Overflow 做出贡献的人的劳动成果,而且无法选择退出。 开放人工智能...

回答 1 投票 0

C++ Builder 上用于浮点基础的内联 64 位汇编中的幂函数

我正在使用 Embarcadero C++ Builder 12,并且我在 Assembly 中的幂函数(称为 vpow(base, exp))遇到了一个巨大的问题。它与整数完美配合,但我需要它与 do...

回答 1 投票 0

gccthumb2内联汇编用于定点转换

我想为Cortex-M7上的armv7em编写一些gcc内联汇编来执行浮点数和定点数之间的转换。 ARM 提供带有 #fbits 的 vcvt 指令

回答 1 投票 0

如何恢复CPU状态? (恢复CPU寄存器x86_64)

我正在为我的第一个操作系统实现上下文切换,我遇到了一个我无法解决的小问题,即从结构中保存后恢复CPU状态,因为所有寄存器都必须保存...

回答 1 投票 0

gnu 内联汇编约束 `i` 用于内存地址

最近,Linux 内核中添加了 rip_rel_ptr 这个函数。 https://elixir.bootlin.com/linux/latest/source/arch/x86/include/asm/asm.h#L118。 我可以编译内核,但是当我复制这个有趣的时候......

回答 1 投票 0

在C中使用汇编函数,无需call和ret,并将返回地址存储在寄存器中

我用汇编编写了一个函数,现在我想在 C 中使用它 但我的函数不是用于“call”和“ret”,返回地址将存储在寄存器和函数中,我们只需跳转到该地址即可

回答 1 投票 0

如何编写__asm__转到内联汇编

我正在使用 GCC 编译器。我想在C中插入一些内联指令。使用__asm__指令成功插入非分支指令,如下: __asm__ 易失性( ...

回答 1 投票 0

带有空输入操作数约束的gcc asm

在 gcc 中使用扩展 asm 时,它的作用很清楚并有记录: __asm__ ("一些指令" : /* 无输出 */ : "r" (var)); 它要求 gcc 将 var 放入寄存器中...

回答 1 投票 0

AVR 内联汇编:输出变量更改而无需指令更改它

我正在尝试为 ATmega328P 编写一些内联汇编代码 我发现我的输出变量的变化与我预期的不同。所以我将原始代码简化为: uint8_t a = 0; __asm__ ( “……

回答 1 投票 0

clang (LLVM) 内联汇编 - 具有无用溢出/重新加载的多重约束

clang / gcc:当操作数可以满足寄存器或内存位置时,某些内联汇编操作数可以满足多个约束,例如“rm”。举个例子,...

回答 1 投票 0

`asm("" : "+r" (myVar));` 在 AVR-GCC 中是什么意思?

我在别人的代码中发现了以下几行: uint16_t someConstantFactorVariable = ...; asm("" : "+r" (someConstantFactorVariable)); someConstantFactorVariable 经常出现在...

回答 1 投票 0

(内联汇编(汇编x86))给定一个位序列,知道(数据的)每n位有一个奇偶校验位,检查是否有错误

给定一个比特序列,知道每n个比特(数据)都有一个奇偶校验位(如果前n个比特中1处的比特数是奇数,则为1),检查是否有错误。 输入:BYTES 数组 (t...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.