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

             

            久久WWW免费人成—看片| 日本欧美久久久久免费播放网| 97久久天天综合色天天综合色hd | 国产成人无码久久久精品一| 97r久久精品国产99国产精| 国产福利电影一区二区三区久久久久成人精品综合 | 久久这里都是精品| 国产产无码乱码精品久久鸭| 99久久精品国产综合一区| 久久久久久精品无码人妻| 91精品国产91久久久久久蜜臀 | 欧美熟妇另类久久久久久不卡 | 久久被窝电影亚洲爽爽爽| 亚洲精品国产综合久久一线| 国内精品久久久久久99蜜桃| 久久精品成人一区二区三区| 精品久久久久久久久午夜福利| 性高湖久久久久久久久AAAAA| 国产精品久久永久免费| 亚洲美日韩Av中文字幕无码久久久妻妇 | 欧美性大战久久久久久| 久久久久久久尹人综合网亚洲| 色综合久久久久无码专区| 亚洲国产天堂久久综合| 久久99精品国产麻豆蜜芽| 久久精品国产一区二区三区日韩| 久久精品国产男包| 色婷婷狠狠久久综合五月| 久久精品国产72国产精福利| 一本大道久久a久久精品综合| 久久精品国产亚洲av水果派| 久久久久久国产a免费观看黄色大片 | 久久免费精品一区二区| 少妇久久久久久被弄高潮| 99久久精品免费看国产一区二区三区 | 久久频这里精品99香蕉久| 亚洲国产天堂久久久久久| 久久影视国产亚洲| 午夜精品久久久久久影视777| 国产亚州精品女人久久久久久| 青青国产成人久久91网|