Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
我可以暂时为线程启用 FTZ 和 DAZ 浮点模式吗?
我想暂时启用FTZ DAZ模式来获得某些代码的性能增益 其中严格遵守IEEE 754标准不是问题 无需更改其他线程的行为 这些线程可能正在执行代码 其中合规性很重要 我一直在读this关于如何启用 禁用这些模式以及this关于非规范处理的性
Multithreading
floatingpoint
x86
NaN
SSE
AVX512 舍入模式如何工作(或者 NDISASM 只是混淆了)?
我正在尝试了解具体的AVX512F指令vcvtps2udq 指令的签名是VCVTPS2UDQ zmm1 k1 z zmm2 m512 m32bcst er 手册信息如下 为了尝试理解新的舍入模式 以下代码片段是用 NASM 2 12 02
Assembly
x86
nasm
avx512
Win32 入口点是否必须保留任何寄存器值(被调用者保存的寄存器)?
我正在 NASM 中编写一个程序 并且不想将其与 CRT 链接 因此我将指定入口点 这将是 Win32 入口点 这是程序源代码 global myEntryPoint section text myEntryPoint mov eax 12
WINAPI
Assembly
x86
nasm
Intel 处理器的虚拟操作处理
诚然 我有一个有点愚蠢的问题 基本上 我想知道是否 英特尔处理器提供了一些特殊的机制来有效地 执行一系列虚拟指令 即 NOP 指令 例如 我可以想象那里 可能是某种识别 NOPS 并丢弃它们的预取机制 并尝试获取一些有用的指令 或者这些 N
Assembly
x86
intel
cpuarchitecture
instructionset
使用非托管代码使用扩展名获取文件图标时在 x86 系统上出现异常
我正在开发磁盘目录应用程序 需要我使用从数据库检索的文件扩展名来获取文件图标 使用其扩展名获取文件图标的代码在具有任何 CPU 调试配置的 Windows 7 x64 计算机上工作得非常好 但是当我在调试配置中切换到 x86 时 我收到以下
c
Exception
x86
unmanaged
SFENCE和LFENCE对相邻核心的缓存有什么影响?
From the speech Herb Sutter in the figure of the slides on page 2 这里显示了单独的缓存 L1S和存储缓冲区 SB 1 在 Intel x86 处理器中cache L1 和 S
caching
Assembly
x86
intel
memorybarriers
在程序集问题中将大写字母转换为小写字母
我正在写信将预设字符串从大写转换为小写 我目前正在将地址处的内容移至 8 位寄存器 然后以一种非常草率的方式测试 ASCII 值以查看它是否为大写 有没有更干净的方法来解决这个问题 现在我从 ASCII 值中减去 65 并与 25 进行比较
Assembly
x86
MASM
lowercase
一步步在 macOS 上编写 hello world
我在 mac os x86 64 架构 的汇编方面遇到了很大的困难 我想向您介绍 hello world 程序的解释 如果您能向我提供反馈意见以及建议和解释 我将不胜感激 话虽如此 让我们进入代码 你好世界程序 Never felt the
Assembly
x86
x8664
在 x86 上将 float 转换为 int 的最快方法是什么
您知道在 x86 CPU 上将浮点数转换为 int 的最快方法是什么 对于以下任意组合 最好使用 C 或汇编语言 可以内联到 C 中 32 64 80 位浮点 gt 32 64 位整数 我正在寻找一些比仅仅让编译器完成它更快的技术 这取决于
c
Optimization
x86
floatingpoint
Assembly
DIV 汇编的错误答案
我有我的代码的一部分 mov di 3 mov cx 16 looop xor dx dx shl bx 1 adc dx dx cmp cx 16 je cx16 it s will dec cx and jump loop push d
Assembly
x86
程序集调用堆栈 - 术语问题
我对 Assembly 完全陌生 希望确认以下陈述中我有误解并需要纠正的地方 堆栈指针 ESP 指的是栈顶 最低内存地址 基指针 EBP 用于在构建堆栈帧时临时存储各种内存地址 它通常保存当前堆栈帧的最高内存地址 指令指针 EIP 指的是内
Assembly
x86
stack
eip
boost::random::uniform_real_distribution 在处理器之间应该是相同的吗?
以下代码在 x86 32 位和 64 位处理器上产生不同的输出 应该是这样吗 如果我将其替换为 std uniform real distribution 并使用 std c 11 进行编译 它将在两个处理器上产生相同的输出 include
c
Random
x86
boost
使用 GCC 扩展 ASM 将内联 Intel ASM 转换为 AT&T ASM
我花了 2 天的时间来研究 AT T 内联汇编 但是在转换这个汇编时遇到了一些问题 static char vendername 50 0 asm mov eax 0 cpuid mov dword ptr vendername ebx m
gcc
Assembly
x86
inlineassembly
为什么在调用 jnz 之前要将一个值与其自身进行“或”操作?
我正在阅读一些执行以下操作的代码 OR al al JNZ loc 123456 如果我没读错的话 OR命令只是设置一个标志位 然后测试该寄存器是否有任何非零值 为什么要这样写而不是这样写 CMP al 0 JNE loc 123456 哪
x86
程序集 x86:比较字符串不起作用
我正在尝试在汇编中编写一个程序来检查两个字符串 section data str1 db mystring str2 db mystring output db cmp went fine len equ output section te
Assembly
x86
nasm
无法使用.bss段内存
我正在尝试在 bss 内存中存储一 个文件描述符 用于从一个文件读取并写入另一个文件的基本 Linux 程序 我一直无法让它发挥作用 该程序不会返回错误 但无法正常工作 将文件描述符存储在堆栈上时它可以正常工作 当我尝试在 gdb 中运行该
Assembly
x86
描述 Assembly 中的 pop [重复]
这个问题在这里已经有答案了 我正在学习IA32 当我思考什么时popl DEST我认为指令正在做以下事情 movl esp DEST addl 4 esp 但当我想到popl esp 尽管这可能是一个毫无意义的指令 但我认为可能有更好的方法
Assembly
x86
cpuregisters
从proc/sys/kernel/读取数据
我想创建程序来获取有关操作系统的信息 我尝试使用系统调用 但认为从系统文件读取会更快 直接 因此 我编写了一个简单的程序 用于从目录 proc sys kernel 中的文件读取数据 并希望读取文件 osrelease 主机名 ostype
Linux
Assembly
x86
nasm
Intel SDM手册中的“根据结果设置”是什么意思?
这是我在 Intel x86 64 的文档中看到的内容neg和许多其他说明 包括sub 所以理解 FLAGS 为neg x as 0 x取决于这个 The OF SF ZF AF and PF根据结果 设置标志 我假设sf dest lt
Assembly
x86
x8664
eflags
使用intel内联汇编器编码带有进位的bigint add
我想做一个快速代码来添加大整数中的 64 位数字 uint64 t ans n uint64 t a n b n assume initialized values for int i 0 i lt n i ans i a i b i 但以
c
Assembly
x86
bigint
carryflag
«
1 ...
37
38
39
40
41
42
43
...53
»