Assume	CS:Code 		   	; dyrektywa


code	segment				; tworzenie segmentu kodu
start:	jmp start1
	
komunikat1 db 'Brak myszy', 0dh,0ah,'$'

start1:	
	mov	ax, 0000h 		; sprawdz czy jest ster myszy
	int 	33h			; odczyt stanu
	jz 	fin			; brak myszy	


	mov dx,	0b800h			; adres pocz pamieci karty
	mov es,dx			; przepis adresu do rej. segm ES

	mov di,0			; ustawienie 0
	; xor di,di
	mov cx,2000			; ile razy petla kasow ekr ma sie wykon

petla:					; kasow ekranu
	mov byte ptr es:[di],' '	; litera w pamieci ekranu
	inc di				; di=di+1
	inc di				; di=di+1 ; inkrem o 2
	loop petla			; loop dziala na CX


	mov 	ax,0001h		; 
	int 33h				; wyswietl kursora
	mov dx,	0b800h			; adres pocz pamieci karty

Rysuj:
	mov	ax, 0003h		; inform o wspolrz kurs
	int 	33h			; i stanie przyc	
	test	bx,1			; czy klawisz lewy
	jz 	Nie_stawiaj_pktu	; jesli 0 czyli nie nacisniety
	push bx			; zachowaj BX

	mov ax,dx			; Y
	mov bx, 20			
	mul bx				; Y*20 - wynik w AX
	shr cx,1			; przelicz cx=cx div 2
	shr cx,1			; przelicz cx=cx div 2
					; w CX jest X/4
	add ax,cx			; Y+X/4
	mov di,	ax			; offset 
	
	mov 	ax,0002h		; 
	int 33h				; schowanie kursora myszy

	mov byte ptr es:[di],'A'	; litera w pamieci ekranu
					; przesylanie bajtu
					; slowo - word

	mov 	ax,0001h		; 
	int 33h				; wyswietl kursora


					; wyswietla sie,
					; znika po przesun myszy
	; jmp Rysuj			; gdy brak push i pop
	pop bx				; odtworz BX

Nie_stawiaj_pktu:			; klawisz prawy
	test bx,2			; 10=2
	jnz koniec			; gdy nacisniety prawy
	jmp Rysuj			; powrotdo rysow gdy nie nacisniety

Koniec:
	mov ax,4c01h
	int 21h				; zakonczy program

Fin:   	mov dx, offset komunikat1
        mov ah,09h  ; wypis komun
	int 21h	    ; -"-	
	mov ax,4c01h ; koniec progr
	int 21h

code ends				; konczy segment kodu

stack_ segment stack 'stack'		; defin. stosu - sposob laczenia
	db	299h dup (?)		; rezerwacja pamieci 
stack_ ends
end start				; konczy program zrodl, podaje skad 
					; ma sie zaczynac wykonaie programu

