小编wei*_*nda的帖子

BIOS是否将512字节的引导加载程序复制到0x7c00

我在写一个内核; 在编写这么复杂的东西之前,我认为它不仅是有用的,而且对于对内核,引导加载程序,寄存器,BIOS等进行理论读取也是不完美的.

这篇文章说(我引用):

The boot sector loader. 
This loads the first 512-byte sector from the boot disk into RAM and jumps to it.
Run Code Online (Sandbox Code Playgroud)

然后继续说:

The first sector of a diskette can be loaded at address 0000:7C00. 
Run Code Online (Sandbox Code Playgroud)

因此,引导扇区加载器将位于存储器地址0x7C00(如果我是正确的)的磁盘的512字节数据加载到RAM中; 现在,我的问题是:

  • 由于机器正在启动,RAM 必须为空,因此引导加载程序在RAM的0x0000处加载?
  • (与此上下文没有关系)是否有任何方法可以获取GRUB Legacy(v .9x)引导加载程序的源代码说明?
  • 最后,我应该阅读哪些文章/书籍以熟悉内核等?

我有6年的编程经验,但他们都在系统上使用高级语言,这是由内核实现的.

任何帮助表示赞赏.谢谢!:)

linux assembly kernel floppy bios

4
推荐指数
2
解决办法
1085
查看次数

.dll 等效于 Mac OS X

我来自Windows背景,我习惯于通过创建 ( .dll )s 然后分发所有库和文档来创建 SDK 。

因此,如果用户想要使用它,他会添加对库的引用并使用它。但是,在 Mac 中,我正在开发 SDK,我想要一种创建分发Mac 库的方法。

(我想在Objective-C 中创建库)请帮助我:)

xcode objective-c dylib

3
推荐指数
1
解决办法
6634
查看次数

NodeJS中的提示模块重复输入

我正在使用 NodeJS 及其 CLI 应用程序制作应用程序;为了从用户那里获取输入,我正在使用“提示”模块。我可以使用它,但是在输入提示的提示时,每个字符都在重复,但是输出很好!代码如下。请帮忙。

prompt.start();

    prompt.get({
      properties: {
        name: {
          description: "What is your name?".magenta
        }
      }
    }, function (err, result) {
      console.log("You said your name is: ".cyan + result.name.cyan);
    });
Run Code Online (Sandbox Code Playgroud)

图片: 添加

terminal module prompt node.js

2
推荐指数
1
解决办法
2182
查看次数

当您编写标签时,Assembly是否会创建内存位置?

例如,我有以下代码(MikeOS).

jmp short bootloader_start  ; Jump past disk description section
nop                         ; Pad out before disk description
...
...

OEMLabel            db "MIKEBOOT"   ; Disk label
BytesPerSector      dw 512          ; Bytes per sector
SectorsPerCluster   db 1            ; Sectors per cluster
ReservedForBoot     dw 1            ; Reserved sectors for boot record
NumberOfFats        db 2            ; Number of copies of the FAT

bootloader_start:
    mov ax, 07C0h           ; Set up 4K of stack space above buffer
    add ax, 544             ; 8k buffer = …
Run Code Online (Sandbox Code Playgroud)

x86 assembly bootloader x86-16

2
推荐指数
1
解决办法
1939
查看次数

标签 统计

assembly ×2

bios ×1

bootloader ×1

dylib ×1

floppy ×1

kernel ×1

linux ×1

module ×1

node.js ×1

objective-c ×1

prompt ×1

terminal ×1

x86 ×1

x86-16 ×1

xcode ×1