inline-assembly 相关问题

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

如何在c函数中混合c代码和asm?

我喜欢做一些优化,所以我喜欢用两行汇编程序代替一行c代码。 rb->am += N 环缓冲区结构 rb 增加变量 N 我正在努力...

回答 1 投票 0

C 内联汇编写入系统调用仅打印 4 个字符,但仅在使用“=a”作为输出寄存器时

作为一项统一任务,我为 write 系统调用编写了一个非常简单的包装器。这是针对 i386 的。代码编译为: gcc -ffreestand -fno-stack-protector -nostdlib -nostdinc -static -m32 -Wall -g -O2 我是

回答 1 投票 0

在函数外部使用内联汇编时无法指定操作数

我的代码是 无符号长用户堆栈指针; __asm__( “.全局异常_处理_条目 ” “异常处理条目: ” “添加%0,sp,x0 ” :“=r...

回答 1 投票 0

有人可以翻译一下 Cortex M7 的 ASM 指令代码吗?

“%0 夫人,ipsr”:“=r”(reg_tmp) 出于好奇,我需要翻译这个 ASM 代码,它是针对 ARMV7,特别是在特权模式下执行的 cortex-M7。我知道 MRS 指令...

回答 1 投票 0

内联汇编中的string_cmp

我正在尝试在汇编中编写 string_cmp 函数,在其中尝试比较两个字符串是否相同。 int string_cmp(const char* str1, char* str2) { 内部资源; // 你的内联汇编代码...

回答 1 投票 0

在 stm32f3 中使用内联汇编指令时,我得到了“错误#29:需要一个表达式”。怎么解决?

我正在尝试学习arm cortex m4的汇编编码。 __asm 易失性( " LDR r0,=MY_NUM " /* 恢复上下文。 */ “……

回答 1 投票 0

在 Rust 内联汇编中使用字符串常量

我正在尝试使用 Rust 中的内联汇编来执行写入系统调用。基本上我正在尝试重现这个 hello world 示例。我正在尝试传递对字符串切片的引用作为我的消息,...

回答 1 投票 0

RISC-V GCC 编译器错误编译 ASM 代码

我正在编写一个嵌入式C程序来测试我在FPGA板上开发的硬件IP。我在使用 RISC-V GCC ASM 语法时发现了这个奇怪的问题。 这是我写的代码...

回答 1 投票 0

内联汇编和寄存器

我正在尝试使用 GCC 的内联汇编器。 我想要的是读取 while 循环的结果。 对于上下文,代码写在一个 C 文件内,有自己的头文件,外部并称为 fr...

回答 1 投票 0

标签地址(MSVC)

我们正在为高级编译语言编写字节码,经过一些分析和优化,很明显当前最大的性能开销是 switch 语句...

回答 4 投票 0

我如何告诉 gcc 我的内联汇编破坏了堆栈的一部分?

考虑像这样的内联汇编: uint64_t 标志; asm(“推 pop %0" : "=rm"(flags) : : /* ??? */); 尽管事实上可能存在某种内在的东西来获取内容......

回答 2 投票 0

为什么在 MSVC 中使用 QWORD 会出现“无效操作数类型”错误?

我正在学习基本的内联汇编以实现自我利益,并且正在尝试定义一些加载到内存中的指令。在弄清楚如何传输字节(定义为字符)之后...

回答 1 投票 0

x86-64 的 32 位立即数是否有内联汇编约束

x86-64 是否有类似于“i”约束的约束,但仅当操作数值适合 32 位有符号立即数时才匹配? 对于下面所示的功能,我会

回答 1 投票 0

将指针的地址加载到寄存器内联拇指组件中

我正在尝试使用内联拇指组件将地址从我的 c 指针读入寄存器。 这是一个可重现的: 静态 uint32_t 易失性 * 易失性 CurrentTaskStackPtr; 当前任务堆栈指针 = (

回答 1 投票 0

gcc 是否优化了我的等待代码,尽管将其标记为易失性?

在 ST32 ARM Cortex M4 上,我有一个简单的裸机闪烁灯,可以使 LED 闪烁。当我使用旋转等待时它工作正常: typedef 易失性 uint32_t vuint32_t; #define SET(地址, 位) (*((vuint32_t*) (

回答 1 投票 0

启用分页重启QEMU

在我的分页代码中,qemu 由于某些内联汇编而重新启动。可能是其他原因,但删除程序集会使程序正常工作。或者,也可以...

回答 1 投票 0

riscv 指令的 asm 易失性操作数用法

我正在尝试编写一个 C 函数,该函数采用 riscv 加载/存储(h/w/d)指令的 32 位指令编码,并将其展开为一系列加载/存储(b)指令。 我该怎么办

回答 1 投票 0

在LLVM中调用fsincos指令比调用libc sin/cos函数慢?

我正在研究一种使用 LLVM 编译的语言。只是为了好玩,我想做一些微基准测试。在其中一个循环中,我运行了数百万次正弦/余弦计算。在伪代码中,它看起来像...

回答 2 投票 0

高效使用水平 Neon 内在函数

从 ARM Instruction Set Reference 读取,执行水平归约的操作确实将目标值保存在 neon 寄存器中。 然而,内在函数定义和 clang

回答 1 投票 0

asm 中的未知注册名称

我有这样使用 asm 的代码: 静态内联 void fft_run(void) { // 存储寄存器,这样它们就不会被破坏 // avr-gcc 要求清除 r2:r17、r28:r29 和 r1 汇编易失性( “脓...

回答 0 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.