如何以十六进制打印寄存器的内容
我目前正在开始使用 NASM,想知道如何使用 NASM 以十六进制输出寄存器的内容。 我可以输出 eax 的内容, section .bss reg_buf: resb 4 . . . print_r…
链接 Mac OS X 的 nasm 程序
我在链接 macOS 的 nasm 程序时遇到一些问题: GLOBAL _start SEGMENT .text _start: mov ax, 5 mov bx, ax mov [a], ebx SEGMENT .data a DW 0 t2 DW…
使用 NASM 编写操作系统内核
我想知道编写在 NASM 上编译的简单内核的标准方法是什么? 为了更清楚地说明: 我能够通过以下方式定义代码块: [segment code] [segment .code] segm…
学习汇编,代码有问题吗?
jmp start ;============================== ; Draws a horiz and vert line ;============================== startaddr dw 0a000h ;start of video…
NASM x86_64 中的重定位截断以适应错误
我使用的计算机配备 Intel Core 2 CPU 和 2GB RAM。我的操作系统是 Ubuntu 9.04。 当我尝试编译此代码时: ;programma per la simulazione di un term…
什么是好的 64 位 NASM 汇编参考?
Closed. This question is seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. It does not …
80x86 16 位 asm:lea cx,[cx*8+cx] 导致 NASM 出现错误(编译 .com 文件)
NASM 给出的错误(尽管我的操作系统正常)是“无效的有效地址”。 现在我已经看到了很多如何使用 LEA 的例子,我认为我做对了,但我的 NASM 不喜欢它…
NASM 和关于 ADC 的问题 - ASM 8086
我在高中学习汇编,我想尝试在家制作汇编程序。 我下载了 NASM,但我不明白如何用它运行 .s 文件 - 如果你可以在这里编写一个简单的方法来运行它,我…
为什么这个“hello world”会这样?为 NASM 编写的 x86 引导加载程序代码可以在没有 [BITS 16] 和 [ORG 0x7C00] 指令的情况下工作吗?
push word 0b800h pop es xor di, di mov [es:di], word 441h jmp $ times 510 - ($-$$) db 0 db 55h db 0AAh …
在 NASM 汇编中对数字进行平方而不进行乘法
是否可以在不进行任何乘法(通过使用移位等)的情况下对存储在寄存器(例如 eax)中的数字进行平方?我将在 32 位汇编中对 16 位数字进行平方,因此溢…
在 OSX 上加载/执行 ELF 文件的可能性
我只是好奇在 OSX 上加载和执行 elf 文件的可能性。我知道标准可执行格式是 MACHO,但 NASM 无法生成 MACHO 对象的调试信息(并且我需要使用 NASM)。…
[BITS 16] 和 [ORG 0x0000] 指令的顺序
我正在开始尝试编写内核并享受其中的乐趣。我已经完成了基本的引导加载程序和以下指令: [BITS 16] [ORG 0x0000] 但是,在内核教程中,它以: [ORG 0x…