source: trunk/unios.asm

Last change on this file was 2, checked in by Mattia Monga, 14 years ago

Importazione sorgenti

File size: 2.4 KB
Line 
1; Redistribution and use in source and binary forms, with or without modification, are
2; permitted provided that the following conditions are met:
3;
4; Redistributions of source code must retain the above copyright notice, this list of
5; conditions and the following disclaimer.
6;
7; Redistributions in binary form must reproduce the above copyright notice, this list of
8; conditions and the following disclaimer in the documentation and/or other materials
9; provided with the distribution.
10;
11; The name of the author may not be used to endorse or promote products derived from this
12; software without specific prior written permission.
13;
14; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
15; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
16; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
17; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
19; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22;
23; Version: 1.1.1 Beta
24
25bits 16
26org 0h
27
28 mov ax, 0x7C0
29 mov ds, ax
30
31 call booting
32 xor dx,dx
33 call working
34 call idleloop
35
36nl:
37 mov si, newline
38 call message
39 ret
40
41booting:
42 mov si, boot
43 call message
44 call nl
45 ret
46
47working:
48 call nl
49 call nl
50 mov si, device
51 call message
52 call waitenter;
53 inc dx
54 cmp dx, 3
55 je keyboard
56 jmp working
57
58keyboard:
59 call nl
60 call nl
61 mov si, kbd
62 call message
63 call nl
64 mov si, cont
65 call message
66 ret
67
68waitenter:
69 call nl
70 mov si, cont
71 call message
72 xor ax,ax ; Sets AH=0 and AL=0
73 int 16h ; Wait for keypress
74 cmp al, 'T'
75 jz taz
76 cmp al, 't'
77 jz taz
78 cmp al, 13
79 jnz waitenter
80 ret
81
82taz:
83 call nl
84 call nl
85 mov si, tazq
86 call message
87 jmp waitenter
88
89idleloop:
90 hlt
91 jmp idleloop
92
93message:
94 lodsb
95 or al, al
96 jz done
97 mov ah, 0Eh
98 mov bx, 7
99 int 10h
100 jmp message
101
102done:
103 ret
104
105boot: db 'Loading UniOS 1.1 Beta...' , 0
106newline: db 10, 13, 0
107device: db 'Device not responding to SCSI command.' , 0
108cont: db 'Hit ENTER to continue...', 0
109kbd: db 'Keyboard not responding to SCSI command.' , 0
110tazq: db 'Yes, TazQ is an Internet crack monkey on wheels.' , 0
111
112 times 510-($-$$) db 0
113 dw 0xAA55
Note: See TracBrowser for help on using the repository browser.