• Viernes 3 de Mayo de 2024, 00:40

Autor Tema:  Interrupciones  (Leído 2793 veces)

Mig-el

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Interrupciones
« en: Jueves 9 de Diciembre de 2004, 15:06 »
0
Tengo que hacer un programa utilizando interrupciones pero el C++ Builder no me reconoce la union REGS ni la funcion int86. Segui al pie de la letra las instrucciones de mi profesor pero no funciona, se que en algo estoy mal. Que archivo de cabecera debo agregar? o que me falta hacer? Por favor es urgente.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Interrupciones
« Respuesta #1 en: Viernes 10 de Diciembre de 2004, 19:56 »
0
Hola, una consulta, estas sobre WindowsXP??.. si es asi, creo que no te dejara ni manejar el mouse por interrupciones.. a mi no me deja manejar el puerto :( ... Saludos!  :suerte:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Mig-el

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Interrupciones
« Respuesta #2 en: Viernes 10 de Diciembre de 2004, 20:06 »
0
Si, estoy usando XP. entonces que puedo hacer para solucionar el problema? no hay forma de que funcione con XP? tengo que usar otra plataforma?

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Interrupciones
« Respuesta #3 en: Viernes 10 de Diciembre de 2004, 22:13 »
0
En XP el uso de interrupciones esta reestringido, es parte de la proteccion del OS... lo que podes hacer es crear lo que necesitas sin usar interrupciones... usando las apis.. si necesitas crear si o si con interrupciones te recomiendo que utilices Win 98 .. ese no tiene problemas. Espero haber sido util. Saludos :hola: :suerte:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Mig-el

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Interrupciones
« Respuesta #4 en: Viernes 10 de Diciembre de 2004, 22:53 »
0
Muchas gracias, pero si es necesario el uso de interrupciones ya que es un programa con el que me van a evaluar en la escuela y son requisitos. Bueno de todos modos gracias

Beldwir

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Interrupciones
« Respuesta #5 en: Sábado 11 de Diciembre de 2004, 18:57 »
0
La unión REGS está definida en el archivo de cabecera dos.h de la siguiente manera:
 
  struct WORDREGS                                              
       {                                                        
         unsigned int ax, bx, cx, dx, si, di, flags ; //OJO! Fíjate que carecen de la 'e' (eax, ebx...) es porque se tratan como registros de un procesador de 16 bits, ahí está el problema.          
       };                                                        
                                                                 
     struct BYTEREGS                                            
       {                                                        
         unsigned char al, ah, bl, bh, cl, ch, dl, dh ;          
       };                                                        
                                                                 
     union REGS                                                  
       {                                                        
         WORDREGS x ;                                              
         BYTEREGS h ;                                              
       };                                                  

  No funciona con C++Builder porque éste utiliza un compilador de 32bits y en la versión dos.h de 32bits no se encuentra definida esta unión, para que te funcione  el código debes compilarlo con un compilador de 16bits como el Turbo C++ de Borland que trabaja a 16bits.

          Un saludo y Suerte... :hola:

Mig-el

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Interrupciones
« Respuesta #6 en: Viernes 17 de Diciembre de 2004, 22:32 »
0
Ya consegui el compilador y todo funciono perfecto, gracias.

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Interrupciones
« Respuesta #7 en: Jueves 23 de Diciembre de 2004, 10:13 »
0
Hola Miq-el
cuando dices que funciono, ¿te refieres tambien a las interrupciones?, si es asi, te pediría que me dijeras, como se cambia el vector de una interrupcion (en Builder por supuesto y tanto interrupcion hardware como software) para que funcione en XP, para poder hacer, por ejemplo, el tipico reloj que en MSDOS y hasta W Me funcionaba acoplado al reloj del sistema, es que pretendo hacer una placa de adquisición de datos y me hace falta saber esto.
Gracias.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Interrupciones
« Respuesta #8 en: Jueves 23 de Diciembre de 2004, 16:17 »
0
en windows 2000 o windows xp, pueden usar el djgpp y alli podran usar interrupciones al estilo del turboc (todo gracias a que ionternamente el djgpp emula un dos corriendo sobre plataforma de 16 bit)
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io