Ensamblador - Problema con un ciclo y una funcion

   
Vista:

Problema con un ciclo y una funcion

Publicado por Jennnifer (3 intervenciones) el 05/06/2016 14:59:30
Hola, buenos dias.

Se que sera dificil que me lean con tantos temas abiertos, pero bueno, al menos lo voy a intentar.

Estoy haciendo un programa en ensamblador para simular el juego de memoria o pares; ese donde volteas dos cartas y si son iguales ganas un punto y si no, vuelven a quedar ocultas. El punto es, que estoy tratando de llenar las posiciones con numeros al azar (llamando a la funcion 2CH de int 21H) Si solo llamo a la funcion genera el numero, pero si lo introduzco en un loop, el ciclo se vuelve infinito y no entiendo que estoy haciendo mal.

Colocare esa parte del codigo y si alguien me puede ayudar se lo agradeceria muchisimo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
GENERARNUMEROS PROC NEAR
 
		mov ah, 2Ch
		int 21h
		mov al, dl
		aam
		add al, '0'
 
		ret
	GENERARNUMEROS ENDP
 
	LLENARMATRIZ PROC NEAR
		mov si, 00
		mov cx,  64
 
		ciclo3:
 
			call generarnumeros
			mov tableropos[si], al ; el tableropos es un vector de 64 posiciones inicializados en 0
			mov ah, 0Eh
			int 10h
 
			mov ah, 0Eh
			mov al, espacio
			int 10h
 
			inc si
		loop ciclo3
		ret
 
	LLENARMATRIZ ENDP
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con un ciclo y una funcion

Publicado por Yamil (1 intervención) el 05/06/2016 15:55:38
Estas usando el registro SI como contador, no ? En ninguna parte en el loop haces el correspondiente CMP con el valor que termina el loop.
Pudiera ser alg como :

INC SI
MOV AX, SI
CMP <valor_maximo>
JNE ciclo3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con un ciclo y una funcion

Publicado por Jennnifer (3 intervenciones) el 05/06/2016 19:08:59
Gracias. Voy a probarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar