Qué tal gente? Estaba INTENTANDO hacer un programa que muestre "hola mundo", y en la línea siguiente que muestre "presione una tecla para continuar", y espere que se ingrese una tecla. Inicialmente había hecho esto
org 100h
use16
MOV AH,9
MOV DX,Texto
INT 21h ;Muestro "Hola mundo!"
MOV DX,Pausa
INT 21H ;Muestro "Presione una tecla para continuar"
MOV AH,1 ;Espero el ingreso de una tecla
INT 21H
INT 20h
Texto db 'Hola mundo!', 24h
Pausa db 'Presione una tecla para continuar.', 24h
Ahora, el mensaje "Presione una tecla para continuar" me aparece pegado al texto. La idea era que me quedara en la línea de abajo. Así que conté la cantidad de carácteresde "Hola mundo!", y la reste a la cantidad de columnas. Me dió 74, así que quise poner 74 espacios después del "Hola mundo!" asi el mensaje de pausa aparecía en la línea de abajo, intenté:
org 100h
use16
MOV DX,Texto
MOV AH,9
INT 21H
JMP Espacios
Espacios:
MOV DX,Espacio
MOV CX,4A
INT 21h
DEC CX
LOOP Espacios
JMP Pausa
Pausa:
MOV AH,1
INT 21h
INT 20h
O sea, la idea es que inicie CX en 74, y vaya decrementando, y por cada ciclo, agregue un espacio. Al llegar a los 74, saltaría a la segunda línea y mostraría eso :P
(SI, soy un asco para esto)
La cosa es que tampoco me funciona así. Me estoy guiando por manuales viejos les aviso n.n
Y también vi algo de "salto de línea" que tenía que ponerle 0D 0A al final del texto del que saltaría a la otra línea, y me tira sintáxis inválida :(
Si alguien me puede decir como hacer funcionar eso, lo agradecería u.u
http://en.wikipedia.org/wiki/CRLF (http://en.wikipedia.org/wiki/CRLF)
Puedes hacer algo así:
micad db '¡Cadena!', 13, 10, 0
org 100h
MOV AH,9
MOV DX,Texto
INT 21h ;Muestro "Hola mundo!"
MOV AH,1 ;Espero el ingreso de una tecla
INT 21H
INT 20h
Texto db 'Hola mundo!',10,13,'Presione una tecla para continuar.',24h
Ah, genial esa solución. Aunque la implementé de esta forma:
[...]
Texto db 'Hola xD', 0Dh, 0Ah, 24h
Pausa db 'Presione una tecla para continuar', 24h
[...]
Muchísimas gracias, ahora entendí mejor el por qué del 0Dh y 0Ah jeje...
Gracias n.n
Es lo mismo que hemos hecho Drinky94 y yo, pero tú escribiste los valores en hexadecimal.
ÇEs que me refería a que yo había usado dos cadenas de texto, no una :P