Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
如何确定堆栈中保存的值?
我正在做一些实验 希望能够看到系统调用期间堆栈上保存的内容 用户登陆进程的保存状态 根据http lxr linux no linux v2 6 30 1 arch x86 kernel entry 32 S http lxr linux
c
Linux
Assembly
inlineassembly
systemcalls
在 GNU C 内联汇编中编写 Linux int 80h 系统调用包装器 [重复]
这个问题在这里已经有答案了 我正在尝试使用内联汇编 我读过这一页http www codeproject com KB cpp edujini inline asm aspx http www codeproject com KB cpp
c
Linux
Assembly
x86
inlineassembly
CMPXCHG16B 正确吗?
尽管我不确定为什么 但这似乎并不完全正确 建议会很好 因为 CMPXCHG16B 的文档非常少 我没有任何英特尔手册 template lt gt inline bool cas volatile types uint128 t src t
c
gcc
x8664
inlineassembly
compareandswap
扩展内联汇编中的约束“Rah”和“Ral”意味着什么?
这个问题的灵感来自于另一个论坛上有人提出的问题 在下面的代码中 扩展内联汇编约束是什么Rah and Ral意思是 我以前没见过这些 include
gcc
x86
x8616
inlineassembly
ia16gcc
如何从程序访问控制寄存器cr0、cr2、cr3?出现分段错误
我编写了一个程序 尝试读取和写入控制寄存器 程序编译得很好 但是当内联汇编即将执行时 它会产生分段错误 Code void instructions int val int i int value for i 0 i lt val i as
x86
inlineassembly
cpuregisters
FLAGS/EFLAGS 是破坏列表的“CC”(条件控制)的一部分吗?
这是后续扩展汇编器中的 qm 是什么 https stackoverflow com questions 21516852 what is qm in extended assembler 使用时RDRAND 它设置 或取消设置 进位标志
Assembly
syntax
x86
inlineassembly
rdrand
在c++下调用asm sqrtsd
在 Visual 2012 下如何在 C 项目中调用 sqrtsd asm 函数 我无法通过谷歌找到它 就像是 double mySqrt double val asm sqrstd EDIT 在 32 位模式下 为什么不使用 sqrt 函
c
VisualStudio
Assembly
inlineassembly
sqrt
内联asm未经优化无法编译
我需要在 32 位 Linux 进程中使用 futex 系统调用 但无法使用syscall函数 标头不可用 这仍然可以通过使用内联汇编来完成 如下所示 include
c
Linux
x86
inlineassembly
cpuregisters
标签地址 (MSVC)
我们正在为高级编译语言编写字节码 经过一些分析和优化后 很明显 当前最大的性能开销是我们用来跳转到字节码情况的 switch 语句 我们研究了提取每个 case 标签的地址并将其存储在字节码流本身中 而不是我们通常打开的指令 ID 如果这样
c
Assembly
inlineassembly
goto
labeledstatements
在 32 位保护模式/MSVC 内联汇编中获取 FS:[0] 的线性地址
我在 Visual C 内联汇编中使用了这条指令 lea eax FS 0 Why did eax得零分吗 我如何获得线性地址FS 0 假设 FS 指向 Windows线程信息块 https en wikipedia org wiki Wi
Assembly
visualc
x86
inlineassembly
带 goto 的扩展 asm(包括 gcc 文档中的示例)无法编译
一些扩展的汇编语句使用goto限定符无法使用 GCC 10 1 0 进行编译 具体来说 int foo int count asm goto dec 0 jb l stop r count stop return count stop re
c
gcc
inlineassembly
goto
x86 组装pushad/popad,速度有多快?
我只是想在 x86 汇编中制作非常快速的基于计算的程序 但我需要在调用程序之前推送累加器 计数器和数据寄存器 手动推送它们更快 push eax push ecx push edx 或者只是使用 pushad 和 pop 一样 谢谢 如果你
performance
Assembly
x86
inlineassembly
microoptimization
通过内联汇编操作c变量[重复]
这个问题在这里已经有答案了 可能的重复 如何访问 c 变量以进行内联汇编操作 https stackoverflow com questions 14617953 how to access c variable for inline as
c
Assembly
inlineassembly
从管理员权限应用程序读取 cpu 控制寄存器的值 (Windows)
我正在尝试使用内联汇编从 cpu 控制寄存器读取数据 我最初的目标是 x86 64 我对 c 或汇编不太熟悉 但我设法进行了一个非常简单的尝试 如下所示 include
c
Assembly
inlineassembly
帮助构建 16 位操作系统
我正在尝试构建一个旧的 16 位 DOS 操作系统 我的示例内核代码 asm code16 n void putchar char int main putchar A return 0 void putchar char val asm
gcc
operatingsystem
inlineassembly
如何在Xcode LLVM中编写有关LOOP的内联汇编代码?
我正在研究内联汇编 我想在 Xcode 4 LLVM 3 0 编译器下的 iPhone 中编写一个简单的例程 我成功编写了基本的内联汇编代码 例子 int sub int a int b int c asm sub 0 1 2 r c r
iphone
c
Assembly
arm
inlineassembly
如何让 GCC 将“move r10, r3; store r10”组合成“store r3”?
我正在使用 Power9 并利用称为 DARN 的硬件随机数生成器指令 我有以下内联汇编 uint64 t val asm volatile xor 3 3 3 n r3 0 addi 4 3 1 n r4 1 failure 1 n by
gcc
inlineassembly
powerpc
错误 C2432 非法引用 __asm 的“第二个操作数”中的 16 位数据
在 Visual Studio 中 当我用 C 编译 asm 时 我收到此错误 有人知道这段代码有什么问题吗 我尝试了一切 但没有任何效果 我正在尝试在装配中实现冒泡排序 unsigned short i 0 unsigned short
c
VisualStudio
Assembly
inlineassembly
32bit
ARMv8 浮点输出内联汇编
为了添加两个整数 我写 int sum asm volatile add 0 x3 x4 r sum 我怎样才能用两个浮动来做到这一点 我试过 float sum asm volatile fadd 0 s3 s4 r sum 但这给了我一
gcc
floatingpoint
arm
inlineassembly
ARM64
为什么局部变量不能在 GNU C 基本内联 asm 语句中使用?
为什么我不能使用局部变量main用于基本 asm 内联 它只允许在扩展汇编中使用 但为什么会这样呢 我知道局部变量在返回地址之后位于堆栈上 因此一旦函数返回就不能使用 但这不应成为不使用它们的原因 以及基本汇编的示例 int a 10 gl
c
gcc
inlineassembly
languagedesign
«
1
2
3
4
5
6
»