x86-64 相关问题

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

当我使用一个void函数的返回值时(通过铸造一个函数指针),到底会发生什么?

当我运行以下程序时,它总是显示 "是"。但是当我把SOME_CONSTANT改为-2时,它总是打印 "no"。为什么会这样呢?我使用visual studio 2019编译器与优化......

回答 2 投票 -2

x64 ms fastcall中的返回地址存储在哪里?

好奇x64微软Fastcall实现中的返回地址存储在哪里。干杯。

回答 1 投票 0

在x86-64 NASM中为外部函数传递参数 [重复] 。

在x86-32中,你把参数推到堆栈中,而在x86-64中,它也使用一些特定的寄存器,并且只在它之后使用堆栈。这就是说,我不明白为什么我在尝试打印时得到Segmentation故障...。

回答 1 投票 0

为什么在 numeric_limits<float>::min()中加1会返回1?

为什么从float max中减去1会返回一个合理的值, 而在float min中加1会返回1? 我认为如果你加减一个小于该特定的epsilon的值......,它将返回最小的标准化正值。

回答 1 投票 0

在x64中如何编写空中断服务处理程序?

我已经阅读了AMD64开发者手册中关于中断例程的内容。根据手册,如果中断或异常推送了一个错误代码,中断处理程序必须从堆栈中弹出错误代码。...

回答 1 投票 1

如果我在C语言中取消引用一个非法地址,我得到SIGSEGV和有效的gdb回溯。但如果我把它传给Snprintf,回溯就会被销毁

在我的x86-64 Linux程序中,我故意这样做: char *ptr = 0x3e8; int x = *(int *)ptr; 当我在gdb中运行它时,进程由于SIGSEGV而崩溃,并打印一个有效的回溯。如果我改用: char s[...

回答 1 投票 4

用nasm将64位指令组装成原始机器代码。

我想用asm将64位汇编指令组装成原始机器代码。如果我这样做,我得到一个错误:错误:指令不支持16位模式 例子输入:mov rax, 0x12345678 ... ...

回答 1 投票 3

无法编译x86_64 .s和.c文件:未定义对函数[重复]的引用。

这是我的问题,我试图创建一个汇编函数库,并将其用于C程序。我遇到了一个未定义引用的错误。我在学校为这个项目提供的vm上使用xubuntu(所以我 ...

回答 1 投票 0

装配指令阅读,leaq

所以我试图在下面的代码中用给定的汇编代码计算M和N的值。 int array1[M][N]; int array2[N][M]; void copyelement(int i, int j) { array1[i][j] = array2[j][i] ...

回答 1 投票 0

如何使用qemu对CPU进行建模?

我需要在一个多核x86-64处理器上增加一些硬件,并使用仿真进行测试,所以我想使用qemu。但是我想知道在qemu中对CPU建模的大致思路。有什么好的 ...

回答 1 投票 6

编译器设计中的内联装配

我正在为我自己的类C语言(x86-64)制作自己的编译器。但我很困惑,如何编译另一种语言的片段,即x86-64汇编,如:int main() { ...。

回答 1 投票 2

在汇编中调用printf时如何设置颜色?

当我从汇编中调用printf时,我想设置颜色。这是我的代码。输出: mov rdi, answer mov rsi, r10 mov rax,0 调用printf部分.data answer: db ... ...

回答 1 投票 3

在Bash中检查子串时出错

我对shell脚本很陌生,在尝试检查字符串中的子串时遇到了一个问题。我想建立一个代码,检查你是否在运行一个基于64位的系统。这是...

回答 1 投票 0

是否可以暂时抑制单条ret指令的英特尔CET,或者用其他方式使用retpolines?

英特尔CET(控制流执行技术)由两块组成。SS(影子堆栈)和IBT(间接分支跟踪)。如果你需要间接分支到某个地方,你不能把一个 ...

回答 1 投票 3

按地址从jitted代码中调用c函数。

我目前正在尝试通过python进行JIT。我是通过另一个SO的问题找到peachpy的。大多数情况下,这是很容易的,但我在使用外部c函数时失败了。我想调用putchar,所以一个带......的函数。

回答 0 投票 1

交换内存中未对齐的64位值的字节的最快方法是什么?

我在内存中有大量的64位值。不幸的是,它们可能未与64位地址对齐。我的目标是更改所有这些值的字节序,即交换/反转它们的值...

回答 1 投票 3

您如何从汇编中调用C函数,以及如何将其静态链接?

我在四处游玩,并试图了解计算机和程序的低级操作。为此,我正在尝试链接Assembly和C。我有2个程序文件:这里的一些C代码...

回答 1 投票 2

为什么RFO报废后不按顺序中断内存?

我以为我了解如何处理L1D写入未命中,但是仔细思考就使我感到困惑。这是一个汇编语言片段:; rdi包含一些有效的64字节对齐的...

回答 1 投票 2

被叫人如何知道,要弹出多少个arg以及在x64中按哪个顺序?

据此:在x64-amd系统V ABI中,i386和x86-64上UNIX和Linux系统调用的调用约定是什么,args依次传递到以下寄存器:%rdi,%rsi,%rdx, ...

回答 1 投票 0

缓存一致性(特殊情况下为缓存进行物理标记)

假设您有一个已完成的进程(现在不在内存中),但是在运行时,它使用了0x12345000物理地址(4KB页)。现在,MMU将0x12345000(物理)分配给...

回答 1 投票 1

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