torbecire 2 Light Poster

I am having a problem with nested loops. When I run the program it gives me the first 16 results want then it prints out more values than I require. I want it to print out 16 values then stop. I also do not know how to change the foreground color(Any hints).

include irvine32.inc

.data

colors byte 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15


.code


main PROC

mov ecx, 16 
mov esi, offset colors
;mov ebx, offset points
mov eax, 0

Outer:

	  mov eax, 0
	  mov al, [esi]

	  call settextcolor
	  mov al, '#'

	  call Writechar
	  inc esi

mov ecx, 1

Inner:

mov eax, 1

call Writeint

loop Inner

pop ecx

	  loop Outer
	  	
		exit
main ENDP
END main