x86-64是Intel x86架构的64位扩展
我是汇编初学者,我在代码中遇到了意外行为。代码按预期工作,将数字从 contador 变量打印到 1,但是当我删除未使用的变量循环时(
我一直在尝试了解 ASM x64 指令的 0x40 REX 操作码的用途。例如,在 Kernel32.dll 的函数序言中: 正如您所看到的,他们使用 Push rbx 作为: 40 53 ...
Assembly 中的 Linux x86-64 命令行参数来自 _start(不是 main)
此描述适用于 Linux 32 位: 当 Linux 程序开始时,所有指向命令行参数的指针都存储在堆栈中。参数的数量存储在 0(%ebp),即
我是汇编初学者,我在代码中遇到了意外行为。代码按预期工作,将数字从 contador 变量打印到 1,但是当我删除未使用的变量循环时(
为什么我的汇编程序在达到值 10 后仍继续执行,即使比较正确?
我正在汇编 x86-64 中编写一个程序,其目标是增加一个值 (num) 直到达到 10。但是,尽管使用正确的比较来检查 num 是否小于 10,该程序
错误:ld.so:来自 LD_PRELOAD 的对象“getpid.so”无法预加载:忽略
当我尝试使用 LD_PRELOAD 时,如下所示, LD_PRELOAD=getpid.so ./testpid 我收到以下错误... 错误:ld.so:无法预加载 LD_PRELOAD 中的对象“getpid.so”:忽略。 我编译得到...
我最近在Linux开发环境中遇到了一个问题。我编写了一个函数,通过单击按钮触发将结果导出到 Excel 文件。函数执行后,它会刷新...
我正在编写一个业余爱好操作系统,它有自己的 uefi-target x64 引导加载程序。在 UEFI 规范中,它声明启用身份映射寻呼: 启用分页模式并且由...定义的任何内存空间
如何通过shell/bash检测386、amd64、arm或arm64操作系统架构
我正在寻找 POSIX shell/bash 命令来确定操作系统架构是 386、amd64、arm 还是 arm64?
我正在尝试使用 NASM 和 gcc 来学习 Linux 上的 x86-64 汇编。我已经制作了最简单的可以想象的汇编函数,它除了返回 0 之外什么也不做。这是 corr.asm: 格洛...
为什么这个程序会在 SYSCALL 周围使用 LOOP 产生无限循环?
节.data 哈哈:db“哈哈”,10 全局_start 节.文本 _开始: 移动接收,5 主循环: 移动 rax,1 莫夫rdi,1 mov rsi,哈哈 移动rdx,4 系统调用 循环主循环...
节.data 哈哈:db“哈哈”,10 全局_start 节.文本 _开始: 移动接收,5 主循环: 移动 rax,1 莫夫rdi,1 mov rsi,哈哈 移动rdx,4 系统调用 循环主循环...
如何在 ubuntu 中编译具有 alpine linux 目标的库
我需要在基于 alpine linux 的 docker 容器中使用一个库,我在我的 ubuntu 机器中预先构建了该库并复制到容器中,但抛出了错误
x86 asm 新手 - mov a,[b+2] 和 add b,2|mov a,[b] 的等价性
我想知道以下是否 mov eax, [ebx+4] 相当于 添加 ebx, 4 移动eax,[ebx] 是否有性能改进或为什么第一个应该优先于后者的原因,除了......
炸弹实验室第 4 阶段 func4 - 使用 n-1 和 n-2 调用自身的双重递归函数
我的二进制炸弹的 Phase_4 密码遇到问题。 到目前为止,我明白了... 输入必须是 2 个整数(第 29 行) 第二个整数应该 <= than or equal to 2 when 2...
底部的方框应该是 %rax 而不是 Jonathan Barlett 书中图 6-1 中的 %rbx 吗?
我一直在读一本名为“学习用汇编编程,Jonathan Barlett”的书。其中,我没看懂图6-1。 上下文:作者正在解释寄存器间接模式,
我一直在读一本名为“学习用汇编编程,Jonathan Barlett”的书。其中,我没看懂图6-1。 上下文:作者正在解释寄存器间接模式...
我想在 x86_64 操作系统中启用 GDT。我编写了以下代码来启用 GDT。 结构gdt_entry {// 128 位 uint16_t limit_low; // 段限制的低16位 uint16_t ba...
我正在开展一个大学项目,尝试实现一种在图像上模拟不同类型色盲(绿色盲、红色盲、蓝色盲)的算法。目标是...
clang 未对齐堆栈,然后在 _start 中尝试将 vmovaps 编写为 C 函数
我在start.c中有一个简单的c函数 $猫开始.c int main(int,char**); 无效_开始(){ char*v[2]={"k",0}; 主要(1,v); } 当我编译为汇编程序时,使用 clang -O -march=cannonlake -S...