inline-assembly 相关问题

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

如何在 Windows 上使用内联汇编获取标签的地址?

我正在尝试使用 Zig 中的内联 asm 获取标签的地址。 const main_ccb_p1 = core.mainCCCBPtr(); comptime var to_return_label = ".to_return" ++ mangle(函数); 汇编易失性( ...

回答 0 投票 0

使用 add / jnc 循环计算给定整数的二进制表示中非前导 0 的数量

我是汇编语言的新手,我有一个问题: 内部主要(){ 整数 x = 2023; //九个 1 和两个 0 就像在 bin 中一样 - 11111100111 诠释y; 汇编( “移动 eax,%1 ;” "mov ecx...

回答 5 投票 0

How to convert old x87 assembly code to extended asm (with "=u" and "=t" constraints) to convert spherical coordinates

我有这个旧代码可以将球面坐标转换为笛卡尔 3D 坐标: TDVector3D Cartesian3D_asm(const double &Theta, const double &Phi) { TDVector3D V; __asm__ { 移动 eax,[...

回答 1 投票 0

无法获得正确的 x86_64 CPU 寄存器值

我有一个用 C++ 开发游戏引擎的项目。我希望我的游戏引擎能够报告错误以及转储内存并获取 CPU 寄存器的值,将它们打印到屏幕上,然后发送

回答 0 投票 0

强制函数在 clang 或 prologuless 非裸 C 函数上进行优化——将基于 C 常量的 asm 块粘贴在一起

是否有强制优化 clang 上的 C 函数,即使文件是使用 -O0 编译的? 我正在寻找等同于 gcc 的 __attribute((optimize("s")) 或 __attr 的东西...

回答 3 投票 0

C 程序中的 Asm 块在 Visual Studio 2022 中给出错误 C2400

我正在编写一个包含一些反反汇编技术的 C 程序,特别是我正在实现这个: https://unprotect.it/technique/dynamically-computed-target-address/ 这是我的注意...

回答 0 投票 0

asm 错误“‘asm’中的操作数约束不一致”

我正在尝试将此代码用于 attiny10。在这里,我尝试使用 _delay_loop_2 但它有时不起作用。 #包括 #包括 #define LED_PIN PB0 #定义

回答 1 投票 0

GNU 内联 asm:哪些寄存器被 __stdcall 破坏了?

如果我使用 call 指令,通过 GNU 的 C++ 代码中的内联汇编器调用一个我知道使用 __stdcall 约定的函数,我是否必须将任何寄存器列为已损坏? 我没有找到...

回答 1 投票 0

使用 C asm 读取 RISC-V CSR 寄存器

我正在尝试使用函数宏读取 csr 寄存器 我有一个结构数组,其中包含 csr 寄存器的名称和地址 typedef 结构 csr_lists { 内部地址; 常量 cahr* 名称; } csr_...

回答 1 投票 0

编译 Intrinsics 包装器以生成平台特定代码

我有一个通用构建的二进制文件,它需要包含一个查找例程,该例程被编译成矢量化指令或基于 cpu 是否支持 avx/avx2。 查找例程...

回答 0 投票 0

无法使用 MinGW 编译包含 asm 代码的 C 文件

我需要将一个具有 asm 片段的 C 程序编译为 32 位 PE 文件,asm 代码以这种方式声明: __asm__("jz $ + $13; “ “jnz $ + $7; “ &quo...

回答 0 投票 0

Inserting inline assembly code into C function - I/O questions

我正在使用 GNU arm-none-eabi 工具链为我的 Cortex M3 微控制器开发嵌入式 C 应用程序。 我计划采用供应商在我的 C 中实现的汇编子程序

回答 0 投票 0

在线组装中的子数组。C++

void new2d(int* aInit, int* aResult) { int cyclic[34] = {0}; for (int i = 0; i < 32; i++) { cyclic[i] = aInit[i]; } cyclic[32] = aInit[0]; ...。

回答 1 投票 0

联机装配打印功能不工作

这是我的新内核代码,它应该打印a(顺便说一下,之所以叫printstack是因为我试图通过堆栈传递参数,但没有成功): void printstack(char in){ *print ...。

回答 1 投票 0

如何在FreeBSD的内联程序中调用gettimeofday系统调用?

我试图在FreeBSD 5.2.1 32-bit中使用syscalls和内联汇编来获取当前时间。我的问题是,我很难将所需的结构作为参数传递给函数,结果出现错误: ...

回答 1 投票 1

clang __asm__在case statment中使用标签,得到错误:指令操作数无效。

我正在尝试在C源代码中添加Label(仪器仪表);对汇编有一点经验,comipler是clang;我在CASE语句中的__asm__和Label有一个奇怪的行为!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)。

回答 1 投票 0

当使用Rust内联汇编时,机器代码的字节顺序很奇怪

我目前正试图用Rust(Windows 32-bits)写一个程序,它基本上会从它自己的.text部分提取一些特定的部分机代码。基本上,如果我定义并调用一个函数 ...

回答 1 投票 0

如果在ASM模板中没有指定输入和输出操作数,那么提供这些操作数有什么意义呢?

我在u-bootarcharmlibsemihosting.c中发现了以下一段代码,它使用了bkpt和其他指令,并提供了输入和输出操作数,即使它们没有在ASM中指定......

回答 1 投票 0

如何找到是哪条指令使我的程序崩溃,出现Illegal Instruction错误?

我在windows上使用Mingw32,试图读取CPU的微码修订版。我得到了一个非法指令的崩溃(通过gdb看到),但我一直无法确定哪条指令是 ...

回答 1 投票 0

128乘法和除法的内在联系

在x86_64中,我知道mul和div opp代码支持128个整数,把下位64位放在rax中,上位放在rdx寄存器中。我一直在寻找一种内在的方法来实现这个功能。

回答 2 投票 2

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