dseg segment
freg dw 262, 294,330,349,392,440,494
times dw 7 dup(65535)
num db ?
num1 db 3
count db 7
mess db '*musci1.exe*','$'
dseg ends
stack segment para stack 'stack'
dw 100 dup(?)
stack ends
cseg segment
assume cs:cseg,ds:dseg,ss:stack
main proc far
start: push ds
sub ax,ax
push ax
mov ax,dseg
mov ds,ax
mov es,ax
mov al,1ch
mov ah,35h
int 21h
push es
push bx
push ds
mov dx,offset musc
mov ax,seg musc
mov ds,ax
mov al,1ch
mov ah,25h
int 21h
pop ds
in al,21h
and al,0feh
out 21h,al
sti
mov cl,0
mov byte ptr num,cl
lp1: mov cl,byte ptr num
mov al,cl
inc al
cmp al,1bh
jnz lp2
mov al,1
lp2: mov cl,al
mov byte ptr num,cl
add al,40h
mov dl,al
mov ah,2