
como hacer contador infinito en masm ?
Publicado por jorge (2 intervenciones) el 21/11/2015 01:12:00
Buenas días, tardes o noches, el problemas que tengo es que mi contador ejemplo del 1 al 20 no imprime en la misma posición, sino que se desplaza, 123456789101112 etc.. cuando en la posición 1 debería mostrar todos los numeros.
soy nuevo en esto el profesor dijo que son pocas lineas de código pero no le creo :(
su contador del profesor mostraba en pantalla como avanzaba su conteo :
000000000000000000000000000000000000000000000000000000001
donde esta el 1 empezó a contar y por eso dice que es infinito porque mientas mas avance a la izquierda mas tiempo se lleva en cambiar el valor.
00000000000000000000000000000000000000000000000000056989
solo quiero saber como hacer lo mismo pero con dos dígitos :
soy nuevo en esto el profesor dijo que son pocas lineas de código pero no le creo :(
su contador del profesor mostraba en pantalla como avanzaba su conteo :
000000000000000000000000000000000000000000000000000000001
donde esta el 1 empezó a contar y por eso dice que es infinito porque mientas mas avance a la izquierda mas tiempo se lleva en cambiar el valor.
00000000000000000000000000000000000000000000000000056989
solo quiero saber como hacer lo mismo pero con dos dígitos :
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
00 ;comienzo
20 ;fin
este es mi codigo:
PAGE 40,132
TITLE CONTADOR
STACK SEGMENT PARA STACK 'STACK'
DB 128 DUP("PILA")
STACK ENDS
DATA SEGMENT PARA PUBLIC 'DATA'
VALOR DW 30H ,0D,"$"
VALOR1 DB 30H,0d,"$"
SALTO DB 0AH,0DH,"$"
DATA ENDS
CODIGO SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODIGO , SS:STACK, DS:DATA
CONTADOR PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,SEG DATA
MOV DS,AX
MOV AH,00H ;LIMPIAR PANTALLA
MOV AL,03H
INT 10H
MOV BH,30H
MOV BL,30H
MOV SI,0
CICLO1:
ADD BL,1
MOV VALOR1[SI],BL
MOV CL,VALOR1[SI]
XCHG CH,CL
MOV VALOR1[SI],CL
MOV AH,09H
LEA DX,VALOR1
INT 21H
CMP BL,39H
JE ACARREO
JMP CICLO1
ACARREO:
MOV SI,0
ADD BH,1
MOV VALOR[SI],BX
MOV CX,VALOR[SI]
XCHG CH,CL
MOV VALOR[SI],CX
MOV AH,09H
MOV DX,OFFSET VALOR
INT 21H
CMP BH,31H
JE SALIR
JMP CICLO1
SALIR:
ret
CONTADOR ENDP
CODIGO ENDS
END
Valora esta pregunta


0