1
extern void print( char color, char * text );
2
int i;
3
int main()
4

{
5
print(0xf,"neocs: loader\n\r");
6
7
print(0xf,"it's written by C!\n\r");
8
9
return 0;
10
11
}
extern void print( char color, char * text );2
int i;3
int main()4


{5
print(0xf,"neocs: loader\n\r");6

7
print(0xf,"it's written by C!\n\r");8

9
return 0;10

11
} 1
extrn _main:near
2
.model tiny
3
.code
4
5
public _halt, main, _print,
6
7
main proc near
8
mov dx,ax
9
mov ax,cs
10
mov ds,ax
11
mov es,ax
12
mov ss,ax
13
mov ax,0fff0h
14
mov sp,ax
15
mov ax,dx
16
call _main
17
call _halt
18
main endp
19
20
_halt proc near
21
hl:
22
hlt
23
jmp short hl
24
_halt endp
25
26
_print proc near
27
push bp
28
mov bp,sp
29
push si
30
mov si,word ptr ss:[bp+6]
31
mov bl,byte ptr ss:[bp+4]
32
_loop:
33
mov al,byte ptr ds:[si]
34
test al,al
35
jz _break
36
mov bh,0
37
mov ah,0eh
38
int 010h
39
inc si
40
jmp short _loop
41
42
_break:
43
pop si
44
mov sp,bp
45
pop bp
46
ret
47
_print endp
48
49
end main
50
extrn _main:near2
.model tiny3
.code4

5
public _halt, main, _print,6

7
main proc near8
mov dx,ax9
mov ax,cs10
mov ds,ax11
mov es,ax12
mov ss,ax13
mov ax,0fff0h14
mov sp,ax15
mov ax,dx16
call _main17
call _halt18
main endp19

20
_halt proc near 21
hl:22
hlt23
jmp short hl24
_halt endp25
26
_print proc near 27
push bp28
mov bp,sp29
push si30
mov si,word ptr ss:[bp+6]31
mov bl,byte ptr ss:[bp+4]32
_loop:33
mov al,byte ptr ds:[si]34
test al,al35
jz _break36
mov bh,037
mov ah,0eh38
int 010h39
inc si40
jmp short _loop41

42
_break:43
pop si44
mov sp,bp45
pop bp46
ret47
_print endp48

49
end main50

Click here to download


