zoukankan      html  css  js  c++  java
  • 自制操作系统笔记-第一章

    光盘里的tolset文件夹(tool set 工具套件),把它复制到硬盘的任意位置。后面开发的都放在这里。也可以移动到其它地方。

    教程中每天的工具目录分别命名为helloos0,helloos1,helloos2......,存在tolset文件夹下。

    在helloos0文件夹下创建run.bat,这个是通过模拟器测试生成的软盘镜像文件,书上的代码有误,下面是光盘中的代码:

    copy helloos.img ..z_toolsqemufdimage0.bin
    ..z_toolsmake.exe    -C ../z_tools/qemu

    同样,创建install.bat,这个作用是将软盘镜像写入物理软盘,但现在我们都没有软驱了,所以用不上这个文件了。

    ..z_toolsimgtol.com w a: helloos.img

     nask是作者自己开发的一个汇编语言编译器。可以直接将nas源程序 编译生成 img镜像文件

    --------------------------------------------------------------------------------------------------------------------------

    汇编语言中;表示注释

    ----------------------------------------------------------------------

    DB 是data byte的意思,此指令往文件里写入一个字节的内容,可以用它直接写字符串,汇编语言会自动查找每个字符的编码,然后把它们一个字节一个字节地排序起来

    DW data word 此指令往文件里写入2字节的内容(16bit)

    DD data double-word 此指令往文件里写入2字节的内容(32bit)

    RESB reserve byte 预留字节, RESB 10就是预留10字节,也就是连续输出10个"0x00"
    RESB 0x1fe-$ $是一个变量,表示从开头到当前行位置的字节数,例:

            0
            1
            2
            3
            4 RESB 7 - $   这里$表示4 ,7-4= 3 
            5
            6 
            7 0x55
            8 0xAA

    0x1fe = 510
    16^2*1+16^1*f+e
    256+240+14 = 510

    必须要保证软盘的第510字节(0x1fe)的位置是0x55 0xAA (85 170), 必须保证软盘510字节(即0X1FE)开始的地方是55 AA,这个位置是第一个扇区最后两个字节(510,511),如果这两个字节是0x55 0xAA就认为这个扇区开头的是启动程序

    软盘的512字节称为一个“扇区”,1440KB软盘,也就是1474560字节,除以512,得2880,也就是说一张软盘共有2880个扇区,软盘的第一个扇区称为“启动区”,计算机从第一个扇区读软盘,检查最后两个字节。如果不是0x55 0xAA就报不能启动,如果是则认为这个扇区的开头是启动程序,并执行这个程序。

    喜欢的话,请点赞,转发、收藏、评论,谢谢!
  • 相关阅读:
    转:BIOS的恢复技术之Top Swap的原理应用
    半硬化树脂PP的型号
    PADS常用画板过程
    ad2014注册出现:注册
    CPU处理多任务——中断与轮询方式比较
    PDS常用快捷键
    方法三破解:Excel工作表保护密码
    【Linux指标】内存篇
    mac apt-get--> Homebrew
    20180113Go匿名函数和闭包
  • 原文地址:https://www.cnblogs.com/johnjackson/p/12300328.html
Copyright © 2011-2022 走看看