.MODEL small
.STACK 100h
.DATA
	Retazec DB 9 dup(?)
	Veta DB 'A KOBYLE NMA DVE VRECIA.'
	PocetE DW 0
	PocetA DW 0
	
	Ano DB 'Ano$'
	Nie DB 'Nie$'
	Rovnako DB 'Rovnako$'
	TextNacit DB 'Hladaj cislo z pola: $'
	TextZaciatok DB 'Zadaj cisla do pola: $'
.CODE

Read PROC
	
			push di
			push dx
			push cx
			push bx
	

	mov dx,offset Retazec; nacitanie retazca
	mov Retazec,7;max=9-2
	mov ah,0Ah;vlozenie sluzby
	int 21h;zavolanie sluzby
	mov ah,2;vlozenie sluzby
	mov dl, 0Ah;riadok dolu
	int 21h
	mov ax,0;nastvim docasny vysledok
	mov cx,10;nastavym cim budem nasobit
	mov di,2
	
	mov dl,[Retazec+2]
	cmp dl,2Dh
	jnz Konverzia
	inc di;ak je zaporne tak musim brat o cislo dalej preto inc di
Konverzia: mov dl,[Retazec+di]
			cmp dl,0Dh
			jz CiJeZaporne
			mov bl,dl;vlozim znak
			mul cx;vynasobim docasny vysledko 10
			and bl,00001111b; konvertujem bl na cislo
			mov bh,0;snulujem horny register a dostanem typ word
			add ax,bx;scitam docasny vysledko s cislom v bx
			inc di
			jmp Konverzia
CiJeZaporne:mov dl,[Retazec+2]
			cmp dl,2Dh
			jnz KoniecProcRead
			neg ax
KoniecProcRead: 
			pop bx ;vyberam registre do programu
			pop cx
			pop dx
			pop di
			
			ret
Read ENDP


Write PROC
		push si ; 
		push ax
		push bx
		push dx
		push cx

		mov si,0
		cmp ax,0
		mov cx,10
		jnl KonverziaNaDesiatkove

negacia:
		mov bx,ax
		mov ah,2
		mov dl,'-'
		int 21h
		mov ax,bx
		neg ax
			
KonverziaNaDesiatkove:
		mov dx,0
		div cx
		cmp ax,0
		jz Vypis
		push dx
		inc si
		jmp KonverziaNaDesiatkove

Vypis:	
		mov ah,2
		or dl,110000b
		int 21h
		cmp si,0
		jz KoniecProcWrite
		pop dx
		dec si
		jmp Vypis
KoniecProcWrite: 
		
		pop cx
		pop dx
		pop bx
		pop ax
		pop si
		
		ret
Write ENDP
Zac:
	mov ax,@data
	mov ds,ax
	mov di,0
	mov si,0
	
CitajVetu:
	mov dl,[Veta+di]
	cmp dl,2Eh
	je Koniec1
	cmp dl,41h
	je PripocitajA
	cmp dl,45h
	je PripocitajE
	inc di
	jmp CitajVetu
PripocitajA:
	inc PocetA
	inc di
	jmp CitajVetu
PripocitajE:
	inc PocetE
	inc di
	jmp CitajVetu
Koniec1:
	mov bx,0
	mov ax,0
	mov bx,PocetA
	mov ax,PocetE
	
	cmp bx,ax
	
	ja Ano1
	
	jl Nie1
	je Rovnako1
Ano1:
	mov ah,9
	mov dx, offset Ano
	int 21h
	jmp Koniec
Nie1:
	mov ah,9
	mov dx, offset Nie
	int 21h
	jmp Koniec
Rovnako1:
	mov ah,9
	mov dx, offset Rovnako
	int 21h
	jmp Koniec
	
Koniec:mov ax,4C00h
		int 21h
END Zac