include "macro.inc"
use32 
org 0x5000 ;Kernel_base   
protected_mode:
    mov ax,0x8
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov esp,0x7C00
fdd_off:
    mov   dx,3F2h
    mov   al,0
    out   dx,al
    
    mov esi,szHw
    call printf
    call draw
cpuid_ident:
    mov edi,szBuff
    mov eax,80000002h
    cpuid
    mov [edi],eax
    mov [edi+4],ebx
    mov [edi+8],ecx
    mov [edi+12],edx
    
    add  edi,16
    
    mov eax,80000003h
    cpuid
    mov [edi],eax
    mov [edi+4],ebx
    mov [edi+8],ecx
    mov [edi+12],edx
    
    add  edi,16
    
    mov eax,80000004h
    cpuid
    mov [edi],eax
    mov [edi+4],ebx
    mov [edi+8],ecx
    mov [edi+12],edx
    
    mov [pointer],0xB8000+320+24
    mov esi,szBuff
    call printf
    jmp $
szHw db 23 dup(" "),"Hello world from Protected Mode!!!",23 dup(" "),0
szBuff db 257 dup(0)
pointer dd 0B8000h

include "string.inc"

Add a code snippet to your website: www.paste.org