Guest User

Untitled

a guest
Mar 4th, 2017
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. use16
  2.  
  3. org 0x7c00
  4.  
  5. boot:
  6.         jmp 0x0000:start
  7. start:
  8.         mov ax,0x4F02
  9.         mov bx,0x4118
  10.         int 0x10
  11.  
  12.         cli
  13.         xor ax,ax
  14.         mov ds,ax
  15.         lgdt fword [GDTRI]
  16.         in al, 0x92
  17.         or al, 2
  18.         out 0x92, al
  19.         mov al,0x8F
  20.         out 0x70,al
  21.         in al,0x71
  22.         mov eax, cr0
  23.         or al, 1
  24.         mov cr0, eax
  25.         jmp 0x8: protected_mode
  26.  
  27. use32
  28.  
  29. protected_mode:
  30.         mov ax,16
  31.         mov ds,ax
  32.         mov es,ax
  33.         mov ax,24
  34.         mov ss,ax
  35.         mov esp,0xB7FFF
  36.         mov  edi,0xA0000
  37.         mov cx,65535
  38. loop1:
  39.         mov byte [es:edi],255
  40.         inc edi
  41.         loop loop1
  42.         mov cx,65535
  43. loop2:
  44.         mov byte [es:edi],255
  45.         inc edi
  46.         loop loop2
  47. exit:
  48.         hlt
  49.         jmp exit
  50.  
  51. ;-------------------------------------------------
  52.  
  53. align 8
  54.  
  55. GDT:
  56. GDT0:
  57.     dq 0
  58.  
  59. GDT1:
  60.     dw 0xFFFF    ;15...0    predel 15...0
  61.     dw 0         ;31...16   adress 15...0
  62.     db 0         ;39...32   adress 23...16
  63.     db 10011000b ;47...40   P DPL S tip A
  64.     db 11001111b ;55...48   G D X Y predel 19...16
  65.     db 0         ;63...56   adress 31...24
  66.  
  67. GDT2:
  68.     dw 0xFFFF
  69.     dw 0
  70.     db 0
  71.     db 10010100b
  72.     db 11001111b
  73.     db 0
  74.  
  75. GDT3:
  76.     dw 0x7FFF
  77.     dw 0x77FF    ; 0xB8000-2048-1
  78.     db 0xB       ;/
  79.     db 10010110b
  80.     db 11001010b
  81.     db 0
  82.  
  83. GDTRI:
  84.     dw GDTRI-GDT0-1
  85.     dd GDT
  86.  
  87. ;-------------------------------------------------
  88.  
  89. finish:
  90. times 0x1FE-finish+boot db 0
  91. db   0x55, 0xAA
  92.  
  93. ;------------------------------------------------------------------------------
  94. ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  95. ;------------------------------------------------------------------------------
  96.  
  97. org 0x7E00
Advertisement
Add Comment
Please, Sign In to add comment