decod81

Untitled

Mar 17th, 2021
801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     org 100h
  2.  
  3.     cli
  4.  
  5.     mov bx, cs
  6.     mov ds, bx
  7.     mov si, CPU1
  8.     mov bx, 0x9000
  9.     mov es, bx
  10.     xor di, di
  11.     mov cx, 512
  12.     rep movsb
  13.     jmp CPU0
  14. CPU1:
  15.     mov di, 0xB800
  16.     mov es, di
  17.     mov di, 2
  18.     mov al, '1'
  19.     stosb
  20.     mov al, 15
  21.     stosb
  22. luuppi:
  23.     mov di, 0xB800
  24.     mov es, di
  25.     mov di, 2
  26.     inc byte [es:di]
  27.     jmp luuppi
  28. CPU0:
  29.     mov eax, cs
  30.     shl eax, 4
  31.     add eax, gdt
  32.     mov [gdtinfo+2], eax
  33.     lgdt    [gdtinfo]
  34.     mov eax, cr0
  35.     or  eax, 1
  36.     mov cr0, eax
  37.     mov bx, 8
  38.     mov ds, bx
  39.     mov es, bx
  40.     and al, 0xFE
  41.     mov cr0, eax
  42.  
  43.     xor ax, ax
  44.     mov ds, ax
  45.     mov es, ax
  46.     mov edi, 0xB8000
  47.     mov [edi+0], byte '0'
  48.     mov [edi+1], byte 15
  49.  
  50.     mov edi, 0xFEE00300
  51.     mov [edi], dword 0x000C4500
  52.     mov ecx, 10000000
  53. delay:
  54.     times 4 nop
  55.     loop    delay
  56.     mov [edi], dword (0x000C4600 + 0x90000/0x1000)
  57.  
  58.     xor di, di
  59.     mov es, di
  60.     mov word [0x8*4], CPU0INT08
  61.     mov di, cs
  62.     mov word [0x8*4+2], di
  63.     sti
  64.     hlt
  65. CPU0INT08:
  66.     mov di, 0xB800
  67.     mov es, di
  68.     xor di, di
  69.     inc byte [es:di]
  70.     mov al, 0x20
  71.     out 0x20, al
  72.     iret
  73. gdt:
  74.     dd  0, 0
  75.     db  0xFF, 0xFF, 0, 0, 0, 10010010b, 11001111b, 0
  76. gdtinfo:
  77.     dw  $ - gdt - 1
  78.     dd  0
Advertisement
Add Comment
Please, Sign In to add comment