• <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>

            JACKY_ZZ[貓貓愛吃魚]

            春風拂面兩頰紅,秋葉灑地一片金。 夏荷搖曳一身輕,冬雪覆蓋大地銀。
            posts - 30, comments - 123, trackbacks - 0, articles - 0

            [ASM] bootsect - nasm

            Posted on 2014-11-12 20:23 jacky_zz 閱讀(282) 評論(0)  編輯 收藏 引用 所屬分類: ASM

             

             1 2012.6.30, Jinfeng @ SWUST
             2 ; nasm boot.asm -o boot.bin
             3 
             4     org 07c00h    ; cs:ip = 07c00h
             5 entry:
             6     ; set env
             7     mov ax,cs
             8     mov ds,ax
             9     mov es,ax
            10     mov ss,ax
            11     mov sp,0x400
            12     
            13 load_system:
            14     mov dx,0x0000
            15     mov cx,0x0002
            16     
            17     mov ax,0x1000
            18     mov es,ax
            19     xor bx,bx ; [es:bx]
            20     
            21     mov ax,0x0200+2        ; 1024 bytes
            22     int 0x13
            23     jnc move_system
            24 try_again:
            25     jmp load_system
            26     
            27 move_system:
            28     cli            ; don't need BIOS func
            29                 ; will open just before 'ret' to task 0 in new mode
            30     cld
            31     mov ax,0x1000
            32     mov ds,ax
            33     xor ax,ax 
            34     mov es,ax
            35     mov cx,0x0200
            36     sub si,si
            37     sub di,di
            38     rep movsb
            39     
            40 load_gdtr:
            41     mov ax,0x0000
            42     mov ds,ax
            43     
            44     mov ax,(gdtr-gdt)
            45     mov word [gdtr],ax
            46     mov dword [gdtr+2],gdt    ; not 0x7c00+gdt ?
            47     
            48     lidt [idtr]        ; CPU request IDT before jump into new mode
            49     lgdt [gdtr]
            50     
            51     mov al,0x02 
            52     out 0x92,al        ; open A20, enable 32-bit address
            53     
            54     mov ax,0x0001
            55     mov cr0,eax        ; set PE flag in EFLAGS register
            56     
            57     jmp dword 0x08:0            ; jmp to reset all registers in new mode
            58 
            59 ;end!!!
            60 
            61 gdt:    dw 0,0,0,0
            62         dw 0x1000,0x0000,0x9a00,0x00c0    ; 16Mb,0x0000,r/x
            63         dw 0x1000,0x0000,0x9200,0x00c0    ; 10MB,0x0000,r/w
            64         dw 0x0002,0x8000,0x920b,0x00c0    ; 8kb,0xb8000, 4kb<-swap->4kb
            65 
            66 gdtr:    dw 0x0000,0x0000,0x0000
            67 idtr:    dw 0x0000,0x0000,0x0000
            68 
            69 times 510-($-$$)    db        0
            70                     dw         0xaa55

             

            国产精品99久久久久久猫咪| 久久久WWW成人免费精品| 久久亚洲av无码精品浪潮| 青草国产精品久久久久久| 亚洲欧美国产精品专区久久| 99热成人精品免费久久| 91久久成人免费| 国产精品九九久久免费视频| 久久精品国产精品亚洲人人| 亚洲天堂久久精品| 久久91这里精品国产2020| 久久99精品久久久久久秒播| 激情五月综合综合久久69| 久久久精品视频免费观看| 久久亚洲欧洲国产综合| 色天使久久综合网天天| 性做久久久久久久| 久久久久久久尹人综合网亚洲| 伊人色综合久久| 欧美激情精品久久久久久久| 中文字幕热久久久久久久| 99久久国产热无码精品免费| 亚洲嫩草影院久久精品| 一本色道久久88综合日韩精品| 一本一道久久综合狠狠老| 99久久99久久精品国产片| 中文字幕无码久久精品青草| 久久国产精品无码一区二区三区| 亚洲天堂久久精品| 伊人久久综合成人网| 久久国产精品一区二区| 久久综合色老色| 久久精品国产亚洲沈樵| 久久综合久久综合亚洲| 国产精品一区二区久久精品无码 | www.久久精品| 色8激情欧美成人久久综合电| 国产精品久久久久天天影视| 大香伊人久久精品一区二区| 99久久综合国产精品二区| 日韩精品久久无码人妻中文字幕|