Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h
- cli
- mov bx, cs
- mov ds, bx
- mov si, CPU1
- mov bx, 0x9000
- mov es, bx
- xor di, di
- mov cx, 512
- rep movsb
- jmp CPU0
- CPU1:
- mov di, 0xB800
- mov es, di
- mov di, 2
- mov al, '1'
- stosb
- mov al, 15
- stosb
- luuppi:
- mov di, 0xB800
- mov es, di
- mov di, 2
- inc byte [es:di]
- jmp luuppi
- CPU0:
- mov eax, cs
- shl eax, 4
- add eax, gdt
- mov [gdtinfo+2], eax
- lgdt [gdtinfo]
- mov eax, cr0
- or eax, 1
- mov cr0, eax
- mov bx, 8
- mov ds, bx
- mov es, bx
- and al, 0xFE
- mov cr0, eax
- xor ax, ax
- mov ds, ax
- mov es, ax
- mov edi, 0xB8000
- mov [edi+0], byte '0'
- mov [edi+1], byte 15
- mov edi, 0xFEE00300
- mov [edi], dword 0x000C4500
- mov ecx, 10000000
- delay:
- times 4 nop
- loop delay
- mov [edi], dword (0x000C4600 + 0x90000/0x1000)
- xor di, di
- mov es, di
- mov word [0x8*4], CPU0INT08
- mov di, cs
- mov word [0x8*4+2], di
- sti
- hlt
- CPU0INT08:
- mov di, 0xB800
- mov es, di
- xor di, di
- inc byte [es:di]
- mov al, 0x20
- out 0x20, al
- iret
- gdt:
- dd 0, 0
- db 0xFF, 0xFF, 0, 0, 0, 10010010b, 11001111b, 0
- gdtinfo:
- dw $ - gdt - 1
- dd 0
Advertisement
Add Comment
Please, Sign In to add comment