PDA

Visualizza la versione completa : Interrupt in C++


metal_prog
30-08-2006, 15:47
Vorrei chiedervi cortesemente di dirmi se: :confused:

- E' possibile richiamare un interrupt grafico con la funzioe memset();
- Come si fa (se la risposta alla precedente è si :zizi: ).

Grazie! :ciauz: :ciauz:

andbin
30-08-2006, 16:09
Originariamente inviato da metal_prog
- E' possibile richiamare un interrupt grafico con la funzioe memset();
- Come si fa (se la risposta alla precedente è si :zizi: ).Eh???

memset() è una funzione della libreria standard del "C" che serve per scrivere un valore su un'area di memoria. Non centra nulla con gli interrupt e tantomeno con roba di grafica. E poi ... cosa intendi per "interrupt grafico"?? :confused:

metal_prog
30-08-2006, 16:20
Con "interrupt grafico" intendo l'inizializzazione della grafica per mezzo della scrittura e della lettura del registro AX della scheda grafica.
In assembly si scrive (per la modalità 320x200 a 256 colori):

MOV 13H, AX
INT 10H

Hai capito qualche cosa? :ciauz:

andbin
30-08-2006, 16:35
Originariamente inviato da metal_prog
Con "interrupt grafico" intendo l'inizializzazione della grafica per mezzo della scrittura e della lettura del registro AX della scheda grafica.
In assembly si scrive (per la modalità 320x200 a 256 colori):

MOV 13H, AX
INT 10H

Hai capito qualche cosa? :ciauz: Lo so ... conosco molto bene l'assembly x86. http://img383.imageshack.us/img383/4245/iconwink5sx.gif. Anzi, per essere pignoli, secondo la sintassi Intel è MOV AX, 13H.

Ma questo, continuo a ripeterlo, cosa centra con la funzione di libreria memset???

metal_prog
30-08-2006, 16:52
Perché, cercando metodi di inizializzazione della grafica (ho Dev-C++ e gli interrupt in assembly mi mandano il crash il sistema :oVVoVe: ) ho visto che una libreria (fatta per DJGPP) che, per inizializzare la grafica usava:

memset(&r86, 0, sizeof(&r36)); Dove r86 è una struttura che non è stato dichiarato ma, probabilmente, fa parte delle librerie DJGPP. Ora non sapendo cosa sia r86 non so che valore vada nella prima variabile.

Mi potresti aiutare? :stordita:

andbin
30-08-2006, 17:01
Originariamente inviato da metal_prog
Perché, cercando metodi di inizializzazione della grafica (ho Dev-C++ e gli interrupt in assembly mi mandano il crash il sistemaAh ok ... adesso è già più chiaro: stai lavorando in ambiente Win32 (il Dev-C++ è un IDE per sviluppare su Win32, non DOS).

Bene: in Win32 non è più possibile chiamare direttamente gli interrupt (BIOS, DOS, ecc...). Punto. :D

metal_prog
04-09-2006, 16:35
Ho potuto rispondere solo ora perché non ho potuto andare in internet per un po' :zizi:

Comunque stavo pensando se non ci fosse la possibilità, con qualche libreria o package di immettere la possibilità di programmare in DOS ma non in Win32. :confused:

Grazie in anticipo. :ciauz:

Loading