操作系统加载相关

简介: ; FAT12 软盘标准 DB 0xeb, 0x4e, 0x90 DB "BerBer" ; 启动区的名称可以任意 8字节 DW 512 ; 每个扇区...
; FAT12 软盘标准

        DB        0xeb, 0x4e, 0x90
        DB        "BerBer"        ; 启动区的名称可以任意  8字节
        DW        512                ; 每个扇区的大小  512字节
        DB        1                ; 簇的大续爱  1个扇区
        DW        1                ; FAT起始位置  第一个扇区
        DB        2                ; FAT个数 2 
        DW        224                ; 根目录大小
        DW        2880            ; 该磁盘大小 2880
        DB        0xf0            ; 磁盘种类
        DW        9                ; FAT长度
        DW        18                ; 1个磁道有几个扇区
        DW        2                ;  磁头数
        DD        0                ; 不使用分区
        DD        2880            ;  重写一次磁盘大小
        DB        0,0,0x29        ;  固定
        DD        0xffffffff        ;  卷标号码
        DB        "BerBer-OS   "    ; 磁盘名称
        DB        "FAT12   "        ;  磁盘格式名称
        RESB    18                ; 先空出18字节

; 程序主体

        DB        0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
        DB        0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
        DB        0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
        DB        0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
        DB        0xee, 0xf4, 0xeb, 0xfd

; 信息显示部分

        DB        0x0a, 0x0a        ; 2个换行
        DB        "hello, world"
        DB        0x0a            ; 换行
        DB        0

        RESB    0x1fe-$            ; 填写0x00,直到0x001fe

        DB        0x55, 0xaa

; 以下是启动区以外部分的输出

        DB        0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
        RESB    4600
        DB        0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
        RESB    1469432

          FAT12有很好的格式兼容性,将软盘格式化(不要使用快速格式化)之后,将这段代码写入。再使用这张操作系统软盘重启电脑,就可以看到这个只有一行输出的操作系统了。

  

目录
相关文章
|
3月前
|
Linux
操作系统 | 编写内核
操作系统 | 编写内核
44 0
|
2月前
|
Linux Android开发 iOS开发
操作系统的作用与常见操作系统介绍
操作系统的作用与常见操作系统介绍
|
8月前
|
人工智能 JavaScript 前端开发
「操作系统」1. 基础
「操作系统」1. 基础
|
4月前
|
存储 算法 Unix
操作系统丨测试(五)
操作系统丨测试(五)
75 0
|
4月前
|
存储 缓存 算法
操作系统丨测试(四)
操作系统丨测试(四)
248 0
|
4月前
|
算法 调度
操作系统丨测试(三)
操作系统丨测试(三)
137 0
|
4月前
|
存储 算法 Unix
操作系统丨测试(一)
操作系统丨测试(一)
51 0
|
4月前
|
消息中间件 数据可视化 Unix
操作系统丨测试(二)
操作系统丨测试(二)
74 0
|
5月前
|
存储 编译器 Linux
操作系统相关问题——应用程序和操作系统怎么配合
应用程序和操作系统都是软件, CPU会将它们一视同仁,甚至CPU不知道自己在执行的程序是操作系统还是一般应用软件。CPU只知道去cs:ip寄存器中指向的内存取出指令并执行,它不知道什么是操作系统。
|
8月前
|
存储 编译器 定位技术
操作系统内存管理模块中的动态重定位需要由什么来实现?
操作系统内存管理模块中的动态重定位需要由什么来实现?
93 0