Silent following warning;
[bootmanager.git] / dummy_bootloader / dummy_bootloader.S
1 SCREEN_COLS     equ 80
2 SCREEN_ROWS     equ 25
3 STACK_SEGMENT   equ 09000h      ; top of memory
4 STACK_SIZE      equ 00fffh      ; 4K - 1 bytes of stack
5         
6 TEXT_COLOR      equ 0x07        ; white on black
7
8         jmp 07c0h:start
9
10 message         db "PlanetLab nodes require a boot cd at all times to function.",0
11         
12 start:
13         mov ax, cs
14         mov ds, ax
15         mov es, ax
16         
17         mov sp, STACK_SEGMENT   ; setup stack (not really used)
18         mov ss, sp
19         mov sp, STACK_SIZE
20
21         ;; clear out the screen, using the scroll down bios int.
22         mov ah, 0x07            ; for int 0x10, 0x07 is scroll down window
23         mov al, 0               ; entire window
24         mov cx, 0               ; upper left corner = (0,0)
25         mov dh, SCREEN_ROWS     ; row of bottom
26         mov dl, SCREEN_COLS     ; column of right
27         mov bh, 7
28         int 10h                 
29         
30         mov si, message
31
32 strout: lodsb
33         cmp al, 0
34         je done
35         mov ah, 0x0E            ; for int 0x10, 0xOE is char out
36         mov bx, TEXT_COLOR
37         int 0x10
38         jmp strout
39
40 done:   
41         jmp done
42         
43         times 510 - ($ - $$) db 0 ;  last two bytes are magic for x86 boot sectors
44         dw 0aa55h