怎样写一个简单的操作系统(7)

时间:2026-01-15

怎样写一个简单的操作系统

mylabel: db 'Message here', 0

在汇编代码中,我们就可以知道一个以0结尾的字符串能通过mylabel: position找到。我们还可以设置单个字节的值,然后在其他地方像一个变量一样使用它,看下面的代码:

foo: db 0

现在foo:在代码中指向单字节,在这种情况下,Mike OS将是可写的,因为整个操作系统都被拷贝到了内存中。因此,你可以使用下面的指令:

mov byte al, [foo]

这条指令的意思是把foo指向的一个字节传送到al寄存器中。

这就是X86体系汇编语言的基本要点,已经足够让你开始后面的学习了。当你编写一个操作系统的时候,随着你的进展,你需要学习更多的汇编知识和其他知识,你可以参考Resources部分的辅导资料(译注:没有找到所谓的辅导资料)。

第一个操作系统

现在,你已经可以开始编写您的第一个操作系统内核了!当然,这将是一个极其精简的部分,仅仅是一个512字节的引导扇区,就跟之前叙述的一样,但是,它是您进行进一步探索的一个起点。复制粘贴下面的代码到一个名为myfirst.asm的文件中,并把它保存到你的home目录——这就是你的第一个操作系统的源代码。O(∩_∩)o

BITS 16

start:

mov ax, 07C0h ; Set up 4K stack space after this bootloader

add ax, 288 ; (4096 + 512) / 16 bytes per paragraph

mov ss, ax

mov sp, 4096

mov ax, 07C0h ; Set data segment to where we're loaded

mov ds, ax

mov si, text_string ; Put string position into SI

call print_string ; Call our string-printing routine

jmp $ ; Jump here - infinite loop!

怎样写一个简单的操作系统(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219