		org 100h

	start:				
; wczytaj
;	mov	ah, 1
;	int	21h

xor	ax, ax	
mov	al, 5

; warunki poczatkowe
xor	bx, bx
mov	bl, al
mov	cx, 0
mov	ax, 1

petla:
	; wypisz "x! = "
	mov	ax, cx
	add	ax, 48
	mov	dl, al
	mov	ah, 2
	int	21h

	; wypisz tekst
	mov	ah, 9
	mov	dx, label
	int	21h

	; wypisz wartosc silni
	mov	ah, 2
	mov	dl, [val]
	int	21h

	; sprawdz warunek
	cmp	cx, bx
	je	koniec
	
	; przejdz do nowej lini
	mov	ah, 9
	mov	dx, enter1
	int	21h

	; zwieksz liczniki oblicz nowa silnie
	inc	cx
	mov	al, cl
	mov	ah, [val]
	mul	ah
	mov	[val], al
	jmp	petla

koniec:
	mov	ax, 4C00h
	int	21h

label	db	"! = $"
enter1	db	10,13,36
val	db	1