.MODEL small
.386 
.STACK 100h
.DATA
NacitanyRetazec DB 12 dup(?)
PostupnostCisel DW 1,2,3,4,5,6,7,8,9,10
PocetCisel EQU(($-PostupnostCisel)/2)
PomocnaPremenna DW 0
ANO DB 'ANO!$'
NIE DB 'NIE!$'
.CODE

Read proc 
pushad
	mov NacitanyRetazec, 10 
	
	mov ah, 0Ah
	mov dx, offset NacitanyRetazec
    int 21h ;nacita retazec
	
	mov ah,2
	mov dl, 0Ah
	int 21h
		   
	mov dl, 0Dh
	int 21h
	
	mov di, 2
	mov si, 1
	xor ax, ax
	xor dx, dx
	mov cx, 10

VypisZnak: mov dl, [NacitanyRetazec+di]
           inc di
		   cmp dl,0Dh
		   jz Minus
		   
		   cmp dl,2Dh
		   jz VypisZnak
		   
		   and dl,00001111b
		   movzx bx, dl
		   mul cx
		   add ax, bx
		   
		   jmp VypisZnak

Minus:
	cmp [NacitanyRetazec+2], 2Dh
	jnz EndReadProcedury
	neg ax
EndReadProcedury:
	mov PomocnaPremenna, ax
	popad
    mov ax, PomocnaPremenna
	ret
Read ENDP


Write proc 
	pushad

	xor dx, dx
	mov cx, 10
	mov bl, 0
	
	cmp ax, 0
	jnl Delenie
	push ax
	mov ah, 2
	mov dl,'-'
	int 21h
	pop ax
	xor dx, dx
	neg ax
	
Delenie: div cx
		push dx
		xor dx, dx
		inc bl
		cmp ax, 0
		jnz Delenie
		
	xor cx, cx	
	mov cl, bl
	
Vypiscisla:
	mov ah, 2
	pop dx
	or dl,110000b
	int 21h
	
	loop Vypiscisla
	
	popad
	ret
Write ENDP

Zac: mov ax, @data ;nacita retazec
	mov ds, ax 
	call Read
	
	
	mov cx, PocetCisel
	xor di, di
	
	mov dx, offset PostupnostCisel
	
	PrechodPrvkomNavestie:
	cmp ax, dx
	jz existuje
	mov dx, [offset PostupnostCisel+di]
	add di, 2
	dec cx
	cmp cx, 0

jnz PrechodPrvkomNavestie	
	
	mov dx, offset NIE
	mov ah, 9
	int 21h
	
	
existuje:	
	mov dx, offset ANO
	mov ah, 9
	int 21h
		
		   
Konec: 
	   mov ax, 4C00h
	   int 21h
END Zac