[C con Clase] Resumen de Cconclase, Vol 47, Envío 24

Samuel Díaz García samueldg en arcoscom.com
Mie Abr 21 11:02:48 CEST 2010


Creo que no has escrito correctamente la instrucción.

outportb se usa para envío directo a E/S y debe de recibir 2 parámetros:
    1) Dirección de E/S a la cuál escribir.
    2) Byte que se quiere escribir en dicha dirección.

Y estará en dos.h, porque dicho sistema operativo abría toda la E/S a 
todos los programas al tratarse de un S.O. sin privilegios ni nada.

Por lo cuál, si no se toman las medidas adecuadas, dicha instrucción mal 
usada puede desencadenar en problemas en el software que la ejecute.

Salu2

juan pavon escribió:
> alguien sabe que se hace exactamente con esta instrucción
> 
> (outportb (0x2FD)&0x01)
> 
> esto es utilizando la libreria dos.h
> 
> El 20 de abril de 2010 05:00, <cconclase-request en listas.conclase.net 
> <mailto:cconclase-request en listas.conclase.net>> escribió:
> 
>     Envíe los mensajes para la lista Cconclase a
>            cconclase en listas.conclase.net
>     <mailto:cconclase en listas.conclase.net>
> 
>     Para subscribirse o anular su subscripción a través de la WEB
>          
>      http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> 
> 
>     O por correo electrónico, enviando un mensaje con el texto "help" en
>     el asunto (subject) o en el cuerpo a:
>            cconclase-request en listas.conclase.net
>     <mailto:cconclase-request en listas.conclase.net>
> 
>     Puede contactar con el responsable de la lista escribiendo a:
>            cconclase-owner en listas.conclase.net
>     <mailto:cconclase-owner en listas.conclase.net>
> 
>     Si responde a algún contenido de este mensaje, por favor, edite la
>     linea del asunto (subject) para que el texto sea mas especifico que:
>     "Re: Contents of Cconclase digest...". Además, por favor, incluya en
>     la respuesta sólo aquellas partes del mensaje a las que está
>     respondiendo.
> 
> 
>     Asuntos del día:
> 
>       1. Re: Como eliminar un nodo de una lista (Jose Cabrera)
> 
> 
>     ----------------------------------------------------------------------
> 
>     Message: 1
>     Date: Tue, 20 Apr 2010 07:42:03 +0200
>     From: Jose Cabrera <josmaca en gmail.com <mailto:josmaca en gmail.com>>
>     To: "Lista de correo sobre C y C++" <cconclase en listas.conclase.net
>     <mailto:cconclase en listas.conclase.net>>
>     Subject: Re: [C con Clase] Como eliminar un nodo de una lista
>     Message-ID:
>          
>      <u2w3acb87b11004192242hb1deae0aya4459a4b40537b72 en mail.gmail.com
>     <mailto:u2w3acb87b11004192242hb1deae0aya4459a4b40537b72 en mail.gmail.com>>
>     Content-Type: text/plain; charset="iso-8859-1"
> 
>     Necesitas crear dos punteros, uno apuntando al que quieres borrar y
>     otro al
>     anterior a este, primero lees el sig del que vas a borrar y
>     modificas el sig
>     del anterior al que vas a borrar con el que has leído, de esta forma
>     el que
>     borras esta fuera de la lista y ya puedes borrarlo.
> 
> 
>     El 20 de abril de 2010 00:43, Cristian David Villota Jacome <
>     cristian.vj23 en hotmail.com <mailto:cristian.vj23 en hotmail.com>> escribió:
> 
>      >  Hola Amigos:
>      >
>      > Estoy programando una estructura de datos, bueno una lista con
>     nodos que
>      > solicitan nombre y telefono; bueno he podido agregar nodos y
>     mostrar en
>      > pantalla los que tengo pero no puedo eliminar un nodo, si alguien
>     me puede
>      > ayuar con el algoritmo para hacerlo lo agradezco de antemano.
>      >
>      >
>      > #include<stdio.h>
>      > #include<conio.h>
>      > #include<stdlib.h>
>      >
>      >
>      > struct agenda
>      > {
>      >  char nom[20];
>      >  char tel[12];
>      >  struct agenda*sig;
>      > };
>      >
>      >
>      >
>      > struct agenda*primero,*ultimo;
>      >
>      >
>      >
>      >
>      > void mostrar_menu()
>      > {
>      >  printf("\n\n\t\tMENé");
>      >  printf("\n\n\t1.A¤adir Elemento");
>      >  printf("\n\t2.Borrar Elemento");
>      >  printf("\n\t3.Mostrar Lista");
>      >  printf("\n\t4.Salir");
>      >
>      >  printf("\n\n\n\tElige una opci¢n: ");
>      >  fflush(stdout);
>      > }
>      >
>      >
>      >
>      > void anadir_elemento()
>      > {
>      >  struct agenda*nuevo;
>      >  nuevo=(struct agenda*)malloc(sizeof(struct agenda));
>      >
>      >  if(nuevo==NULL)
>      >   {
>      >    printf("NO HAY MEMORIA DISPONIBLE");
>      >   }
>      >
>      >  printf("\nNuevo Elemento\n");
>      >
>      >
>      >  printf("Nombre: ");
>      >  fflush(stdout);
>      >  gets(nuevo->nom);
>      >
>      >  printf("\nTelefono: ");
>      >  fflush(stdout);
>      >  gets(nuevo->tel);
>      >
>      >  nuevo->sig=NULL;
>      >
>      >  if(primero==NULL)
>      >  {
>      >   printf("\nPrimer Elemento\n");
>      >   primero=nuevo;
>      >   ultimo=nuevo;
>      >  }
>      >  else
>      >  {
>      >   ultimo->sig=nuevo;
>      >   ultimo=nuevo;
>      >  }
>      >  getch();
>      >  clrscr();
>      > }
>      >
>      >
>      >
>      >
>      >
>      > ///////////////////////
>      >
>      >
>      >
>      >
>      >
>      > void mostrar_lista()
>      > {
>      >  struct agenda*auxiliar;
>      >  int i;
>      >  i=0;
>      >  auxiliar=primero;
>      >  printf("\n\nMostrando lista completa\n");
>      >
>      >  while(auxiliar!=NULL)
>      >  {
>      >   printf("Nombre: %s,    Telefono:
>     %s\n",auxiliar->nom,auxiliar->tel);
>      >   auxiliar=auxiliar->sig;
>      >   i++;
>      >  }
>      >   if(i==0)
>      >   {
>      >    printf("\n\nLista vacia\n");
>      >   }
>      >   getch();
>      >   clrscr();
>      > }
>      >
>      >
>      >
>      >
>      >
>      > void main()
>      > {
>      >  clrscr();
>      >  char op;
>      >
>      >  primero=(struct agenda*)NULL;
>      >  ultimo=(struct agenda*)NULL;
>      >
>      >  do{mostrar_menu();op=getch();
>      >
>      >  switch(op)
>      >   {
>      >    case '1': anadir_elemento();
>      >    break;
>      >
>      >    case '2': printf("\n No disponible....\n");
>      >    break;
>      >
>      >    case '3': mostrar_lista();
>      >    break;
>      >
>      >    case '4': exit(1);
>      >
>      >    default: printf("opcion no valida\n");
>      >    break;
>      >   }
>      >  }while(op!='4');
>      >
>      >
>      >  getch();
>      > }
>      >
>      >
>      >
>      >
>      > ------------------------------
>      > Get news, entertainment and everything you care about at
>     Live.com. Check
>      > it out! <http://www.live.com/getstarted.aspx>
>      >
>      > _______________________________________________
>      > Lista de correo Cconclase Cconclase en listas.conclase.net
>     <mailto:Cconclase en listas.conclase.net>
>      >
>     http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>      > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>     <http://listas.conclase.net/index.php?gid=2&mnu=FAQ>
>      >
>     ------------ próxima parte ------------
>     Se ha borrado un adjunto en formato HTML...
>     URL:
>     <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100420/c6644508/attachment-0001.html>
> 
>     ------------------------------
> 
>     _______________________________________________
>     Cconclase mailing list
>     Cconclase en listas.conclase.net <mailto:Cconclase en listas.conclase.net>
>     http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> 
> 
>     Fin de Resumen de Cconclase, Vol 47, Envío 24
>     *********************************************
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

-- 
    Samuel Díaz García
     Director Gerente
ArcosCom Wireless, S.L.U.

CIF: B11828068
c/ Romero Gago, 19
Arcos de la Frontera
11630 - Cadiz

http://www.arcoscom.com

mailto:samueldg en arcoscom.es
msn: samueldg en arcoscom.com

Móvil: 651 93 72 48
Tlfn.: 956 70 13 15
Fax:   956 70 34 83




Más información sobre la lista de distribución Cconclase