• Domingo 22 de Diciembre de 2024, 15:43

Autor Tema:  Funciones Varias.  (Leído 1331 veces)

jaumegs

  • Miembro MUY activo
  • ***
  • Mensajes: 110
    • Ver Perfil
Funciones Varias.
« en: Miércoles 30 de Noviembre de 2005, 01:17 »
0
Bueno, voy a pedir unas cuantas cosas...

Como podria hacer una instruccion que borra la pantalla(sin usar las interrupciones del DOS y al ser posible las de la BIOS)?
bueno... una forma seria:

Código: Text
  1.  
  2.  
  3. mov si,cadena
  4. call ponecadena
  5.  
  6. ponecaracter:
  7.   push ax  &#59; Guardamos AX
  8.    
  9.   mov ah,0eh&#59; Funcion putChar de la Bios
  10.   int 10h  &#59; Interrupcion de video
  11.  
  12.   pop ax  &#59; Recuperamos AX
  13.   ret
  14.  
  15. ponecadena:
  16.   push ax  &#59; Se ponen en la pila los valores que modificamos
  17.   push si
  18.  
  19. loop:
  20.   mov al,[si]                 &#59; Se carga el caracter
  21.   cmp al,0                 &#59; Nos fijamos si es el terminador
  22.   jz fin  &#59; Si es el terminador se termina
  23.   call ponecaracter&#59; sino, se pone el caracter
  24.   inc si  &#59; Se incrementa SI
  25.   jmp loop  &#59; Continuamos con el siguiente caracter
  26.  
  27. fin:
  28.   pop si  &#59; Se recuperan los valores
  29.   pop ax
  30.  
  31.   ret
  32.  
  33. cadena times 25 db 10(25 veces intro)
  34.  
  35.  
  36.  
  37.  
pero... no va muy bien que se pueda decir... Que otros modos mas efectivos hay?

Aqui van un par de funciones que no logro sacar(son funciones de la libreria conio.h del borland, para C/C++):

gotoxy
textbackwroundcolor
textcolor
wherwisx
whereisy
clrscr(ya la he pedido en el principio)

Bueno, respondan a las que quiera y puedan, les estare muy agradecido. Yo lo estoy intentando, y supongo que acabare sacandolo. Pero agradeceria ayuda. Al ser posible sin usar las interrupciones del DOS, y lo menos posible las de la BIOS.

MUCHAS GRACIAS

SALUDOS :smartass:

jaumegs

  • Miembro MUY activo
  • ***
  • Mensajes: 110
    • Ver Perfil
Re: Funciones Varias.
« Respuesta #1 en: Miércoles 30 de Noviembre de 2005, 22:32 »
0
Bueno, para crear una función que borra la pantalla(sin SO), he leido que si voy a:
B800:0000 y voy restableciendo los bytes a cero... hasta llegar a B800:( 80 x 25 x 2 ), se borra la pantalla.

Cono quedaria un código con esto?

(esque a esta parte de direccionamiento... aun no llega mi mente, i un ejemplo caido de los cielos... :smartass: )

SALUDOS :D