x86-64 相关问题

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

8位DIV指令加上设置AL/AH和CL的指令后,RAX的值是多少?

正确答案是什么?我在测试中遇到了这个问题...:/ x86-64架构: //之后寄存器RAX会有什么值 //执行以下指令序列? 我...

回答 1 投票 0

正确答案是什么?我在测试中遇到了这个问题...:/

x86-64 架构 //之后寄存器RAX会有什么值 //执行以下指令序列? 莫夫阿尔,-5 异或啊啊啊 移动 cl, 5 分区 //a) -1 ...

回答 1 投票 0

如何解决 github.com/godror/godror 的 go 构建错误?

在 Mac OS 上,我尝试构建以下文件以在 Linux 计算机上运行。 包主 进口 ( “语境” “数据库/sql” _“github.com/godror/godror” ) ...

回答 1 投票 0

函数参数的数量如何影响性能

在编写函数时,我通常会想起“干净代码”原则 一个函数不应有超过 3 个参数。 然而,考虑到下面这些 x86-64 调用约定,我已经放松了......

回答 1 投票 0

x86_64。如何避免内存取消引用占用 390 个处理器周期而不是 3.6 个或最多 10 倍(36 个周期)而不是 100 倍

为了优化并发链表访问,我尝试对 x86_64 中取消引用所需的平均时间进行基准测试(我的特定处理器是 Ryzen)。 虽然我知道过去的美好时光...

回答 1 投票 0

“64 位操作系统”、“基于 x64 的处理器”与字长之间有什么关系?

我想知道,64位操作系统和基于x64的处理器是否意味着字大小(即处理器和物理内存之间的内存传输大小)是64位?如果操作

回答 1 投票 0

适用于 Windows 的 Nasm x64 代码

我在互联网上搜索了一个适用于 Windows 的 NASM x64 示例,但我只找到了一个,并且不起作用:(,只是找到了适用于 Linux 的代码,有人可以展示如何创建 Hello world 的示例。 ..

回答 2 投票 0

UEFI 中的 SATA DevicePath 命名不一致

我正在尝试能够在UEFI中区分各种SATA磁盘。我尝试使用 DevicePath 来实现此目的。我使用协议 gEfiDevicePathProtocolGuid 来检索 DevicePath,然后将其转换为 t...

回答 1 投票 0

是什么阻止编译器优化手写的 memcmp()?

鉴于: #包括 布尔测试数据(无效*数据) { 返回 memcmp(数据, "abcd", 4) == 0; } 编译器可以将其优化为: 测试数据: cmpl $1684234849, (%rdi) ...

回答 1 投票 0

x86-64 架构中的分页

在32位操作系统的实现中,页表具有固定的结构(两个级别 - 页目录和页表)。但在x86_64系统中,一般会有多个级别的页面...

回答 1 投票 0

在Linux Ubuntu系统上,main函数是由_libc_start_main函数调用的吗?

我的系统:在 x86_64 CPU 上运行的 Ubuntu 22.04.3。 我在名为 test.c 的文件中有这个 C 程序: int main(){ 长整型 a = 10; 长整型 b = 20; } 我已经用“gcc test...

回答 1 投票 0

即使我们在 gcc 中使用 -mno-red-zone 标志,红色区域仍然存在吗?

我的系统:在 x86_64 上运行的 Ubuntu 22.04.3。海湾合作委员会版本 11.4.0 我读到 System V ABI 强制要求使用红色区域。来自海湾合作委员会手册: 红色区域是 x86-64 ABI 强制规定的,它是 128-...

回答 1 投票 0

Ubuntu 上的 System V ABI 是否将返回地址放置在调用者函数的框架内或被调用者函数的框架内?

我的系统:在 x86_64 上运行的 Ubuntu 22.04.3。海湾合作委员会版本 11.4.0 我问这个问题是因为就其所在的框架而言,返回地址似乎有两种不同的表示形式(

回答 1 投票 0

为什么 rsp 寄存器在叶函数中不像在任何其他函数的开头那样递减?

以下是有关我的系统的一些信息: 在 Intel x86_64 上运行的 Ubuntu 22.04.3; ggc 版本 11.4.0; 我注意到 rsp 寄存器在叶函数中并没有像在非叶函数中那样递减

回答 1 投票 0

如何使用寄存器中存储的偏移量跳转到相对地址?

Intel/AMD 表示: 移动 rax, 0xabc jmp rax 不等于: 跳转0xabc 由于第一个由于寄存器的原因假设绝对跳转,而第二个假设相对跳转。我的问题...

回答 1 投票 0

不显示字符串(osdev)

我目前正在开发一个用于教育目的的小型操作系统(因为这很有趣)。我成功地进入了 64 位模式,并且我跳到 c 函数“kmain”上以更高的速度进行编程

回答 1 投票 0

为什么创建局部变量的指针需要过程在堆栈上分配空间?

我正在读《计算机系统:程序员的视角》的第三章。在“堆栈上的本地存储”部分中,该书说: 大多数程序示例我们...

回答 2 投票 0

如何在没有库的情况下在 macOS 上编译或构建汇编程序?

问题是我在文档/程序集中有一个文件系统,如下所示: test.s(来自 Linux 教程,使用 Linux 系统调用号): .global_start 。文本 _开始: 移动 $...

回答 1 投票 0

如何编译汇编?

问题是我在文档/程序集中有一个文件系统,如下所示: 测试: .global_start 。文本 _开始: mov $60, %rax # 退出 mov $0, %rdi # 返回码 0 系统...

回答 1 投票 0

UEFI 应用程序中的计时器回调仅在 AMI BIOS 中挂起

将 UEFI 应用程序从 AARCH64 移植到 X64 时,我遇到了以下问题:启用周期性计时器后应用程序挂起(计时器用于 I/O 轮询的应用程序)。定时器回调

回答 1 投票 0

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