• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            引導(dǎo)并加載Loader,進(jìn)入Loader執(zhí)行



            config.inc
             1%ifndef  __CONFIG_INC_INCLUDED__
             2%define  __CONFIG_INC_INCLUDED__
             3
             4
             5; 全局配置屬性,針對匯編語言部分
             6
             7
             8; boot-loader-kernel 在引導(dǎo)盤中,內(nèi)存中都連續(xù)分布
             9; 各自占用的扇區(qū)數(shù)量
            10
            11LOADER_SECTOR_NUM : equ 0x8
            12KERNEL_SECTOR_NUM : equ 0x100
            13
            14
            15%endif
            16
            17

            boot/boot.s
             1%include "../config.inc"
             2%include "boot_const.inc"
             3
             4org 0x7c00
             5        jmp BOOT_BEGIN
             6
             7; 一些數(shù)據(jù)
             8        msg : db "Booting"
             9        msgL : equ $-msg
            10
            11BOOT_BEGIN : 
            12
            13; 設(shè)置默認(rèn)顯示方式
            14        xor ah, ah
            15        mov al, VIDEO_ID
            16        int 0x10
            17
            18; 顯示引導(dǎo)提示信息
            19        mov ax, cs
            20        mov es, ax
            21        mov bp, msg
            22        mov al, 1
            23        mov cx, msgL
            24        mov dh, 0xA
            25        mov dl, 0x20
            26        mov bh, 0
            27        mov bl, 0x07
            28        mov ah, 0x13
            29        int 0x10
            30
            31; 讀入 Loader 和 Kernel
            32        xor ax, ax
            33        mov es, ax
            34        mov bx, LOADER_BEGIN
            35        mov ah, 0x2
            36        mov al, LOADER_SECTOR_NUM ; 暫無Kernel
            37        mov cx, 0x0002
            38        mov dx, 0x0000
            39        int 0x13
            40
            41; 跳入 Loader
            42        jmp LOADER_BEGIN
            43
            44; 確保填滿一個引導(dǎo)扇區(qū)
            45        times (0x200-2-($-$$))  db 0
            46        db 0x55
            47        db 0xAA
            48
            49LOADER_BEGIN : 
            50
            51

            boot/boot_const.inc
             1%ifndef  __BOOT_CONST_INC_INCLUDED__
             2%define  __BOOT_CONST_INC_INCLUDED__
             3
             4
             5; 引導(dǎo),加載,初始化的一些相關(guān)常數(shù),針對匯編語言部分
             6
             7
             8%include "../config.inc"
             9
            10
            11; video
            12MDA_ID : equ 0x07
            13MDA_COL_NUM : equ  80
            14MDA_ROW_NUM : equ  25
            15MDA_BASE : equ  0xB0000
            16MDA_BASE_SEG : equ 0xB000
            17MDA_BASE_OFF : equ 0x0
            18
            19
            20
            21VIDEO_ID : equ  MDA_ID
            22
            23
            24
            25%endif
            26
            27

            boot/loader.s
             1%include "../config.inc"
             2
             3
             4org 0x7C00+0x200
             5
             6        jmp LOADER_BEGIN
             7
             8; 一些數(shù)據(jù)
             9        msg : db "Loading"
            10        msgL : equ $-msg
            11
            12LOADER_BEGIN : 
            13
            14; 顯示加載提示信息
            15        mov ax, cs
            16        mov es, ax
            17        mov bp, msg
            18        mov al, 1
            19        mov cx, msgL
            20        mov dh, 0xB
            21        mov dl, 0x20
            22        mov bh, 0
            23        mov bl, 0x07
            24        mov ah, 0x13
            25        int 0x10
            26
            27        jmp $
            28        times (0x200-($-$$)) db 0
            29; 準(zhǔn)備進(jìn)入保護(hù)模式
            30
            31; 進(jìn)入保護(hù)模式
            32

            命令
            1nasm -o boot.bin boot.s
            2nasm -o loader.bin loader.s
            3sudo dd if=boot.bin of=/dev/fd0 bs=512 count=1 conv=notrunc
            4sudo dd if=loader.bin of=/dev/fd0 bs=512 count=1 conv=notrunc seek=1
            5
            6

            posted on 2011-04-09 11:27 coreBugZJ 閱讀(393) 評論(0)  編輯 收藏 引用 所屬分類: AssembleOperatingSystem

            久久精品中文字幕一区| 狠狠色丁香婷综合久久| 国产国产成人久久精品| 国内精品久久久久影院薰衣草| 久久综合亚洲色HEZYO国产 | 男女久久久国产一区二区三区| 香蕉久久AⅤ一区二区三区| 日韩美女18网站久久精品| 久久亚洲国产成人精品无码区| 久久九九免费高清视频| 无码国内精品久久人妻麻豆按摩| 国产香蕉97碰碰久久人人| 久久久受www免费人成| 性做久久久久久久久| 国色天香久久久久久久小说 | 国产精久久一区二区三区| 久久久九九有精品国产| 日韩精品久久久久久| 久久夜色撩人精品国产小说| 欧美精品丝袜久久久中文字幕| 中文字幕精品久久久久人妻| 久久精品国产2020| 久久最新精品国产| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲国产成人久久笫一页| 亚洲中文字幕无码一久久区| 久久99精品国产麻豆| 久久精品国产精品亚洲下载| 久久这里都是精品| 狠狠色丁香婷综合久久| 欧洲性大片xxxxx久久久| 少妇人妻88久久中文字幕| 精品久久综合1区2区3区激情| 香蕉久久夜色精品国产尤物| 99久久无码一区人妻a黑| 久久精品国产第一区二区| 久久棈精品久久久久久噜噜| 久久AAAA片一区二区| 国产精品久久久久jk制服| 人妻系列无码专区久久五月天| 久久久久亚洲精品无码蜜桃 |