使用 NASM 中调用 malloc 返回的内存
我使用 nasm 编译器将代码编译成目标文件,然后调用 gcc 的链接器来链接该目标文件以创建最终的可执行文件。这意味着我可以访问 C 的运行时库。 我需…
NASM 编程 - `int0x80` 与 `int 0x80`
我有一个简单的 NASM 程序,它只调用 sys_exit: segment .text global _start _start: mov eax, 1 ; 1 is the system identifier for sys_exit mov e…
尝试在 Linux 上的 NASM 中编写 for 循环时出现分段错误
我正在尝试编写一个简单的 NASM 程序来娱乐,但我似乎不知道如何在其中编写 for 循环。使用以下代码,我得到了分段错误。以下代码应该打印出“Hello w…
FDIV如何在nasm、汇编中使用
我有一个总和值存储在 fstp qword [ebx] ; Copy contents of st0 to space currently on top of the system stack 如何将其除以存储在寄存器 edi 中的…
在 Nasm 汇编语言中设置循环计数器
我如何告诉循环循环 x 次。例如循环10次。目前它只循环两次。 loop: mov eax, 4 mov ebx, 1 mov ecx, ask mov edx, askLength int 0x80 mov eax, 3 mo…
使用寄存器和表中的偏移量进行绝对调用
我在 NASM 中编写了以下程序,以便练习偏移、寻址、表格等。 t_addr: dw rout1-@, rout2-@ @ equ $ _start: mov esi, rout1 call esi call _start_rel…
NASM中断x86参考?
我似乎找不到关于 Linux 系统上 NASM x86 中断的好参考。例如,int 0x60 是什么?它与 int 0x80 有什么不同? 是否有手册列出了可以与 int 结合使用的…