x86-64 相关问题

x86-64是Intel x86架构的64位扩展

二元炸弹阶段 4 - 2 个整数的递归函数

我很难追踪以下二进制炸弹的汇编代码(学校的一项作业,其中必须拆除炸弹,该炸弹包含 6 个阶段,每个阶段都有 1 个相关...

回答 1 投票 0

X86-64 与函数参数相关的寄存器

例如,%rdi 是否保存传递给 x86-64 中函数的第一个参数的值,或者它是否保存可以找到第一个参数值的地址?换句话说,做...

回答 1 投票 0

为什么 AT&T 语法中括号会根据上下文执行不同的操作?

我正在上一门关于装配的课程。我和一些朋友正在讨论 %rdi 和 (%rdi) 在以下情况下的区别: 假设 RDI 在 A 中保存字符值“w”...

回答 1 投票 0

x86-64:为什么括号会根据上下文做不同的事情?

我正在上一门关于装配的课程。我和一些朋友正在讨论 %rdi 和 (%rdi) 在以下情况下的区别: 假设 %rdi 在 ...

回答 1 投票 0

炸弹实验室第二阶段说明

我是组装新手,我正在做这个炸弹实验室,并卡在 0x0000555555555612 <+71>。我的输入是 0 1 1 11 1 11 0x00005555555555cb<+0>:endbr64 0x00005555555555cf <+4>:...

回答 1 投票 0

如何使 SIMD 除以零得到零? (x86-64)

我有一些想要除法的浮点数,其中一些可能是零。我怎样才能做到在 x86-64 上除以零时,只返回零而不是 NaN ? 我尝试将 FZ 设置为...

回答 1 投票 0

x86_64 IDT 在 Linux 内核中的 CPU 之间共享吗?

TLDR: Q1:Intel x86_64 架构是否有每个 CPU 的 idtr?如果是这样,那么 IDT 应该被加载 N 次,其中 N 是 CPU 的数量?我的意思是针对每个CPU,而不是针对一个CPU N 次。 Q2:我找到了那个ID...

回答 1 投票 0

用于检查多个 Python 安装版本和架构的 Powershell 脚本

我有这个powershell脚本,我想在其中检查我的机器上安装的每个python:它的版本(例如3.11.0)和体系结构(32位或64位)。基本上,我首先发出这个逗号...

回答 1 投票 0

迭代汇编 x86 (asm) 中寄存器中存储的字符串

假设我有一个很长的字符串,其地址存储在 rdi 中,我是否可以迭代该字符串的每个字符? 这是我到目前为止尝试过的,但效率非常低,我...

回答 1 投票 0

Rust 使用什么 ABI 来传递结构

在x86_64系统上,当返回值小于等于16字节时,通过寄存器RAX和RDX传递,当返回值大于16字节时,通过寄存器传递

回答 1 投票 0

以 64 位 masm 打印 hello

我是编程菜鸟。 我想编写一个程序来在 64 位 masm 中显示 hello。 我将 VS code 与 ml64.exe 和 gcc 一起使用。 以下是我写的: ;;文件名: 你好.asm printf 原型 。数据

回答 3 投票 0

x64 中的相对 JMP

所以我试图对此进行一些澄清,但无法解决/没有正确地表达谷歌给我正确的结果,所以我希望有人能在这里理解我。 我正在努力...

回答 1 投票 0

64 位汇编中的寻址模式不允许使用 32 位寄存器?

以下指令有什么问题: movb $0xF, (%ebx) 答案指出%ebx不能用作地址寄存器。我是装配新手,有人可以解释这意味着什么吗? 如果

回答 1 投票 0

如何在asmjit库代码中将一个64位数字除以另一个64位数字?

我尝试过: a.xor_ (EDX, EDX); /* 清除高64位 */ a. idiv (R9); a.mov(R8,EAX); 结果存储在 R8 中...

回答 1 投票 0

在汇编中注册

以下指令有什么问题: movb $0xF, (%ebx) 答案指出%ebx不能用作地址寄存器。我是装配新手,有人可以解释这意味着什么吗? 如果

回答 1 投票 0

x86 - Windows 是否将 dll 映射到不同进程中的同一物理页面?

假设我们有进程A和进程B,两者都在使用example.dll。 现在假设这个 dll 被映射到进程 A 和进程 B 中的不同地址(比如说,这是由于 ASLR 或其他一些原因

回答 1 投票 0

如何从x86_64 CPU生成PCIe原子请求?

PCIe 3.0支持原子操作请求(FetchAdd、Swap、CAS)。 我尝试使用内存模型感知原子操作的内置函数从主机生成 PCIe 原子操作请求,但是...

回答 1 投票 0

如何在 Netwide Assembler Windows x64 中将 argc 打印到控制台?

我无法得到argc参数的正常结果。在 Windows x64 中,它必须位于 rcx 寄存器中,因此我尝试将其打印到控制台,但得到的结果如下:2449408。 我预计我会得到结果 1。我...

回答 1 投票 0

为什么 Windows API WriteFile 需要将 rbx 设置为 [rsp]?

我正在尝试尝试在汇编中写入控制台。我最终使用了 Windows API WriteFile 函数。它运作良好,但我遇到了一个奇怪的怪癖。如果我没有设置 rbx 寄存器...

回答 1 投票 0

如何在一个原子操作中结合比较和更新?

我有两个线程,将执行: _原子易失性 uint64_t foo; // 如果更新了 foo,则返回 1;如果foo 已经有了新值,则返回 0 int try_to_update_foo(uint64_t new) { 如果(富< n...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.