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]中的任何一个
如何使用名为 ptr 的变量解决 Visual Studio 中的 C2400 错误?
我正在使用与块 _asm {} 集成的 x86 汇编语言进行 C++ 编程,但我一直遇到相同的错误 C2400。 我正在尝试计算前 n 个素数。 错误:C2400 装配错误...
如何解决 Visual Studio 中的 C2400 错误?
我正在使用与块 _asm {} 集成的 x86 汇编语言进行 C++ 编程,但我一直遇到相同的错误 C2400。 我正在尝试计算前 n 个素数。 错误:C2400 装配错误...
我有一个代码: [组织0x7c00] CODE_SEG 等于 GDT_code - GDT_start DATA_SEG 等于 GDT_data - GDT_start 命令行 lgdt [GDT_描述符] 移动eax,cr0 或 eax, 1 mov cr0, eax jmp CODE_SEG:start_protected_mode jm...
我有一个在 C++ Visual Studio 中使用汇编器插入编写的程序。我想将其安排为 Visual Studio 中的汇编程序。我不明白为什么我数错了。我瘦了...
x86 代表前缀的初始计数为零会发生什么? 英特尔的手册明确指出,这是一个 while count != 0 循环,测试位于顶部,这是正常的预期行为。 但大多数...
美好的一天!我只是想知道为什么要把ax的值设置为0? 有人可以向我解释一下这里每一行代码的含义吗? 我知道第一行的作用是跳转到内存
我一直在为学校开发一个二进制炸弹,在第五阶段我完全迷失了。作业的目的是分解代码并找到一个字符串,我发现它是“传单”并且
炸弹实验室第 5 阶段:6 个字符串替换查找表,strings_not_equal [重复]
有人可以向我解释一下这些函数到底有什么作用吗?我在<+35>处设置了一个断点,如箭头所示,这就是我迷路的地方。到目前为止,我所知道的是......
这是我对代码的作用以及我想如何解决它的理解:首先我需要找到一个字符串,然后根据我拥有的 16 字节查找表对该字符串进行逆向工程...
轰炸实验室阶段 5 - 6 个字符字符串、movzbl 负载和 $0xf、%ecx,并用它索引一个数组?
好吧,这是非常受欢迎的炸弹实验室,我目前处于第五阶段,我只被困在两条线上。这是汇编代码: 函数phase_5的汇编代码转储: 0x08048e29 ...
当硬件预测不可用时,x86/ARM CPU 为何不停止对间接分支的推测?
正如英特尔优化手册中所述: 间接分支和调用的默认预测目标是 跌倒路径。如果并且当 硬件预...
如何在X86汇编Intel中使用自己的函数制作自己的库。 我目前正在使用 invine.inc 库,但不太精通它
我是一名正在上课的学生,我在这个项目上遇到了真正的麻烦。现在,我不仅仅是在寻找答案,因为我很想了解正在发生的事情,但我...
我知道在组装时必须非常小心,即: 这样做: 移动啊,10小时 移动,00h;股息 = 1000h 移动 bl,10 小时;除数 = 10h div...
我知道在x86架构中,我可以在内核上下文中读取CR3寄存器 跟踪内核的页目录。 现在我正在尝试使用 SPARC 架构在 Linux 上做同样的工作。 我怎样才能...
考虑compare_and_exchange_strong_explicit的定义: _Boolatomic_compare_exchange_strong_explicit( 易失性 A* obj, C* 期望,C 渴望...
我正在开发一个操作系统作为一种爱好,并且在处理键盘IRQ时遇到了一个奇怪的问题,我不知道为什么,但是当出现的字符串太少时,我收到了无效的操作码ISR。 ..
我一直认为 SP 是相对于 BP 而言的,这意味着在堆栈上压入和弹出内容将使用地址 BP - SP,其中 BP 是堆栈的开始,SP 是当前...
我在Qt的源代码中看到了一些x86汇编: q_atomic_increment: movl 4(%esp), %ecx 锁 包括 (%ecx) 移动 $0,%eax 塞内%al 雷特 .对齐4,0x90 .type q_atomic_increment,@