zoukankan      html  css  js  c++  java
  • 《30天自制操作系统》01_day_学习笔记

    helloos0:

    helloos1:
      helloos.nas的解释在P23 中
      asm.bat将汇编程序helloos.nas编译成镜像文件
      之后执行run.bat即可在模拟器中运行
    helloos2:
      helloos.nas的解释在P25 中
      asm.bat将汇编程序helloos.nas编译成镜像文件
      之后执行run.bat即可在模拟器中运行

    ; hello-os
    ; TAB=4
    
    ; 以下这段是标准的FAT12格式软盘专用的代码
    
            DB        0xeb, 0x4e, 0x90
            DB        "HELLOIPL"         ; 启动区的名称可以是任意的字符串(8字节)
            DW        512                ; 每个扇区(sector)的大小(必须为512字节)
            DB        1                  ; 簇(cluster)的大小(必须为1个扇区)
            DW        1                  ; FAT的起始位置(一般从第一个扇区开始)
            DB        2                  ; FAT的个数(必须为2)
            DW        224                ; 根目录的大小,一般设成224项
            DW        2880               ; 该磁盘的大小,2880扇区
            DB        0xf0               ; 磁盘的种类,必须是0xf0
            DW        9                  ; FAT的长度,9个扇区
            DW        18                 ; 1个磁道track有18个扇区
            DW        2                  ; 磁头数为2
            DD        0                  ; 不适用分区,0
            DD        2880               ; 重写一次磁盘的大小
            DB        0,0,0x29           ;定值
            DD        0xffffffff         ; 表圈的号码,可能
            DB        "HELLO-OS   "      ; 磁盘的名称,112字节
            DB        "FAT12   "         ; 磁盘格式的名称 。8字节
            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
  • 相关阅读:
    已解决】Sublime中运行带input或raw_input的Python代码出错:EOFError: EOF when reading a line(转)
    暂时解决Sublime Text 2不支持input问题(转)
    Python中的注释(转)
    You don't have permission to access / on this server
    mysql开启慢查询方法(转)
    php获取当前url完整地址
    js中日期转换为时间戳
    发现js端日期跟php端日期格式不一致
    首发Zend Studio正式版注册破解(转)
    Arduino入门笔记(3):单LED闪烁
  • 原文地址:https://www.cnblogs.com/pengfeiz/p/5780553.html
Copyright © 2011-2022 走看看