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]中的任何一个
我正在阅读英特尔手册,我看到提到“处理器的线性地址空间”。 我对线性地址空间实际上在哪里或什么感到困惑。在处理器的哪个位置...
如何对近、绝对间接调用指令进行编码? 呼叫 r/m32 它的操作码是 FF /2,我知道 /2 是什么意思,但是,它如何影响二进制形式的编码?这是否意味着我们看到...
为什么 ptrace(PTRACE_PEEKDATA, ...) 返回看似反向的数据流?
这几乎肯定源于我对 x86 二进制布局的误解,但我使用 ptrace(PTRACE_PEEKDATA, ...) 来检查正在运行的二进制文件,并遇到了以下情况: 这是正文部分...
为什么在 Assembly x86 MASM 上使用“int 21h”会导致我的程序崩溃?
我试图让我的程序接受输入,而用户不必按 Enter 键,所以我尝试了以下操作: 移动啊,01h 21小时内 但它只是因为未处理的异常而导致我的程序崩溃。这……
以下问题涉及 x86 汇编和小字节序。 假设我有以下 C 代码: 无符号字符 myID[10] = "211866744"; 这个数组如何保存在内存中...
这是按esc退出的程序 每当按下 esc 时,我试图从这个过程跳到退出以停止游戏。但它说 escpressed 超出范围 过程被压缩 移动啊,...
我想创建一个程序来获取有关操作系统的信息。我尝试使用系统调用,但认为从系统文件读取会更快(直接)。所以,我写了一个简单的程序......
时隔很长一段时间我不得不再次使用GNU汇编器。自从我对“$”遇到麻烦以来。 手册只是说: 3.6.2.1 整数 十进制整数以非零数字开头,后跟 ze...
给出以下 C 语言命令: 无符号字符 myID[10] = "123456789" 考虑到我在 x86 架构中使用小字节序,那么它将如何保存在内存中? 是...
我已经使用 ThisIsMostCertainlyTrue.sln 项目好几天了,没有任何问题。 这个主题问题最近才显现出来,即: 任何尝试 Win32 编译源代码的尝试...
我被要求将以下机器代码转换为英特尔语法的汇编代码: 0x421a0770:0D 00 3D 77 0x421a0774:交流3D 11 2A 0x421a0778: 96 AB 77 04 0x421a077c:90 2D 0...
“mov eax, [num]”和“mov eax, num”之间的区别
我是一名初学者,正在编写汇编程序,使用以下代码打印从 1 到 9 的数字: 节.文本 全局_start _开始: 移动ecx,10 ...
如何使用 SSE 内在函数将 16 个 8 位整数除以 4(或将它们右移 2)?
compare_exchange_weak() 在 x86 上通过获取-释放产生竞争条件
下面我有一个 WriterLock 结构。它实际上是读写器,但在这种情况下我只调用写入器锁定和解锁。 我的单元测试创建了多个线程,它们等待然后请求访问......
给定一个位序列,知道每n位(数据)有一个奇偶校验位(如果前n个中设置为1的位数是奇数,则为1),检查是否有错误。注意: • 位长度是指定的...
给定一系列一对 int16_ts。每对中的第一项是左声道样本,第二项是右声道样本。我想让它们成为单声道:单声道 = (左 + 右) / 2 并且不想失去甚至 l...
(内联汇编(汇编x86))给定一个位序列,知道(数据的)每n位有一个奇偶校验位,检查是否有错误
给定一个比特序列,知道每n个比特(数据)都有一个奇偶校验位(如果前n个比特中1处的比特数是奇数,则为1),检查是否有错误。 输入:BYTES 数组 (t...
如何在使用输入数据时实现 FMA 的峰值触发器吞吐量(同时保持所需的屋顶线计算/负载比)?
我尝试在加载输入数据时实现 SIMD FMA 计算的峰值浮点吞吐量。我加载相对计算/内存加载速度允许的尽可能多的数据。我还应用了缓冲来避免
我在尝试理解 x86-64 时偶然发现了“MOV EAX, moffs32”指令。 据我所知,这条指令将被编码(moffs32 为 0x12345678)为 j...
通过 docker linux x64 for linux i386 使用 C++ (cgo) 构建 Go
我使用 docker golang:1.22 为 Windows x32/x64 和 Linux x32/x64 构建 Go 项目。 我已经安装了: apt -y 安装构建必需的 apt -y 安装 gcc-multilib apt -y 安装 g++-multi...