x86-64是Intel x86架构的64位扩展
foo函数内部调用了一个sum函数。有一个扫描器函数可以读取 foo 函数中的指令。当扫描仪遇到 FF 操作码时,它会转到操作数
我正在使用编码练习网站;我编写并提交可以解决所提供问题的代码,然后系统针对预定的测试用例运行并判断代码是否有效。 我现在
如何在核心文件中编辑 $rip 和 $rsp 以帮助调试器生成更加用户友好的体验?
我目前正在尝试调试损坏堆栈的 C++ 应用程序崩溃。 经过一番调查后,我非常确定我知道有效的 $rsp 和 $rip 地址,它们对应于非常有用的
我正在使用编译器资源管理器并遇到异常(我认为)。如果我想让编译器使用 libmvec 对 sin 计算进行向量化,我会写: #包括 #def...
在尝试用我的编程语言实现可编译为汇编的数组时,我正在努力处理像 array[0] 这样的表达式。我测试了其他指数,如 1、2 等,它们有效,但是
我对调用 callq 或 retq 时堆栈指针更改的字节感到困惑? 这是一个小例子 ; %rdi 中叶子 (long y) y 的反汇编 0000000000400540: 400540:48 ...
假设您有一个应用程序,它消耗了所有计算能力。现在你想做一些其他必要的工作。 Linux 上有什么方法可以中断该应用程序并检查...
我有以下内容: 位 64 __NR_getuid equ 102 全局 sys_getuid 节.文本 sys_getuid: 异或 eax, eax 移动,__NR_getuid 系统调用 雷特 这是用以下内容编译的: nasm -f elf64 -o
我的问题 我尝试使用 NASM 的 strict 关键字和 -O0 来禁止它将 mov dword [rdi+0], 0xab 转换为 mov dword [rdi], 0xab,但没有成功。我的预感是 +0 会得到
ASM x86(64 位)在 Hello World 中打印额外字节
预期输出是Hello World,但结果类似于Hello Worldhi。可能是len变量的问题。我在 x86_32 方面有一点经验,并且正在转向 x86...
重定位被截断以适应:针对“.bss”的 IMAGE_REL_AMD64_ADDR32 - 程序集 x86-64 错误
汇编器:NASM x86-64 链接器:GNU ld 平台:Windows 我尝试将 HANDLE 类型从 Windows API 的 GetStdHandle 函数移至四字内存值,但遇到了此错误:重定位截断...
我最近从2015年的MacBook Pro升级到了2023年的MacBook Pro,我的旧MacBook运行在X86_64架构上,而我的新MacBook则使用arm64架构。我卸载了 X86 的 python...
我正在尝试使用ssh将bash脚本文件发送到我的远程服务器,但首先我想让它在我自己的arm64机器上可执行,然后将.exe文件发送到远程服务器,但远程服务器...
如何在程序中获取_GLOBAL_OFFSET_TABLE_地址?
我想在我的程序中获取_GLOBAL_OFFSET_TABLE_的地址。一种方法是在 Linux 中使用 nm 命令,也许将输出重定向到文件并解析该文件以获取
我遇到了下面截图所示的问题。由于我对汇编代码不是很熟悉,希望得到大家的指导和帮助,如何解决屏幕中的错误...
我正在为我的第一个操作系统实现上下文切换,我遇到了一个我无法解决的小问题,即从结构中保存后恢复CPU状态,因为所有寄存器都必须保存...
我目前正在尝试编写一个将 x86-64 指令解码为汇编的程序,但在处理指令时,我一直坚持确定默认内存/寄存器操作数大小...
我目前正在尝试编写一个将 x86-64 指令解码为汇编的程序,但在处理指令时,我一直坚持确定默认内存/寄存器操作数大小...
当 char *buf 大于 read 系统调用的 size_t 计数时,为什么 shell 会运行剩余输入?
我在 Linux 机器上的 x86-64 程序集中遇到了一个小错误或意外行为。 在 .bss 部分,我在内存中保留了 16 个字节,我称之为 name 当用户输入他们的名字时,它会...
x86_64 汇编:为什么当 char *buf 大于 size_t count 时会发生这种情况?
我正在我的 Linux 机器上尝试 x64 汇编中的一些东西。然而我遇到了一个小错误或意外的行为。 在 .bss 部分中,我在内存中保留了 16 个字节,我称之为“name&q...