x86-64 相关问题

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

为什么accept()会返回ERESTARTSYS?

我试图按照同样的C语言写法建立一个TCP绑定shellcode。下面是asm: global _start section .text _start:; socket() call xor rax,rax add rax,41 xor ....

回答 1 投票 0

在x86-64中,当我们要推送堆栈上的东西时,是否总是要做pushq?

因为在x86-64中,16个寄存器都可以是8个字节,在函数调用开始时,当函数(callee)要推送它要使用的callee保存的寄存器(%rbx、%rbp和%r12-15)时,它......。

回答 1 投票 0

rcx是否总是指向进程入口点的PEB?

64位Windows似乎用rcx = r8 = &PEB和rdx = r9 = &entrypoint来调用一个exe的entrypoint,就像entrypoint被声明为entrypoint(PEB *peb, void *entry)一样。这些细节是否...

回答 1 投票 4

如何在Linux中编译X86汇编并调用它的函数?

我正在Ubuntu 18.04 X86_64中测试一个X86汇编代码,如下所示,#define I8042_DATA_REG $0x60 #define I8042_STATUS_REG $0x64 .globl flashy .text * Flash ...

回答 1 投票 0

如何在shellcode中设置一个特定的setuid?

我正在使用下面的汇编代码来设置uid(0),并在缓冲区溢出时得到一个shell xor rdi,rdi mov al,0x69 syscall xor rdx,rdx movabs rbx,0x68732f6e69622fff shr rbx,。

回答 1 投票 0

在宏中指定int大小(或其他)。

我试图用这些宏将3个整数(即每个21位)存储在一个长的int中: typedef long int Triple; #define TR_A(o) ((int)((o & 0x7FFFFC0000000000) >> 42)) #define TR_B(o) ((int)((...))

回答 1 投票 1

如何获取第一个命令行参数并将其放入内存中的静态缓冲区?

我想把第一个长度为4的命令行参数放进缓冲区,我可以通过以下方式获取其中的每一个字符: .code64 .global _start .bss .lcomm mybuf , 4 .text _start: mov 16(%rsp) , ...

回答 1 投票 0


用Delphi 64位检测虚拟化环境?

/ VMware检测如Elias Bachaalany所描述的函数IsInsideVMware: Boolean; begin Result := True; try asm push edx; push ecx; push ebx; mov eax, 'VMXh'; ...

回答 1 投票 0

为什么turbofan会剥离小循环?

当编译一个循环时,turbofan似乎在大多数时候都会剥离第一个循环迭代。例如一个循环,比如: function fill256(int32Array) { var i = 255; do { int32Array[i] = 0; } while(...)

回答 1 投票 1

clang __asm__在case statment中使用标签,得到错误:指令操作数无效。

我正在尝试在C源代码中添加Label(仪器仪表);对汇编有一点经验,comipler是clang;我在CASE语句中的__asm__和Label有一个奇怪的行为!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)。

回答 1 投票 0

小型PCIE TLP写入的原子性

从软件进程的角度来看,是否有任何关于PCIe设备针对常规内存的卡到主机写入的保证,其中单个TLP写入是完全包含的......。

回答 1 投票 1

Linux中x86架构的IPI种类

我想知道在Linux中x86_64有哪些不同类型的IPI。特别是,我想找出IPI中断的不同中断处理程序。在了解...

回答 1 投票 2

GAS是否像NASM一样支持字符串字面数作为数字常量?

在NASM(Intel)中,我可以这样写: mov rax, `Hello!\n` 而这相当于: mov rax, 0xa216f6c6c6548 GAS (AT&T)是否支持任何等价的速记,还是我被写 ...

回答 1 投票 2

Loadbitmap在x86版本编译时运行良好,但在x64版本编译时却无法运行。

我是个新手,不懂C++。这是我从一本WIN32 API书上改编的代码。只有在debug的x86模式开启时,才能如愿以偿。当有x64模式时,虽然在编译,但不能工作。我试着改变了...

回答 1 投票 0

当我使用一个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

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