inline-assembly 相关问题

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

在GCC下使用RDRAND时如何设置REX前缀?

我正在尝试使用英特尔的RDRAND指令。根据英特尔®64和IA-32架构软件开发人员手册第2卷(第4-298页),RDRAND默认生成32位随机值,...

回答 1 投票 1

gcc内联汇编程序incbin似乎没有使用-I参数

我使用gcc 2017.3 eabi-none(原始金属,ARM A7的交叉编译x86_x64,RM编译器)转换为gcc 2019.3原始金属Cortex-A编译器。它运作良好,但得到一个......

回答 1 投票 0

“shld”指令产生了奇怪的价值

我在内联汇编中使用“shld”指令,由g ++(7.3.0)编译。它会产生一些奇怪的结果。试过Ubuntu和WSL。 unsigned long long hi,lo; //有些代码在这里// ... asm ...

回答 1 投票 1

如何阅读英特尔处理器的PMC(性能监控计数器)?

我正在尝试使用RDMSR和WRMSR指令读取PMC(性能监视计数器)。在我的Linux桌面上有Intel i7 6700 CPU(Skylake),我写了一个简单的驱动代码:static int ...

回答 2 投票 3

如何在clang中使用_emit?

如何使用_emit在clang编译器中发出字节?例如(在MSVC中):#define emit_nop()_ asm _emit 0x90

回答 1 投票 0

为什么我会通过这种无条件跳转获得SIGSEGV?

我试图在Linux上运行此代码,看看会发生什么:int fn(void){return 0; } int main(void){__ asm __(“jmp fn;”);我没有看到SIGSEGV终止执行的任何理由,......

回答 1 投票 0

GNU内联汇编中的百分比(%)符号(C中的asm)

这些代码行应该做什么? mov ebx,%1 mov ecx,%0我知道%表示指针,但我需要更多解释。为什么%1和0 - 这些具体数字?

回答 2 投票 1

使用内联汇编访问/添加到2D C ++数组

我正在尝试使用c ++和汇编创建加密/解密程序。我最初使用3个不同的数组,原始字符串,加密字符串和解密字符串。我现在......

回答 1 投票 -1

更正sys_uname的内联汇编代码

我已经为系统调用sys_uname编写了内联汇编代码,但它似乎不正确。 #包括 #包括 #包括 #包括

回答 1 投票 1

在实现我自己的互斥锁时,如何从内联汇编中引用C中的指针

作为练习,我正在尝试实现我自己的互斥库,以便在我即将推出的C程序中使用。我建议使用内联汇编,因此为x86生成了以下代码(AT&...

回答 3 投票 0

在扩展内联ASM中调用printf

我试图在64位Linux上的GCC扩展内联ASM中输出相同的字符串两次。 int main(){const char * test =“test \ n”; asm(“movq%[test],%% rdi \ n”//调试器显示...

回答 1 投票 2

内联汇编中jmp的地址出错

我所做的是获取ExitProcess的地址为操作码创建空间修改空间中的操作码执行修改的操作码__asm __(“jmp %% ecx”::“c”(操作码));这是我的代码:#include #...

回答 1 投票 1

从GAS到英特尔的CUDA内联asm的翻译

我有一些包含内联PTX程序集的C-CUDA代码,它在Linux上用g ++后端编译好。我需要在Windows下构建它,显然MSVC后端无法识别内联...

回答 1 投票 -2

有没有办法在GCC中禁用内联汇编程序?

我正在为LeetCode,Codeforces等编程竞赛开发一个在线评判系统。对于大多数编程竞赛,C / C ++中不允许使用内联汇编程序,所以我想添加...

回答 1 投票 4

如何在arm内联汇编中访问本地C变量?

我想访问内联arm Assembly中C语言声明的局部变量。我怎么做?可以像这样访问全局变量,int temp = 0; Function(){__ asm(“。global temp \ n \ t”...

回答 2 投票 3

扩展汇编程序中的“= qm”是什么

我正在查看英特尔提供的RDRAND指令的参考实现。该页面是英特尔数字随机数发生器(DRNG)软件实施指南,代码来自......

回答 3 投票 2

从使用__asm定义的ARM函数调用C函数

我无法理解我的编译器。我们使用Scons实用程序为M0 +处理器编译ARM代码(在Windows上,如果它很重要。这是一个ARMCC编译)我试图捕获地址...

回答 2 投票 3

64位应用程序和内联汇编

我正在使用Visual C ++ 2010开发32位Windows应用程序。有一些我真的想要使用内联汇编。但我刚才意识到Visual C ++不支持内联汇编......

回答 4 投票 24

C汇编中的变量用法,如何在arm aarch64中选择32位操作数

我试图在程序集中使用C变量。目的是读取32位存储器并将其分配给C变量。 uint32_t ASMRegRd32(uint32_t addr){uint32_t data; asm volatile(“ldr ...

回答 2 投票 3

aarch64内联汇编堆栈指针约束内存地址,包含Clang 6+的偏移量

我注意到在不同的优化级别,Clang 6有时使用ldp(负载氖寄存器对)用于相邻的存储器地址vld1 neon load instrinsics。我正在尝试使用内联汇编来...

回答 1 投票 0

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