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

 {
{
 5 print(0xf,"neocs: loader\n\r");
    print(0xf,"neocs: loader\n\r");
 6
 7 print(0xf,"it's written by C!\n\r");
    print(0xf,"it's written by C!\n\r");
 8
 9 return 0;
    return 0;
10
11 }
} 
 1 extrn _main:near
extrn _main:near
 2 .model tiny
.model tiny
 3 .code
.code
 4
 5 public _halt, main, _print,
public _halt, main, _print,
 6
 7 main    proc near
main    proc near
 8 mov dx,ax
    mov dx,ax
 9 mov ax,cs
    mov ax,cs
10 mov ds,ax
    mov ds,ax
11 mov es,ax
    mov es,ax
12 mov ss,ax
    mov ss,ax
13 mov ax,0fff0h
    mov ax,0fff0h
14 mov sp,ax
    mov sp,ax
15 mov ax,dx
    mov ax,dx
16 call _main
    call _main
17 call _halt
    call _halt
18 main    endp
main    endp
19
20 _halt    proc near
_halt    proc near 
21 hl:
hl:
22 hlt
    hlt
23 jmp short hl
    jmp short hl
24 _halt    endp
_halt    endp
25 
    
26 _print    proc near
_print    proc near 
27 push bp
    push bp
28 mov bp,sp
    mov bp,sp
29 push si
    push si
30 mov si,word ptr ss:[bp+6]
    mov si,word ptr ss:[bp+6]
31 mov bl,byte ptr ss:[bp+4]
    mov bl,byte ptr ss:[bp+4]
32 _loop:
_loop:
33 mov al,byte ptr ds:[si]
    mov al,byte ptr ds:[si]
34 test al,al
    test al,al
35 jz _break
    jz _break
36 mov bh,0
    mov bh,0
37 mov ah,0eh
    mov ah,0eh
38 int 010h
    int 010h
39 inc si
    inc si
40 jmp short _loop
    jmp short _loop
41
42 _break:
_break:
43 pop si
    pop si
44 mov sp,bp
    mov sp,bp
45 pop bp
    pop bp
46 ret
    ret
47 _print    endp
_print    endp
48
49 end main
end main
50
 
 Click here to download
 Click here to download
	posted on 2007-05-20 00:26 
shaker(太子) 阅读(1661) 
评论(23)  编辑 收藏 引用  所属分类: 
C++