Bucle
Publicado por sabino (9 intervenciones) el 14/04/2015 17:52:39
Buenas,
Alguien podría decirme por qué el código tal y como está funciona bien pero, si sustituyo el bucle (lo que está entre
los guiones) por lo que está dentro del COMMENT* no funciona y sale del programa? Contretamente en la última línea.
Gracias.
Alguien podría decirme por qué el código tal y como está funciona bien pero, si sustituyo el bucle (lo que está entre
los guiones) por lo que está dentro del COMMENT* no funciona y sale del programa? Contretamente en la última línea.
Gracias.
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
mov ecx,edi ;EDI =final de la cadena de enteros invertida
sub ecx,offset Intbuf3 ;Resto el offset del principio de la cadena (RESULTADO) para la longitud
inc ecx ;ECX =Longitud
mov TextLong3,ecx ;VARIABLE. Guardo la longitud
mov esi,edi ;ESI =principio de cadena a invertir
MOV edi,RResultado ;EDI =offset donde se guardará
xor eax,eax
M3:
COMMENT *
mov al,[esi]
dec esi
or al,30h
mov [edi],al
inc edi
cmp esi,offset Intbuf3 ;Intbuf3 =final, es decir, principio de cadena invertida
jnb M3
* COMMENT
;-----------------------------------------------------------------
std
lodsb
or al,30H ;convierte en ascii
cld
stosb
loop M3
;-----------------------------------------------------------------
invoke MessageBox,NULL,ADDR RESULTADO,ADDR AppName,MB_OK ;RESULTADO es la dirección de la cadena de salida
Valora esta pregunta
0