Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
手臂;内联汇编;使用暂存寄存器;
内联汇编程序存在一些我无法理解的问题 我有一个带有内联汇编器的函数 在 ASM 块内部 我需要使用一些暂存寄存器来修改一些系统值 void setHW uint32 t val asm volatile mrc 15 0 r0 orr r0
gcc
Assembly
arm
inlineassembly
将 AT&T 语法转换为 Intel 语法 (ASM)
我一直在尝试访问可执行文件的 peb 信息 如下所示 访问 x64 TEB C 和汇编 https stackoverflow com questions 21973330 access x64 teb c assembly noredir
c
gcc
Assembly
inlineassembly
移植 AT&T inline-asm inb / outb 包装器以与 gcc -masm=intel 一起使用
我目前正在开发 x86 操作系统 我尝试实现 inb 函数here https wiki osdev org Inline Assembly Examples它给了我Error Operand type mismatch for in 这也
c
gcc
x86
inlineassembly
osdev
使用内联汇编时出现分段错误(核心转储)错误
我在 GCC 中使用内联汇编 我想将变量内容向左旋转 2 位 我将变量移动到 rax 寄存器 然后将其旋转 2 次 我编写了下面的代码 但遇到了分段错误 核心转储 错误 如果您能帮助我 我将不胜感激 uint64 t X 138350580
c
gcc
segmentationfault
x8664
inlineassembly
GCC 内联汇编:约束
我很难理解 GCC 内联汇编 x86 中的角色约束 我有阅读手册 http gcc gnu org onlinedocs gcc Constraints html Constraints 它准确地解释了每个约束的作用 问题是 尽管我了解每个
c
gcc
constraints
inlineassembly
如何指示可以使用内联 ASM 参数*指向*的内存?
考虑以下小函数 void foo int iptr iptr 10 1 asm volatile nop r iptr iptr 10 2 使用海湾合作委员会 这编译为 https godbolt org z A3yVqA foo nop
c
gcc
Assembly
Clang
inlineassembly
即使我有错误,GCC 也不会在我的内联 asm 函数调用周围推送寄存器
我有一个修改 ecx 或任何其他寄存器 的函数 C int proc int n int ret asm volatile movl 1 ecx n t mov n to ecx addl 10 ecx n t add 10 to ecx
c
gcc
x86
inlineassembly
解决 Clang 下缺乏 Yz 机器约束的问题?
我们使用内联汇编来使 SHA 指令可用 如果 SHA 没有定义 在 GCC 下我们使用 GCC INLINE m128i GCC INLINE ATTRIB MM SHA256RNDS2 EPU32 m128i a const m128i
c
Clang
SSE
inlineassembly
SHA
从用户应用程序访问 Ring 0 模式(以及 Borland 允许这样做的原因)
随着学期截止日期的临近 我决定开始在我的大学开展操作系统课程的项目 项目作业的问题在于它要求学生开发一个用户应用程序 exe 将作为一个简单的内核执行 基本进程和线程管理 我首先想到的是 我到底该如何在用户应用程序中执行特权代码 在咨询了其
c
Assembly
x86
inlineassembly
borlandc
C 内联汇编标签问题
我目前是汇编的初学者 正在学习如何在课程中使用 C 内联汇编 话虽如此 当我编译文件时 我遇到了这个特定错误 tmp cckHnU89 s Assembler messages tmp cckHnU89 s 550 Error symbol
c
Assembly
inlineassembly
x86汇编中的for循环和优化代码?
我目前正在学习汇编编程 作为我大学模块之一的一部分 我有一个用 C 编写的程序 带有内联 x86 程序集 它采用 6 个字符的字符串并根据加密密钥对它们进行加密 这是完整的程序 https gist github com anonymous
c
Assembly
visualstudio2013
x86
inlineassembly
在内联 GNU 汇编器中获取字符串长度
我正在重新学习我在非常旧的 MS DOS 机器上使用的汇编程序 这是我对该函数应该是什么样子的理解 它编译但崩溃了SIGSEGV当试图把0xffffffff in ecx 该代码在具有 32 位 Debian 9 的 VM 中运行 如有任何
Linux
gcc
x86
inlineassembly
gnuassembler
如何在 GCC x86 内联汇编中使用地址常量
GCC 工具链默认使用 AT T 汇编器语法 但可以通过以下方式获得对 Intel 语法的支持 intel syntax指示 此外 AT T 和 Intel 语法都可以在prefix and a noprefix版本 不同之处在于是否需要在
c
gcc
Assembly
inlineassembly
有没有办法在Linux平台上编译微软风格的内联汇编代码?
正如标题中提到的 我想知道有没有办法在 Linux 操作系统 例如 ubuntu 中编译微软风格的内联汇编代码 如下所示 asm mov edi A EMMS 示例代码是内联汇编代码的一部分 可以在win10上使用cl exe编译器成功编译
Linux
gcc
visualc
inlineassembly
声明“extern struct cpu *cpu asm("%gs:0");”是什么意思意思是?
当我阅读 xv6 源代码时 我对下面声明的语法感到困惑 谁能给我解释一下吗 extern struct cpu cpu asm gs 0 我假设你明白什么extern struct cpu cpu方法 你的问题是 asm gs 0 部分意思
gcc
x86
inlineassembly
xv6
函数声明后的 __asm__("__isoc99_scanf")
我在预处理的 C 代码中看到了以下代码 什么是asm函数声明后做什么 extern int scanf const char restrict format asm isoc99 scanf 显然 它使函数调用编译为 call isoc99
c
gcc
Assembly
inlineassembly
functiondeclaration
使用 svc 调用实现 fork()
我实现了系统调用宏来调用软件中断调用 对于许多系统调用来说它运行良好 然而 这并不是为了fork 父进程和子进程的返回 pid 相同 片段如下 define SYSCALL0 N register int ip asm ip N regis
ios
c
fork
inlineassembly
在 GCC 内联汇编中包装 CMPXCHG8B 的正确方法,32 位
我正在尝试为 ia32 的 CMPXCHG8B 编写 GCC 内联汇编 不 我不能使用 sync bool compare and swap 它必须在有或没有 fPIC 的情况下工作 到目前为止我最好的 EDIT 毕竟不起作用 请参阅下面我
gcc
Assembly
inlineassembly
x86
错误:操作数 1 处向量寄存器的使用无效
我正在 64 位 Aarch64 设备上的 ARM 下学习 GCC 内联汇编器 我看到一条我不太明白的错误消息 来自 GCC 内联汇编器的错误消息 gcc DNDEBUG g3 O1 march armv8 a crc crypto tes
c
gcc
inlineassembly
ARM64
为内联汇编创建常量池的正确方法是什么?
问题是在 C 函数内部我有一个内联汇编 就像是 ldr r7 0xdeadbeef svc 0 如果未显式创建文字池 就是这种情况 汇编器 在翻译单元的末尾创建一个 通常这没问题 但如果 翻译单元事实证明非常巨大 这是行不通的 因为 文字池
c
gcc
arm
inlineassembly
«
1
2
3
4
5
6
»