C 函数的返回值到 ASM
我正在尝试从 ASM 中调用一个函数。我知道如何调用它,但我无法找到如何获取该函数的返回值。示例如下: C 代码: int dummy() { return 5; } (N)ASM …
x86-64 处理器的 NUMA 文档?
我已经查找过 X86-64 处理器的 NUMA 文档,不幸的是我只找到了 NUMA 的优化文档。 我想要的是:如何在系统中初始化 NUMA(这包括获取系统的内存拓扑和…
如何让鼠标在我自己的操作系统中工作? INT 33h 在 EMU8086 之外不起作用
我完全在汇编中开发了一个自己的操作系统,现在我想实现一个鼠标驱动程序,因为我看到 Windows 中带有 EMU8086 的 INT 33h 可以工作,但当我从软盘启…
在软盘映像文件中使用 grub 在 bochs 中启动您自己的内核
基本上我已经按照这里的说明 http://sig9.com/bochs-grub 创建了一个裸映像文件,它什么也不做,只是让 BIOS 启动 GRUB。 问题是: 我正在编写的内核…
使用输入/输出指令的内存映射 I/O 操作(在英特尔处理器中)...仍然被缓存吗?
如果映射 I/O 的地址范围被键入为回写 (WB),即使我使用 in/out 指令,内存映射 I/O 操作(在英特尔处理器中)是否仍会被缓存? 编辑: 这个问题就解…
有人可以解释一下我如何使用来自 grub 的 C 数据结构吗?我不明白 hi mem 和 lo mem
Grub 是一个兼容多重引导的引导加载程序。当它启动操作系统时,它会创建一个定义可用内存的结构,并在内存中留下指向该结构的指针。 我在这里得到了该…
操作系统的引导加载程序不起作用
我正在制作一个自定义操作系统。我有两个 nasm 文件: boot.asm: [BITS 16] ;tell the assembler that its a 16 bit code [ORG 0x7C00] ;Origin, tell…
如何为 MIPS 编写 Hello World 引导加载程序?
我正在通过书MIPS汇编语言编程学习MIPS汇编,但是我的我'我刚刚开始学习 MIPS,因为我想构建一个 MIPS 操作系统,但现在正如我所见,没有任何文档讨论…