Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我使用的是Windows 11。 我在将 asm 文件编译为 64 位时遇到问题。 汇编代码: 汇编代码 1 种方法 生成文件配置 2方法 生成文件配置 我已经尝试了所有方法,但 Windows 仍然将 exe 文件视为...
我正在尝试学习汇编并想要下载 NASM 我使用 Windows 10,是否可以在不使用 DosBox 或 VM 的情况下安装 NASM?因为我看到有人使用 CodeBlocks 配合 NASM 在 asse 中编码...
我有一个指针寄存器 edx,它由以下指令设置: mov edx,字符串变量 在哪里 stringvar 定义为 stringvar: db "teststring", 0xA, 0xD, 0 所以 edx 包含
如何使用 NASM 组装对绝对 ptr addr(相对于当前 rip)的相对调用?
我希望 NASM 生成类似于以下内容的代码: 调用 qword ptr [rip + 0x540] 但似乎不知道如何做到这一点。 我当前的代码是: 位 64 默认相对值 组织 0x10000000 abs_addr_of_func_ptr EQU
我最近开始了一个编写操作系统的项目,直到“磁盘读取”为止进展顺利。 代码应该加载下一个扇区并打印刚刚存储的字母“H”
我正在尝试创建一个程序,该程序创建一个新文件并将现有文件的内容复制到其中。我能够打开读取原始文件的内容并将其写入内存,但是当它...
有没有办法使用 printf 在 Linux 上的 NASM 汇编中打印递减十六进制数字的水平列表
我本质上想编写一个程序,接受 F 并将其递减直到为 0,显示结果如下:F E D C B A 9 8 7 6 5 4 3 2 1 0。我特别必须使用循环来写出这些结果.. .
运行此汇编代码(nasm)时 移动eax,0x12345678 shr eax, 32 我注意到 eax 寄存器中没有 0,我很困惑为什么会这样? 我尝试按其他数字进行转换,然后...
我需要有关设计的知识和进一步的说明(要么是写在文档中,我很难通过在 Google 搜索中输入或使用 GitHub 存储库来找到)...
我正在尝试使用 nasm 编译此汇编代码: 显示文本。 ;使用此命令构建: ; nasm -f elf64 -g -F 刺 eatsyscall.asm ; 节.数据 EatMsg:db“在乔家吃饭!”,...
我刚刚开始使用 Assembly (NASM),我尝试创建一个变体来解决 Project Euler 问题 1(将 1000 以内的 3 或 5 的所有倍数相加)。我尝试为其制定算法的变体...
我有一些x86 BIOS启动代码(16位实模式): 组织0x7C00;告诉编译器我们在内存中的位置 位 16 ;告诉编译器...
我有一些x86 BIOS启动代码(16位实模式): 组织0x7C00;告诉编译器我们在内存中的位置 位 16 ;告诉编译器...
我正在尝试在 NASM 中创建一个窗口,但在调用 CreateWindowExW 时遇到问题。它似乎接收到了错误的参数。 这是 window.asm 的(相关)代码 安装Win...
我正在尝试在 NASM 中创建一个窗口,但在调用 CreateWindowExW 时遇到问题。它似乎接收到了错误的参数。 这是 window.asm 的(相关)代码 安装Win...
我有一个代码: [组织0x7c00] CODE_SEG 等于 GDT_code - GDT_start DATA_SEG 等于 GDT_data - GDT_start 命令行 lgdt [GDT_描述符] 移动eax,cr0 或 eax, 1 mov cr0, eax jmp CODE_SEG:start_protected_mode jm...
作为前言,我确实希望被否决而被遗忘,但我不明白这是如何运作的。 我想学习汇编,但我遇到的那种教程似乎遵循两个原则之一......
我正在学习 x64 并且我讨厌 make,所以我试图让 cmake 使用 NASM 构建二进制文件。 cmake 大致支持这一点,但文档很糟糕。这就是我现在正在做的工作
我正在尝试查找用户输入数字的阶乘,并显示它。 我面临的问题是,无论输入是什么,输出总是1。 输入输出部分是通过C完成的
x86_64 程序集 execve *char[] 系统调用
我正在尝试在不使用标准库的情况下了解一些 Linux 64 位 x86 程序集,但是在处理提供给程序的参数 (argv) 时我遇到了一些问题。我会认为(基础...