[bits 16]
[org 0]


start:

	mov ax,cs
	mov ds,ax
	mov es,ax


	
	mov ah,03
	mov bh,0
	int 10h
	
	push msg
	call print
	add sp,2
	
	jmp 0x1000:0

print:
        push bp
        mov bp,sp
        mov si,[bp+4]
        again:
        mov al,[si]
        mov ah,0eh
        int 10h
        inc si
        mov al,[si]
        cmp al,0
        je endit
        jmp again
        endit:
        mov sp,bp
        pop bp
        ret


msg db "echo - reads a user input and echoes it back to screen",10,13,"reg - dumps registers",10,13,"vidmem - demonstrates writing to Video Memory",10,13,"exit - reboot",10,13,"about - general info",13,10,"cls - clear the screen",13,10,"dir - list files",13,10,"type - output a file to the screen",13,10,"copycon - enter a text file into the system",13,10,"hello - hello world program",13,10,"shutdown - sutdown the computer",13,10,0
