x86是一个源自Intel 8086 CPU的架构。 x86系列包括32位IA-32和64位x86-64架构,以及传统的16位架构。关于后者的问题应该标记为[x86-16]和/或[emu8086]。如果您的问题特定于64位x86-64,请使用[x86-64]标记。对于x86 FPU,请使用标记[x87]。对于SSE1 / 2/3/4 / AVX *,也可以使用[sse]和[avx] / [avx2] / [avx512]中的任何一个
最近在学习内核开发,遇到了higher half kernels的概念,之前一直以为整个kernel在分页后一定是1:1映射的,但是好像...
理解 $ Location Counter 的行为 - var1 DWORD $ 汇编到 MASM 中数据节的开头,而不是行的开头
程序代码 - 1 .386 .模型公寓 。数据 数组 1 双字 1,2,3,4,5 var1 双字 $ 。代码 启动进程 MOV EAX、偏移数组1 MOV EBX,var1 离开 视网膜色素变性 启动ENDP 结尾 程序代码 - 1
程序代码 - 1 .386 .模型公寓 。数据 数组 1 双字 1,2,3,4,5 var1 双字 $ 。代码 启动进程 MOV EAX,偏移数组1 MOV EBX,var1 离开 视网膜色素变性 启动ENDP 结尾 程序代码 - 1
最近在研究CRC32计算加速的问题,是针对CRC32b类型(多项式0x04C11DB7)的,但是发现Intel的SSE4.2中的crc32指令ar...
在基于 CAS 的循环中,例如下面的循环,在 x86 上使用暂停是否有益? voidatomicLeftShift(atomic&var,intshiftBy) { 而(真){ int oldVal = var; ...
我正在尝试了解一些有关二进制利用的知识,并且正在构建一个最小的沙箱供我进行实验,但我遇到了一个奇怪的问题。考虑这个 main.c: // 猫 > main.c ;马克...
上下文: 在多线程编程中,关键挑战之一是确保一个线程所做的更改对其他线程可见。虽然这个问题通常与内存可见性有关,但另一个
我正在尝试制作一个小型x86程序,该程序获取包含.txt文件的文件夹的绝对路径作为输入,并打印它们的大小和fd
.数据 格式字符串:.asciz "%s" descLabel: .asciz "文件描述符: %d ” sizeLabel: .asciz "文件大小: %d KB ” afis_nr: .asciz "%d &q...
如何在 Intel 285k 上构建 AOSP 13 而不会出现错误
在 intel 285k 和 265k 上构建 AOSP 13 时不断崩溃。 操作系统:Ubuntu 22 内核:6.8.0-49 RAM:96 Gb + 32 Gb 交换,构建期间仅使用 50 Gb 下载和构建命令: 回声“开始
如我的标题中所述,我使用以下代码来获取输入并将其转换为整数,以非数字字符终止。它编译得很好,但不想运行。相反,我...
INVLPG 指令或 mprotect() 是否会影响 CPU 缓存状态,同时使 TLB 条目无效?
我正在编写一些涉及 L1/2/3 缓存和 TLB 条目逐出和失效的代码。我正在尝试使用 INVLPG 指令使 TLB 条目无效并验证
Intel手册指出需要检查CPUID.01:EDX[5]来查看RDMSR和WRMSR指令是否可用。如果使用 CPUID,我已经发现特定 MSR 的特定位(在我的例子中
以下是重置段的代码: 全局重新加载段 节.文本 重新加载段: ;重新加载 CS 寄存器,偏移量为 0x08 jmp 0x08:.reload_CS .reload_CS...
x86 asm 新手 - mov a,[b+2] 和 add b,2|mov a,[b] 的等价性
我想知道以下是否 mov eax, [ebx+4] 相当于 添加 ebx, 4 移动eax,[ebx] 是否有性能改进或为什么第一个应该优先于后者的原因,除了......
这是一个必须拆除炸弹引信的任务,该炸弹包含 6 个阶段,每个阶段都有 1 个正确的输入才能进入下一阶段。我目前处于phase_4,它有一个递归函数...
我刚刚编写了一个整数数组的 bubble_sort(请参阅上一个问题),并决定忽略标准交换并实现程序集交换,如下所示: int 交换(int* x, int* y) ...
我在当前的项目中遇到了这个问题,这需要在二进制级别对代码进行推理。 我认为我们可以通过查看...
如何从破坏列表中“修复‘asm’中未知的寄存器名称‘%xmm1’”?
我正在尝试为 Ubuntu 14.04 X86 构建一个项目,但出现以下错误: 错误:“asm”中未知的寄存器名称“%xmm1” asm 易失性 ( ^ 错误:未知寄存器 na...
我想在Visual Studio 2010中编写16位8086汇编代码 但给我错误: 代码: .型号小 .堆栈100小时 。数据 消息字节“你好,世界!”,“$” 。代码 _开始: 移动啊,9 lea dx,消息;一个...
最近在做操作系统,在制作GDT时遇到了一个大问题 内核代码(这就是我拼写内核的方式): [组织0x0] [位 16] jmp 短启动 %定义ENDL 0x0D,...