• 操作系统加载相关


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

      

  • 相关阅读:
    Linux 切换用户
    Java之.jdk安装-Linux
    Java之.jdk安装-Windows
    java注解生成xml和包含CDATA问题
    Spring学习—生成图片验证码
    java学习——java按值传递和按址传递
    温水中被煮熟的程序员-人生的思考
    mysql操作sql的小技巧
    java的classLoader分析与jettty的WebAppClassLoader
    深入Spring:自定义事务管理
  • 原文地址:https://www.cnblogs.com/LexMoon/p/OS1.html
Copyright © 2020-2023  润新知