Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
将 scanf 与 x86-64 GAS 组件结合使用
我在尝试调用系统函数 scanf 以在我的 x86 汇编程序中工作时遇到了很多问题 目前我已经让它从标准中读取 但是它只会读取没有段错误的字符 我不知道为什么 指定字符串是 d 我在网上看到的 x86 中的 scanf 示例使用 quark
Assembly
x86
scanf
x8664
gnuassembler
SSE 和 AVX MoveMask 的用途是什么
问题 MoveMask 的目的或意图是什么 学习如何使用 x86 x86 64 汇编 SSE AVX 的最佳地点是哪里 我可以更有效地编写代码吗 提问原因 我有一个用 F for NET 编写的使用 SSE2 的函数 我使用 AVX2 写了
NetCore
F
x86
SSE
avx
映射 MMIO 区域写回不起作用
我希望对 PCIe 设备的所有读写请求都由 CPU 缓存进行缓存 然而 它并没有像我预期的那样工作 这些是我对回写 MMIO 区域的假设 对 PCIe 设备的写入仅在缓存回写时发生 TLP 有效负载的大小是缓存块大小 64B 然而 捕获的
Linux
caching
x86
FPGA
PCIe
mulx 的 AT&T / GAS 语法是什么? [复制]
这个问题在这里已经有答案了 The 维基教科书 x86 汇编 https en wikibooks org wiki X86 Assembly GAS Syntax says GAS指令一般具有助记符源 目的地的形式 例如 以下 mov 指
Assembly
x86
gnuassembler
att
什么是寄存器%eiz?
在我使用转储出来的以下汇编代码中objdump lea 0x0 esi eiz 1 esi 什么是注册 eiz 前面的代码是什么意思 See 为什么选择 GCC LEA EIZ http web archive org web 200905
Assembly
x86
gnuassembler
objdump
Intel 指令文档中未使用 XMM 寄存器 0
在 Intel x64 手册中 它说 32 位 SSE2 模式下有 XMM 寄存器 0 7 那么为什么 95 使用这些寄存器的指令会跳过 0 并使用 1 4 例如Intel的vol 2手册entry https www felixclout
Assembly
x86
intel
SSE
关于 [base + index*scale + disp] 和 AT&T disp(base,index,scale) 的几个问题
Intel 和 AT T 语法中内存寻址的一般形式如下 base index scale disp Intel including GAS intel syntax noprefix disp base index scale AT T 我
Assembly
x86
att
addressingmode
intelsyntax
显示寄存器内容
您好 我需要帮助显示寄存器的内容 我的代码如下 我已经能够显示数据寄存器的值 但我想显示标志状态 例如 1 或 0 如果还显示其他寄存器 如 esi ebp 的内容 将会很有帮助 我的代码没有打印标志的状态 我缺少什么 section te
Linux
gcc
Assembly
x86
nasm
在 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
如何在 MASM 中编写远绝对 JMP/CALL 指令?
如何使用 MASM 编写远绝对 JMP 或 CALL 指令 具体来说 如何让它使用 EA 和 CA 操作码发出这些指令 而不使用 DB 或其他数据指令手动发出它们 例如 考虑跳转到引导扇区中 FFFF 0000 处的 BIOS 重置入口点的
Assembly
x86
MASM
缓存一致性有什么意义?
在像 x86 这样提供缓存一致性的 CPU 上 从实际角度来看这有何用处 据我所知 这个想法是让一个核心上完成的内存更新在所有其他核心上立即可见 这是一个有用的属性 然而 如果不是用汇编语言编写 就不能太依赖它 因为编译器可以将变量赋值存储
Multithreading
caching
concurrency
x86
lowlevel
驱动程序如何使用 MONITOR 指令(_mm_monitor 内在函数)?
我正在探索使用MONITOR指令 或等效的内在指令 mm monitor 尽管我找到了描述它们的文献 但我找不到任何关于如何使用它的具体示例 样本 任何人都可以分享如何在驱动程序中使用该指令 内在的示例吗 本质上 我想用它来观察内存范围 T
x86
Driver
cpuarchitecture
SMP
为什么 clang 发出 32 位 float ps 指令来获取 64 位 double 的绝对值?
clang为什么会转fabs double into vandps代替vandpd 就像海湾合作委员会那样 示例来自编译器资源管理器 https gcc godbolt org z TsfW9hrjT include
Assembly
x86
Clang
avx
llvmcodegen
扩展内联汇编中的约束“Rah”和“Ral”意味着什么?
这个问题的灵感来自于另一个论坛上有人提出的问题 在下面的代码中 扩展内联汇编约束是什么Rah and Ral意思是 我以前没见过这些 include
gcc
x86
x8616
inlineassembly
ia16gcc
如何在MASM中为一个项目编写和组合多个源文件?
对于组装来说还是个新手 玩起来很有趣 我想将程序的功能拆分到多个文件中 特别是通过将类似的功能分组在一起进行组织 这些其他文件将由主文件 甚至希望其他非主文件 调用 我还没有成功 希望得到帮助 我不使用 IDE 更喜欢使用 notepad
WINAPI
Assembly
x86
Linker
MASM
屏障/栅栏以及获取、释放语义是如何在微架构上实现的?
很多问题以及文章 书籍 例如https mirrors edge kernel org pub linux kernel people paulmck perfbook perfbook 2018 12 08a pdf https mirr
x86
x8664
cpuarchitecture
memorybarriers
microarchitecture
使用时间戳计数器获取时间戳
我使用下面的代码来获取处理器的时钟周期 unsigned long long rdtsc void unsigned hi lo asm volatile rdtsc a lo d hi return unsigned long long
timer
Linuxkernel
x86
linuxdevicedriver
x86 asm:如何将 reg 设置为非 SIB 支持的偏移量?
我有一个数组a24 字节结构体 排列无填充 以便结构体 1 在结构体 0 之后 24 个字节处开始 void a 1 void a 0 24 rbx保存结构体的索引 我想设置rdi to a rbx 24 and rsi to a rbx
Assembly
x86
x8664
在调用 Main() 之前 Windows 会做什么?
Windows 必须做一些事情来解析 PE 标头 将可执行文件加载到内存中 并将命令行参数传递给main Using OllyDbg I have set the debugger to break on main so I could v
Windows
Assembly
x86
portableexecutable
如何从程序访问控制寄存器cr0、cr2、cr3?出现分段错误
我编写了一个程序 尝试读取和写入控制寄存器 程序编译得很好 但是当内联汇编即将执行时 它会产生分段错误 Code void instructions int val int i int value for i 0 i lt val i as
x86
inlineassembly
cpuregisters
«
1 ...
5
6
7
8
9
10
11
...51
»