Ensamblador - Ensamblador: ¿Como imprimir una cadena caracter por caracter de manera inversa?.

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido 1 puesto en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

Ensamblador: ¿Como imprimir una cadena caracter por caracter de manera inversa?.

Publicado por 999D (2 intervenciones) el 09/04/2020 09:08:25
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
.model small
.stack 64
.data
    msg db "MENSAJE$"
.code
inicio:
    MOV AX,@data
    MOV DS,AX
 
    MOV AH, 09
    MOV DX, offset msg
    INT 21h
 
    MOV AH,02
    MOV DL,0AH
    INT 21H
 
    MOV AH,02
    MOV DL,0DH
    INT 21H
 
    ;MOV SI,0
 
    ciclo:
        MOV DL,msg[SI]
 
        CMP DL,24H
        JE fuera_ciclo
 
        MOV AH,02
        MOV DL,DL
        INT 21h
 
        MOV AH,02
        MOV DL,0AH
        INT 21H
 
        MOV AH,02
        MOV DL,0DH
        INT 21H
 
        INC SI
    JMP ciclo
    fuera_ciclo:
 
    MOV AH,4CH
    INT 21H
end inicio



//////////RESULTADO DEL PROGRAMA///////
M
E
N
S
A
J
E


///////Y ahora se necesita que el mensaje se imprima asi/////////
E
J
A
S
N
E
M
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

Ensamblador: ¿Como imprimir una cadena caracter por caracter de manera inversa?.

Publicado por Nacho (81 intervenciones) el 09/04/2020 12:47:53
Pues recorre el bucle al revés. Si ahora empiezas por la dirección de memoria msg y acabas donde está el $, que indica el final de la cadena en el ms-dos, incrementando si, empieza por el $, acaba en la dirección msg decrementando si.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido 1 puesto en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

Ensamblador: ¿Como imprimir una cadena caracter por caracter de manera inversa?.

Publicado por 999D (2 intervenciones) el 09/04/2020 13:26:32
Así es, muchas gracias.
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