帮助在 DOS 的 NASM 程序集中编写 TSR 程序
我一直在尝试用 MS-DOS 的程序集(16 位)编写 TSR(终止驻留)程序(一般而言)。我已阅读维基百科页面 关于 TSR 以及专门在 DOS 中使用它的页面(但…
如何使用 GNU GAS 汇编器生成像 nasm -f bin 这样的普通二进制文件?
我有一些 NASM 文件,通常具有以下结构: [BITS 64] [ORG 0x0000000000200000] start: ... ret 我像这样组装它们: nasm -f bin abc.asm 我想使用 GAS…
NASM 到 GAS:调用 equ'd 符号
我有一些 NASM 文件,其中包含一行: %INCLUDE "bmdev.asm" bmdev.asm 文件具有 equ 指令,例如: b_print_newline equ 0x0000000000100040 包含 bmde…
值得学习汇编语言吗?
Closed. This question is off-topic. It is not currently accepting answers. 想要改进此问题吗?更新问题,使其关于- Stack Overflow 的主题。 13…
64 位汇编,何时使用较小尺寸的寄存器
据我了解,在 x86_64 汇编中,例如有(64 位)rax 寄存器,但它也可以作为 32 位寄存器、eax、16 位、ax 和 8 位等进行访问。在什么情况下我不会只使…
这个汇编过程如何不崩溃?
我这里有这个不会崩溃的 linux nasm 代码。如果 printString 末尾有 ret 80 指令,这个程序不会崩溃吗? bits 32 section .data hello: db 'Hello Lin…
执行汇编代码时控制台上出现垃圾字符
x86 汇编编程初学者。我有一个简单的 asm 文件,我使用 nasm 版本 - 2011 年 6 月 6 日编译的 NASM 版本 2.10rc6 进行汇编,适用于 Windows(我的 Win…
将 ASM 文件组装成 EXE
我前几天刚开始学习汇编语言编程。现在,我在将 asm 文件组装成 exe 时遇到问题。我使用 NASM 作为我的汇编器。这是我用来组装它的命令: nasm file.a…
x86 汇编中的递归 Ackermann-Peter 函数 (NASM)
我正在尝试在 x86 NASM-Assembly 中实现递归 Ackermann-Peter-Function。该函数定义如下: *a(0;m) = m + 1 *a(n + 1; 0) = a(n; 1) *a(n + 1;m + 1))…
C 函数的返回值到 ASM
我正在尝试从 ASM 中调用一个函数。我知道如何调用它,但我无法找到如何获取该函数的返回值。示例如下: C 代码: int dummy() { return 5; } (N)ASM …
为什么这个 x86_64 汇编代码不起作用?
section .text global my_strlen my_strlen: xor rax, rax .LOOP: cmp BYTE[rdi+rax], 0 jne .LOOP inc rax ret 我执行它: #include #include extern…
执行“mov eax, [edx”ebx]”后,ebx 寄存器的值发生变化。装配(NASM)
我是汇编新手,我正在尝试在汇编中进行一些任意精度的算术。但我一整天都陷入错误中。 mov eax,[ebp+8] ; the first parameter of c function mov edx…