Páginas: [1]
|
 |
|
Autor
|
Tema: Salto línea en asm (Leído 264 veces)
|
skapunky
Electronik
Colaborador
Conectado
Mensajes: 1.228
www.killtrojan.es
|
Haber, tengo un problemilla, seguro que es de facil solución pero no lo consigo, se trata de un programa en ensamblador compilado con fasm. En el programa, salen dos frases, declaradas mediante la directiva db y llamadas desde la INT 10h con un lodsb para ir cargando caracter a caracter y me va perfecto, lo que pasa es que me salen las dos frases seguidas  . La questión es que no se hacer el salto de línea en asm, alguien sabe? Gracias de antemano.
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Tenes que usar CrLf. Lo que en C\C++ es \r\n son dos bytes cuyos valores son 13 y 10 (0Dh y 0Ah).
|
|
|
|
|
En línea
|
|
|
|
dark_hat
Desconectado
Mensajes: 136
|
Supongo que si usas la INT 10h es xq estas haciendo un bootloader. Para hacer un salto de línea no hay ningún carácter que lo haga con la INT 10h, lo que debes hacer es hallar la fíla donde está el cursor, y luego cambiar a la fila siguiente y columna 0. http://www.ueb.edu.ec/asm/archivos/ASSEMBIOS.pdf
|
|
|
|
|
En línea
|
Eso que huele es un poco de incienso, eso marrón una tableta de turrón...
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Tal como el lo esta haciendo con teletype output funciona perfectamente lo que comente: sk_INFO db 'Sistema operativo SkaOs, Albert Lopez Buil (c)' ,13,10, 'Segunda linea', 0
|
|
|
|
|
En línea
|
|
|
|
dark_hat
Desconectado
Mensajes: 136
|
Yo esq prové eso y me saltaba de línea con el carácter de salto pero no se me ponía en el principio de la línea, vamos que si estaba el cursor en fila 2 columna 14 y imprimía el salto de línea se me ponía en fila 3 columna 14, en lugar de columna 0, tal vez dependa eso del hardware.
|
|
|
|
|
En línea
|
Eso que huele es un poco de incienso, eso marrón una tableta de turrón...
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.345
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Puede ser que no funcione en determinados casos pero yo acabo de probar el codigo de skapunky modificado como comente en VirtualPC y funciona perfectamente. Deberia hacerlo segun la logica:
Desc: Display a character on the screen, advancing the cursor and scrolling the screen as necessary.
|
|
|
|
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Conectado
Mensajes: 1.228
www.killtrojan.es
|
Supongo que si usas la INT 10h es xq estas haciendo un bootloader. Para hacer un salto de línea no hay ningún carácter que lo haga con la INT 10h, lo que debes hacer es hallar la fíla donde está el cursor, y luego cambiar a la fila siguiente y columna 0. Lo pensé jejej lo que me tenia de ir a la universidad y no e podido acabar de comprobarlo...manejando el acumulador.. De hecho el bootloader ya esta acabado, eso lo queria de cara al kernel y ya por saberlo...ya que seguro que en un momento o otro lo tenia de utilizar...Entonces creo que probare cambiando la fila... aunque creo que eso se hace si AH = 09h de la int10, sinó funciona así ya probare las otras alternativas.
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|