Programación General > C/C++

 Re: AYUDA CON EL USO DE INTERRUPCIONES EN C

(1/2) > >>

fabet:
¡AYUDA POR FAVOR!

Necesito hacer un programa que me indique cuanta memoria total y cuanta memoria disponible se tiene.
Por lo cual yo estoy utilizando interrupciones  en específico la 12h del bios , pero no se cómo es su correcta sintaxis .
Hice un código que necesito saber si esta bien me podían ayudar revizandolo e indicandome en que esta mal  porfavor.
El código es el siguiente:

#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
main(void)
{
union REGS r;
r.h.ah=0;
r.h.al=1;
int86(0x12,&r,&r);
printf("El numero de kilobytes de RAM es %ld",&r);
getche(); }

Por favor , les agradecería su pronta respuesta, porque ya no tengo mucho tiempo. Si tuvieran unos ejemplos que me ilustren mejor , por favor me los pueden mostrar. Muchas gracias.
Les mando un saludote . Bye.
 
:good:

JuanK:
Estabas imprimiendo mal, no lo he probado porque ahorita estoy algo embolatado, me cuentas please.

 
--- Código: Text --- #include<dos.h>#include<stdio.h>#include<stdlib.h>main(void){union REGS r;r.h.ah=0;r.h.al=1; int86(0x12,&r,&r);printf("El numero de kilobytes de RAM es %d",r.eax);getche(); }  

juank

suerte

misterwilliam:
Amigo fabet, ya probé el siguiente código y me resultó mostrándome 640K de mi máquina.
__________________________________________________________________

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
void main()
{
union REGS r;
r.h.ah=0;
r.h.al=1;

int86(0x12,&r,&r);
printf("El numero de kilobytes de RAM es %d",r);
getche();

}

_________________________________
El error que dijo Juank es cierto, al imprimir, después del símbolo % debe ir d y no Id.
Un detalle es que después del mensaje debe ser r en vez de r.eax pues no se reconoce dentro de la estructura REGS y que omitió las librerías en el include (imagino que por el afán que comentó).
No sé mucho, tan sólo probé y resultó. Por favor cuéntenos como le fué.

Chao! :clown:

JuanK:
Si, la verdad tampoco trabajo mucho con las interrupciones, solo hace unos años cuando programaba en modo grafico bien por debajo, que me metia mucho con la famosa 13h.

lo de los include es un problema del foro , hablare con solocodigo pues nunca me sale .

suerte.

fabet:
Hola:
Gracias por la ayuda , si funciona como dijo misterwilliam pero , el resultado que obtuve fue de 640 K , sin embargo no sé si es correcto ya que se supone debe ser el mismo valor que el sistema da , porque mi maquina según es de 312Mb de RAM, ¿Qué opinan ustedes?
Existe algún error o no. ¿Cuál es el detalle?
:oops:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa