• <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[貓貓愛吃魚]

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

            [ASM] bootsect - nasm

            Posted on 2014-11-12 20:23 jacky_zz 閱讀(273) 評論(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

             

            久久精品免费全国观看国产| A级毛片无码久久精品免费| 亚洲伊人久久成综合人影院 | 国产成人久久精品一区二区三区| 久久国产精品99精品国产| 国产精品免费久久久久影院| 国产69精品久久久久观看软件| 欧美黑人激情性久久| 久久久久久无码国产精品中文字幕 | 久久发布国产伦子伦精品| 精品综合久久久久久88小说| 狠狠色噜噜色狠狠狠综合久久| 国产一区二区精品久久| 偷窥少妇久久久久久久久| 国内精品久久久久久久亚洲| 久久精品无码一区二区WWW| 久久精品国产99国产精品| 久久w5ww成w人免费| 久久无码中文字幕东京热| 91久久香蕉国产熟女线看| 日韩乱码人妻无码中文字幕久久| 婷婷久久综合九色综合绿巨人| 久久成人国产精品二三区| 久久久久亚洲AV无码麻豆| 伊人久久大香线蕉av一区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 日韩精品久久久久久| 久久精品人妻中文系列| 久久无码AV一区二区三区| 久久午夜羞羞影院免费观看| 性做久久久久久久久浪潮| 久久久噜噜噜久久中文字幕色伊伊| 久久婷婷五月综合97色| 久久久久人妻精品一区三寸蜜桃| 国产精品va久久久久久久| 嫩草影院久久国产精品| 亚洲国产成人精品无码久久久久久综合| 蜜桃麻豆WWW久久囤产精品| 亚洲国产精品成人AV无码久久综合影院| 久久se精品一区精品二区国产| 色偷偷888欧美精品久久久|