《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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM