inline-assembly 相关问题

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

arm inline assembly volatile导致计算结果错误与asan clang

我的问题是,当变量nn没有volatile标识符时,我得到了错误的结果,但是当我向nn添加volatile标识符时,我得到了正确的结果。当我添加...时发生了什么

回答 2 投票 0

如何编写一个内联gnu扩展程序集的短块来交换两个整数变量的值?

为了娱乐,我正在使用带有32位Linux目标的x86的AT&T语法学习gnu扩展汇编。我刚刚花了最后三个小时为我的挑战编写了两个可能的解决方案......

回答 1 投票 2

使用内联汇编来交换两个整数变量

(编者注:这是一个关于这个尝试实现的错误(几乎所有内容)的调试问题,因此不是如何编写内联gnu扩展的短块的重复...

回答 2 投票 0

如何将标签的地址加载到powerpc中的寄存器中

在一段内联汇编代码中,将标签地址加载到寄存器中的最佳方法是什么?我可以在x86或ARM中轻松完成此操作。例如。 lea my_label,%rax ... my_label:...在PPC中,...

回答 1 投票 0

如何在ARM内联汇编程序中使用特定寄存器

我试图让内联汇编程序将一些值复制到特定的寄存器中,但它只是抱怨。这是将触发错误的代码的简短版本:asm(“”::“r0”(value)); ASM( “” ...

回答 1 投票 2

如何在ARM GCC内联汇编中将单个寄存器指定为约束?

在x86内联汇编中我可以这样写:asm(“cpuid”:“= a”(_ eax),“= b”(_ ebx),“= c”(_ ecx),“= d”(_ edx):“ a“(op)); ...

回答 2 投票 4

为什么C中的asm代码函数比c代码函数花费的时间更多?

我在C中编写了一个简单的乘法函数,在汇编代码中编写了另一个函数,使用了GCC的“asm”关键字。我花了他们每个人的执行时间,虽然他们的时间非常接近,但是......

回答 2 投票 -1

如何使用内联汇编指定直接浮点数?

当我尝试编译这段代码时:#include main(int argc,char * argv []){double y = 0; __asm __(“fldl $ 150;”“fsqrt;”“fstl%0;”::“g”(y)); ...

回答 5 投票 9

ARMv8浮点输出内联汇编

为了添加两个整数,我写:int sum; asm volatile(“add%0,x3,x4”:“= r”(sum)::);我怎么能用两个花车做到这一点?我试过了:漂浮总和; asm volatile(“fadd%0,s3,s4”:“= r”(sum)::); ...

回答 3 投票 2

内联汇编程序执行时间

我想知道如何计算c ++内联汇编程序的执行时间?我的问题是Tickcounts的差异是0.这是我的cpp代码:const int N = 100000;短x [4 * N];短a [4 * N] ......

回答 3 投票 1

何时在扩展GCC内联汇编中使用earlyclobber约束?

我知道何时使用补鞋匠列表(例如列出在程序集中修改的寄存器,以便它不被选择用作输入寄存器等),但我无法绕过...

回答 2 投票 8

移植AT&T inline-asm inb / outb包装器以使用gcc -masm = intel

我目前正在研究x86操作系统。我尝试从这里实现inb函数,它给了我错误:'in'的操作数类型不匹配。这可能与outb或io_wait相同。我在用 ...

回答 2 投票 3

嵌入式汇编程序块在Clion中

我知道我可以在Microsoft Visual C ++中使用这种语法,如果我想使用一些程序集__asm {MOV EAX,iCislo INC EAX ...

回答 1 投票 0

汇编代码生成SEGMENTATION FAULT

我有以下函数:int max(int num1,int num2){int retval; __asm __(“maxii_start:;”“movl%1,%% eax;”“subl $ 0,%% eax;”“movl%2,%% edx;”“subl $ ...

回答 1 投票 0

详细说明avr汇编器修饰符lo8很难找到

最近,在通过obdev的atmel avr的虚拟usb驱动器时,我发现这个表达式为lo8(-usbrxbuf)。遗憾的是,在avr-gcc的文档中没有给出关于lo8修饰符的更多信息。能够 ...

回答 1 投票 0

x86汇编:INC和DEC指令和溢出标志

在x86汇编中,当有符号整数上的add或sub操作溢出时,溢出标志置位;当无符号整数上的操作溢出时,置载标志置位。但是,当......

回答 7 投票 13

内联汇编导致分段错误(核心转储)

我正在尝试将英特尔内在函数转换为内联汇编。代码将计算4x4矩阵。 A和B的大小分别为4×kc和kc×4。这是完整的......

回答 1 投票 0

提示需要!程序有错误的行为使用内联asm来调用函数而不是C函数

我正在编写自己的操作系统。它是一个非抢占式操作系统,我的线程与调度程序一起工作正常。我有一个边缘案例。如果我不从C调用我的yield()函数但是......

回答 2 投票 1

ASM限制副作用

我很难理解GCC中某些特定约束对内联汇编的影响。我在下面的例子中,如果我在输出上运行“= X”而在所有输入上运行“X”,则2 ...

回答 1 投票 2

值大小与约束和修饰符指定的寄存器大小不匹配

在arm64中,编译下面的内联汇编会在下面产生一个警告:值大小与约束和修饰符[-Wasm-operand-widths]指定的寄存器大小不匹配。这是 ...

回答 1 投票 0

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