Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
使用 NASM 和 Mingw-w64 我一直在尝试运行以下程序,该程序应该使用 Windows API 将消息打印到屏幕上。它运行了,但控制台上没有显示任何内容,它......
我想在NASM(Linux)中添加两位数。要添加两个简单的数字,我使用以下代码: 节.文本 global _start ;必须声明才能使用 gcc _start: ;告诉链接器入口
我尝试在NASM的BSS部分创建一个变量: .bss 节 我DD 12345 但是当尝试创建目标文件时,我收到以下警告: 警告:尝试初始化内存...
x86_64 nasm read 系统调用不是以 null 终止的
x86_64 nasm read 系统调用不是以 null 终止的 装配新手。事实上,这是我的第一个 hello world 程序。 操作系统:Arch Linux(64位) 逻辑 我有三个功能。 strlen、标准输入和标准输出。 斯特伦:...
我是一名学习汇编语言(NASM)的学生,我需要一些关于中断“功能”或 int 如何知道要“运行”的寄存器的澄清。我发现了
我是一名学习汇编语言(NASM)的学生,我需要一些关于中断“功能”或 int 如何知道要“运行”的寄存器的澄清。我发现了
我想移动比较结果设置的零标志,例如“cmp rax,rbx”,进入寄存器。我知道我可以使用 PUSHF/PUSHFD/PUSHFQ 之一将标志推入堆栈,但现在我
每当我尝试运行 hello.exe 时,都会等待一秒钟然后结束而不写入任何内容。 源代码: 全局启动 节.文本 开始: 移动 rax,1 莫夫rdi,1 移动RSI,消息 ...
我在互联网上搜索了一个适用于 Windows 的 NASM x64 示例,但我只找到了一个,并且不起作用:(,只是找到了适用于 Linux 的代码,有人可以展示如何创建 Hello world 的示例。 ..
使用 NASM。我希望能够内嵌标签地址。 ; _加: DB 1,“+” do_PLUS: POP EDX 添加EDX,ESP 移动电子数据交换 ; _冒号: do_PLUS <---------- ** ERROR *...
我试图获得组装的基本感觉,这是我的代码: 节.文本 global _start ;必须为链接器 (ld) 声明 .bss 节 编号 5 _start: ;告诉链接器 e...
我目前正在开发一个操作系统,正在制作一个名为早期引导加载程序(DfltBoot)和晚期引导加载程序(AdvBoot)的2阶段引导加载程序,早期引导加载程序完成其工作并加载后期引导加载程序并跳转...
nasm 忽略 .text 部分中的 vstart=0x7C00
我使用的是NASM 2.16.01,Arch Linux。 我尝试使用 vstart=0x7C00 属性写入引导扇区(8086,IBM PC),以便以下地址计算应该与此相关。 然而,它确实...
我试图将指针存储在内存上的变量中。我怎样才能取消引用它? 我正在尝试这样做: 指针:db 0 ;指针变量 变量:db 44;正常变量
这是我的说明: 全局_start _开始: 移动ecx,0x12 移动ebx,0x2 标签: 添加 ebx, ebx 十进制 CMP ecx, 0 jg标签 移动eax, 1 整数0x80 我是...
我正在开发类似汇编程序的nasm,现在我正在编写一个生成COFF格式文件的过程。 我的问题非常具体,我受到 COFF 符号表上名为 value 的字段的困扰。我不能...
我正在尝试获取 x86 汇编语言中存储在 argv[1] 中的第一个元素。 我最初将堆栈弹出两次到 eax,因为我想要 argc,这样我就可以计算 argc 的数量。然后
我正在学习asm x64,更准确地说,我目前正在学习使用数据结构。 我的书告诉我,我必须使用 subregister 将数据从结构存储到 rdi,但它没有解释原因。 可以
我正在尝试在汇编中创建一个中断服务例程,它不会返回到调用中断的位置,而是返回到一个标签。 我应该跳到标签而不使用 iret (a...