x86-64 相关问题

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

C的系统调用等效于Linux 64汇编程序?

((问题已编辑,感谢@fuz)对于C的系统调用,等效于Linux 64汇编程序是什么?我想编写本质上与在C中调用CLI相同功能的程序集,例如...

回答 1 投票 -1

C的系统调用的Linux 64系统调用号是什么?

C的系统调用的Linux 64系统调用号是什么?我想编写实质上具有与在C中调用CLI相同的功能的程序集,例如system(“ ls -l”),并且需要知道程序集...

回答 1 投票 -1

uop缓存的小姐粒度

Intel优化手册/B.5.7.3解码的ICache中没有部分命中。如果缺少在32字节块中进行该查找的任何微操作,则会在...

回答 1 投票 1

“静态链接”和“不是动态可执行文件”有什么区别?

考虑此AMD64汇编程序:.globl _start _start:xorl%edi,%edi movl $ 60,%eax syscall如果我使用gcc -nostdlib进行编译并运行ldd a.out,则得到此信息:静态...

回答 1 投票 1

Linux内核:手动修改页表条目标志

我试图通过在相应的...中设置一个标志,手动将用户空间进程的某个内存区域标记为不可缓存(出于教育目的,不打算在生产代码中使用)。]

回答 1 投票 3

您能否在一个汇编操作中检查一个字节上的标志,并检索剩余的7位整数值?

采用8位,16位,32位或64位数字,从中提取第一位,检查该位是否为真的最佳方法(最省/最快的操作是什么?同时存储...

回答 1 投票 1

如何在不进行系统调用的情况下将字符串打印到x86-64程序集(NASM)中的终端?

我是汇编语言的新手,想首先尝试获得一种直观的感觉,以了解如何在终端上打印字符串如何工作,而无需经历操作系统抽象(Linux或OSX)。 tl; dr ...

回答 1 投票 4

AMD 64位模式下的段限制检查

我正在为64位处理器编写自己的OS,但我遇到了一般保护的问题。我的操作系统不会依靠页面错误来实现用户空间保护机制,因此我发现有一个...

回答 3 投票 0

使用mov reg到reg创建shellcode问题>>

好吧,我试图创建一个创建shellcode的函数。我在解决rex / mod东西时遇到很多问题。我当前的代码工作正常。到目前为止,如果regs小于R8,则它...

回答 1 投票 2

用asm x86-64 intel语法连接两个字符串

我试图连接两个字符串,但是我不断遇到分段错误,有人可以帮助我解决我的代码有什么问题吗?谢谢!为了测试它,我只是动态地创建为字符串...

回答 1 投票 0

如何在汇编中使用外部C函数?

我正在创建调用C函数的代码,该函数获取整数的平方根。 C函数是外部函数,位于我的文件夹中。调用它时,我不知道如何给它提供一个参数,因此它知道...

回答 1 投票 0

为什么我的内核立即重置我的机器?

我正在使用Buildroot 2020.02.1构建用于安装AMD GX-222GC SOC的PC的自定义内核。默认的外部工具链是CodeBench的amd-2016.11-19。用该工具链构建的内核会启动...

回答 1 投票 0

有效地移位寄存器

如何在x64-Assembly中用另一个寄存器的最低有效位有效填充寄存器的最高有效位。预期用途是将128位值有效地除以两个(...

回答 1 投票 1

为什么附加的指针参数在汇编中消失了?

C代码:void PtrArg1(int * a,int * b,int * c,int * d,int * e,int * f){return; } void PtrArg2(int * a,int * b,int * c,int * d,int * e,int * f,int * g,int * h){return; }编译:gcc -c -...

回答 1 投票 0

x64支持是否暗示BMI1支持?

可以安全地假设x64构建可以使用TZCNT,而无需通过cpu标志检查其支持吗?

回答 1 投票 0

在这个简单的示例中调用汇编指令做什么?

一个简单的c函数。 void sum(){返回; }命令gcc -c -m32 -o simple simpleProg.c -O0 && objdump -d simple -M intel simple:文件格式elf32-i386反汇编该段...

回答 1 投票 0

比较结构char数组和汇编中的char指针

我正在尝试将列表中第一个结构的第一个字符与汇编中标记的第一个字符进行比较。但是,由于某些原因,两个字符永远不会相等。我知道第一个字符...

回答 1 投票 0

x86的解释,函数参数和局部变量的数量

x86-64系统的C ABI如下:寄存器rdi,rsi,rdx,rcx,r8,r9用于按此顺序传递参数。堆栈用于第7个自变量。返回值使用...

回答 2 投票 1

对来自多个线程的double进行+ =的结果

请考虑以下代码:void add(double&a,double b){a + = b; }根据godbolt在Skylake上编译为:add(double&,double):vaddsd xmm0,xmm0,QWORD PTR [rdi] ...

回答 1 投票 0

内核代码能否以其他内核代码无法撤消的方式将其设置为只读?

我的印象是,Linux内核进行自我保护的尝试围绕不允许恶意代码在内核空间中运行。特别是,如果要加载恶意内核模块,...

回答 1 投票 3

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