elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Septiembre 2008, 03:44  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendriҳ, E0N)
| | |-+  Salto línea en asm
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Salto línea en asm  (Leído 227 veces)
skapunky
Electronik
Colaborador

Desconectado Desconectado

Mensajes: 1.145


www.killtrojan.es


Ver Perfil WWW
Salto línea en asm
« en: 13 Mayo 2008, 13:47 »

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  :huh:.

La questión es que no se hacer el salto de línea en asm, alguien sabe? Gracias de antemano.
En línea

Descarga Killtrojan Kit Reparación: aquí

Descarga Killtrojan USB Antivirus : aquí

Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.284


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: Salto línea en asm
« Respuesta #1 en: 13 Mayo 2008, 13:59 »

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

be closely tied to
(v.) = estar estrechamente ligado a
Ex: He had been wrapped up in a new project that was closely tied to the company's new growth.

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
dark_hat

Desconectado Desconectado

Mensajes: 133



Ver Perfil
Re: Salto línea en asm
« Respuesta #2 en: 13 Mayo 2008, 19:54 »

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 Desconectado

Mensajes: 1.284


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: Salto línea en asm
« Respuesta #3 en: 13 Mayo 2008, 20:15 »

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

be closely tied to
(v.) = estar estrechamente ligado a
Ex: He had been wrapped up in a new project that was closely tied to the company's new growth.

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
dark_hat

Desconectado Desconectado

Mensajes: 133



Ver Perfil
Re: Salto línea en asm
« Respuesta #4 en: 13 Mayo 2008, 20:19 »

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 Desconectado

Mensajes: 1.284


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: Salto línea en asm
« Respuesta #5 en: 13 Mayo 2008, 20:22 »

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

be closely tied to
(v.) = estar estrechamente ligado a
Ex: He had been wrapped up in a new project that was closely tied to the company's new growth.

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
skapunky
Electronik
Colaborador

Desconectado Desconectado

Mensajes: 1.145


www.killtrojan.es


Ver Perfil WWW
Re: Salto línea en asm
« Respuesta #6 en: 13 Mayo 2008, 20:41 »

Citar
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

Descarga Killtrojan Kit Reparación: aquí

Descarga Killtrojan USB Antivirus : aquí

Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC