Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
x86 迭代 2 字节字数组
我正在使用 emu8086 在 8086 游戏中编写一个循环 并且我想迭代单词值 而不是像这样声明的数组的字节 player fire dw 320 dup 0 mov bx offset player fire mov cx 320 fi
Assembly
x86
DOS
解释GDB寄存器(SSE寄存器)
我已经使用 GDB 1 天了 我对它有了一定的了解 但是 当我使用 GDB 和打印寄存器在最后一个分号处设置断点时 我无法完全解释存储到 XMM 寄存器中的数据的含义 我不知道数据是否采用 MSB gt LSB 格式 反之亦然 m128i
unix
x86
GDB
SSE
x86 上存储到加载转发失败的成本是多少?
在最新的 x86 架构上 存储到加载转发失败的成本是多少 特别是 存储到加载转发会失败 因为加载部分与较早的存储重叠 或者因为较早的加载或存储跨越某些导致转发失败的对齐边界 当然存在延迟成本 它有多大 是否还存在吞吐量成本 例如 失败的存储
x86
intel
cpuarchitecture
microoptimization
amdprocessor
非临时指令如何工作?
我正在阅读每个程序员都应该了解的内存知识乌尔里希 德雷珀 Ulrich Drepper pdf在第 6 部分的开头有一个代码片段 include
memory
x86
cpuarchitecture
intrinsics
cpucache
Windows 8 fat 二进制文件(适用于 x86 和 ARM 的 exe)
有谁 这里 知道 Windows 8 是否会有一种可以用 Visual Studio 2012 编译的胖 exe 并且在 ARM 和 x86 机器上都支持 我猜不会 因为据我所知 您无法创建执行 32 或 64 位代码的胖二进制文件 据我所
Windows
x86
arm
EXE
universalbinary
Borland x86 内联汇编器;获取标签的地址?
我使用 Borland Turbo C 和一些内联汇编代码 因此大概是 Turbo Assembler TASM 风格的汇编代码 我希望做到以下几点 void foo bar void asm mov eax SomeLabel SomeL
c
Assembly
x86
turboc
rdtsc,循环次数过多
include
c
Assembly
x86
RDTSC
在 32 位 Windows 上使用 NASM 在程序集中创建 exe 文件
我正在用汇编语言编写一个 hello world 程序NASM在 32 位上Windows 7的 我的代码是 section text global main must be declared for linker ld main tell
Windows
Assembly
Linker
x86
nasm
ICC 与 GCC - 优化和 CPU 架构
我有兴趣了解 GCC 在优化级别和迎合特定处理器架构方面与英特尔的 ICC 有何不同 我正在使用适用于 Linux 的 GCC 4 1 2 20070626 和 ICC v11 1 ICC 的优化级别 O1 到 O3 与 GCC 有何不同
gcc
x86
x8664
compileroptimization
ICC
关于 setjmp/longjmp
我正在调查设置jmp longjmp并发现setjmp保存指令指针 堆栈指针等寄存器 然而 我在这里不明白的是 线程本身堆栈中的数据不能在调用之间修改吗 setjmp and longjmp 在那种情况下 不会longjmp不按预期工作 为
c
Linux
x86
setjmp
程序完成后分支预测器条目失效?
我试图了解分支预测器条目何时无效 以下是我所做的实验 Code1 start measure branch mispred while X times if something something do useless endif endw
c
performance
x86
branchprediction
spectre
优化第七代英特尔酷睿视频 RAM 中的递增 ASCII 十进制计数器
我正在尝试针对特定的 Kaby Lake CPU i5 7300HQ 优化以下子例程 理想情况下使代码比其原始形式至少快 10 倍 该代码在 16 位实模式下作为软盘式引导加载程序运行 它在屏幕上显示一个十位十进制计数器 计数 0 9999
Assembly
Optimization
x86
intel
BootLoader
movl $_start, %eax 是什么意思?
后面跟一个标识符是什么意思 x86 汇编 AT T 语法 在 AT T 语法中 意味着将后面的内容视为立即常量而不是内存地址 换句话说 movl start eax 加载符号的地址 start进入 eax movl start eax 从内
Assembly
x86
LSD 能否从检测到的循环的下一次迭代中发出 uOP?
我正在研究 Haswell 端口 0 上的分支单元的功能 从一个非常简单的循环开始 BITS 64 GLOBAL start SECTION text start mov ecx 10000000 loop dec ecx jz end 1
Assembly
x86
cpuarchitecture
intelpmu
在运行时检测 64 位模式的 x86-32 / x86-64 多语言机器代码片段?
相同字节的机器代码是否可以判断它们是在 32 位模式还是 64 位模式下运行 然后执行不同的操作 即写polyglot机器代码 通常你可以在构建时检测 ifdef宏 或者在 C 中 你可以写一个if 以编译时常量作为条件 并让编译器优化掉它
Assembly
x86
32 位系统上的 Java 10(及更高版本)
据我所知 oracle 没有计划为 32 位提供 java 但也许我误解了情况 如果我是对的 如果我们需要支持 32 位库 dll 我们该怎么办 那么 32 位操作系统又如何呢 目前这似乎对未来产生巨大影响 但正如我所说 也许我错了 事实上
Java
x86
java10
为什么从 AT&T 语法切换到 Intel 语法会使本教程在使用 GAS 时出现段错误?
我正在完成一些教程http www ibm com developerworks linux library l gas nasm index html熟悉 x86 x64 本教程代码使用提供的代码进行编译和运行 不会出现任何问题 该代码使
Assembly
x86
intel
gnuassembler
att
x86 中“PAUSE”指令的用途是什么?
我正在尝试创建一个自旋锁的愚蠢版本 浏览网页时 我在 x86 中发现了一条名为 PAUSE 的汇编指令 该指令用于向处理器提示自旋锁当前正在该 CPU 上运行 英特尔手册和其他可用信息指出 处理器使用此提示来避免内存顺序冲突 大多数情况下
parallelprocessing
x86
x8664
intel
criticalsection
如何在 x86 平台上使用 gcc 声明内存范围不可缓存?
虽然我已经阅读了有关此的 movntdqa 指令 但已经找到了一种干净的方法来表示不可缓存的内存范围或读取数据 以免污染缓存 我想从海湾合作委员会做到这一点 我的主要目标是交换到大型数组中的随机位置 由于数据恢复很少 希望通过避免缓存来加速
gcc
Assembly
x86
SSE
安装 HAXM 时不支持 VT
我正在尝试安装使用 Intel x86 模拟器加速器的快速 Android 模拟器 我已经通过 SDK 管理器下载了加速器 但是当我尝试安装它时 我在安装开始时收到以下错误消息 我知道我的 CPU i7 3520M 支持 VT X 虚拟化
Windows
x86
emulation
virtualization
HAXM
«
1 ...
39
40
41
42
43
44
45
...51
»