zoukankan      html  css  js  c++  java
  • 30天自制操作系统

    helloos.nas 源码:

     1 ; hello-os
     2 ; TAB=4
     3 
     4 ; 以下这段是标准的FAT12格式软盘专用代码
     5 
     6         DB        0xeb, 0x4e, 0x90
     7         DB        "HELLOIPL"        ; 启动区名称,可以是任意的字符串(8个字节)
     8         DW        512                ; 每个扇区(sector)的大小(必须为512字节)
     9         DB        1                ; 簇(clustor)的大小(必须为1个扇区)
    10         DW        1                ; FAT的起始位置(一般从第一扇区开始)
    11         DB        2                ; FAT的个数(必须为2)
    12         DW        224                ; 根目录的大小(一般设为224项)
    13         DW        2880            ; 该磁盘的大小(必须是2880扇区)
    14         DB        0xf0            ; 磁盘的种类(必须是0xf0)
    15         DW        9                ; FAT的长度(必须是9个扇区)
    16         DW        18                ; 1个磁道(track)有几个扇区(必须是18个)
    17         DW        2                ;磁头数(必须是2个)
    18         DD        0                ; 不使用分区必须是0
    19         DD        2880            ; 从写一次磁盘大小
    20         DB        0,0,0x29        ; 意义不明,固定
    21         DD        0xffffffff        ; 大概卷序列号
    22         DB        "HELLO-OS   "    ;磁盘名称(11字节)
    23         DB        "FAT12   "        ;格式名称(8字节)
    24         RESB    18                ;先空18个字节
    25 
    26 ; 程序主体
    27 
    28         DB        0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
    29         DB        0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
    30         DB        0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
    31         DB        0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
    32         DB        0xee, 0xf4, 0xeb, 0xfd
    33 
    34 ; 信息部分
    35 
    36         DB        0x0a, 0x0a        ; 2个改行
    37         DB        "hello, world"   ;输出信息
    38         DB        0x0a            ; 改行
    39         DB        0 
    40 
    41         RESB    0x1fe-$            ; 填写0x00,直到0x001fe
    42 
    43         DB        0x55, 0xaa
    44 
    45 ; 以下是非启动扇区以外的部分的描述
    46 
    47         DB        0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
    48         RESB    4600
    49         DB        0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
    50         RESB    1469432
  • 相关阅读:
    编写C#程序的IDE
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    Linux从入门到精通系列之NFS
    Linux从入门到精通系列之NFS
    Linux从入门到精通系列之NFS
    Docker之docker设置系统的环境变量
    mq put 消息到远程队列
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/8771466.html
Copyright © 2011-2022 走看看