x86-64 相关问题

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

理解“易变”关键词和比较是如何工作的

如果未使用关键字volatile指定变量,则编译器可能会执行缓存。必须始终从内存中访问该变量,否则直到其事务单元结束。我要点......

回答 2 投票 0

System.BadImageFormatException:无法加载文件或程序集(来自installutil.exe)

我正在尝试使用InstallUtil.exe安装Windows服务并收到错误消息System.BadImageFormatException:无法加载文件或程序集“{xxx.exe}”或其中一个...

回答 15 投票 93

我的汇编x86-64代码出了什么问题?

我今天写了我的第一个汇编程序之一 - 但我不断收到错误信息。我正在使用win64操作系统和nasm汇编程序。这是我的代码:section .data section .bss rcxOfFirst ...

回答 1 投票 -1

这个Intel Xeon mov指令如何破坏我应用程序的内存?

我有一个使用gcc v7.3.0构建的应用程序,并在Intel(R)Xeon(R)CPU E3-1220 v6芯片上执行,该芯片确定性地破坏堆栈内存并由于执行mov指令而获得SEGV。一世 ...

回答 1 投票 -2

x86汇编:INC和DEC指令和溢出标志

在x86汇编中,当有符号整数上的add或sub操作溢出时,溢出标志置位;当无符号整数上的操作溢出时,置载标志置位。但是,当......

回答 7 投票 13

为什么添加DoubleStructs比添加双精度的速度要慢得多?

假设对于任何简单的操作,包含单个基元的只读结构应该或多或少与基元本身一样快。测试以下所有测试都在运行.NET Core 2.2 ...

回答 2 投票 3

编译器在eax上来回生成一个mov

int test1(int a,int b){if(__ builtin_expect(a <b,0))返回a / b;返回b; }是由clang编译的-O3 -march = native to test1(int,int):#@ ...

回答 2 投票 5

x86寄存器重命名的成本

下面的代码用amd64上的gcc或clang编译// gcc -O2 file.c -c int f(int a,int b,int c,int d){return a&b&c&d;产生以下组件:...

回答 1 投票 7

在x86平台中使用-mcmodel = kernel标志

我正在尝试将为x86架构构建的设备驱动程序交叉编译为arm平台。它编译没有任何错误,但我不认为整个功能可用。所以我检查了makefile ...

回答 1 投票 1

在x86-64中将寄存器移动到自身的好处是什么?

我正在x86-64 NASM中做一个项目,并且在教授写的编译器输出中遇到了指令:mov rdi,rdi。我已经搜遍了所有但都找不到为什么这会......

回答 1 投票 4

x86-64奇怪地使用堆栈作为局部变量

我正在学习x86-64,我正在使用一些编译器生成的汇编代码,我大多数都是这样理解的。它是一个递归因子程序,它自称为一个基地,其中1是......

回答 1 投票 -1

在跳入函数之前有没有办法保存寄存器?

这是我的第一个问题,因为我找不到任何与此主题相关的内容。最近,在为我的C游戏引擎项目制作课程时,我发现了一些有趣的东西:struct Stack * S1 = ...

回答 1 投票 3

ASM限制副作用

我很难理解GCC中某些特定约束对内联汇编的影响。我在下面的例子中,如果我在输出上运行“= X”而在所有输入上运行“X”,则2 ...

回答 1 投票 2

页面权限存储在硬件上的哪个位置以及如何直接更改它们?

我正在尝试编写一个伪内核驱动程序(它使用CVE 2018-8120获取内核权限,因此它在技术上不是驱动程序)并且我想在进入ring0时尽可能安全。我正在写...

回答 2 投票 -2

x86-64 System V ABI在哪里记录?

x86-64 System V ABI(用于除Windows之外的所有内容)过去常常访问http://x86-64.org/documentation/abi.pdf,但该网站现已脱离互联网。有一个新的权威家园......

回答 2 投票 35

为什么这个汇编代码不打印堆栈的顶部?

成功制作“Hello,World!”之后程序在x86-64中,我想制作一个可以查看堆栈顶部的程序(不弹出它,并使用esp寄存器,这样我就可以学习它...

回答 1 投票 1

通过linux x86-64函数调用保留了哪些寄存器

我相信我理解linux x86-64 ABI如何使用寄存器和堆栈将参数传递给函数(参见之前的ABI讨论)。令我感到困惑的是,预期是否有什么寄存器......

回答 3 投票 30

无法使用regsvr32注册NmsCmCommon.dll [重复]

我有Windows 10,64位。我正在尝试使用regsvr32注册NmsCmCommon.dll。 “C:\ WINDOWS \ System32 \ regsvr32.exe / C NmsCmCommon.dll”但我收到以下错误:模块NmsCmCommon.dll ...

回答 1 投票 0

gdb错误 - “不是可执行格式:文件格式无法识别”

当试图调试(编译和链接)程序集86-64x程序名为hello_world之后,我得到了一个gdb错误“不是可执行格式:文件格式无法识别”。 ubuntu @ ubuntu:〜$ gdb ...

回答 1 投票 0

使用file_name equ“a.txt”后,我从open中得到一个EFAULT错误?

运行名为time2.asm的程序集x86-64程序时收到错误消息。我使用的是Ubuntu x86-64。执行sys_open系统调用后,rax寄存器将其值更改为-14 - 这意味着......

回答 1 投票 0

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