View difference between Paste ID: j03aptz9 and qEjuWLCh
SHOW: | | - or go back to the newest paste.
1
%define com1 0x3f8 
2
3
bootentry: cli 
4
           mov ax,0x07c0 
5
           mov ds,ax 
6
           mov ss,ax 
7
           mov es,ax 
8
           mov sp,0x0800 
9
           sti 
10
           call setup_uart 
11
           cld 
12
           mov ax,0xb800 
13
           mov es,ax 
14
           xor di,di 
15
           mov si,fo 
16
           mov ax,10 
17
           push ax 
18
           pop cx 
19
           rep movsw 
20
hang:      mov dx,com1+3 
21
           in  al,dx 
22
           push ax 
23
           and al,127 
24
           out dx,al ; disable DLAB 
25
           mov dx,com1 
26
           mov al,'K' 
27
           out dx,al 
28
           pop ax 
29
           add dx,3 
30
           out dx,al ; set LCR back 
31
           jmp hang 
32
33
34
setup_uart: mov dx,com1+1 
35
            mov al,0 
36
            out dx,al 
37
38
            mov dx,com1+3 
39
            mov al,0x80 
40
            out dx,al 
41
42
            mov dx,com1 
43
            mov al,0x01 
44
            out dx,al 
45
46
            mov dx,com1+1 
47
            mov al,0x00 
48
            out dx,al 
49
50
            mov dx,com1+3 
51
            mov al,0x03 
52
            out dx,al 
53
54
            mov dx,com1+2 
55
            mov al,0xC7 
56
            out dx,al 
57
58
            mov dx,com1+4 
59
            mov al,0x0B 
60
            out dx,al 
61
            xor ax,ax 
62
            xor dx,dx 
63
            ret 
64
fo: db "H",0x0f,"e",0x0f,"y",0x0f," ",0x0f,"W",0x0f,"o",0x0f,"r",0x0f,"l",0x0f,"d",0x0f,"!",0x0f 
65
buffer: times 510-($-$$) db 0 
66
signature: dd 0xAA55