Newsgroup: it.comp.lang.visual-basic
Titolo: interupt

Ciao a tutti,non sono molto pratico di vb ed ora ho la necessità di gestire
una scheda di I/O su bus ISA.Dovrò quindi gestire interupt e comunque
manipolare indirizzi di memoria ,sia per leggere ingressi(analogici e
digitali),sia per le uscite.Quali sono i set di istruzioni da usare e
soprattutto ,dove posso trovare articoli,spiegazioni o qualsiasi altra cosa
su questi argomenti?Grazie

 ha scritto nel messaggio
news:t9pA6.2782$XQ2.3...@news.infostrada.it...



Mah, io mi cercherei un compilatore C ...
ciao, hal

 ha scritto nel messaggio
news:KjpA6.2889$XQ2.3...@news.infostrada.it...


 wrote in message
t9pA6.2782$XQ2.3...@news.infostrada.it...



Ma il C non piace proprio più a nessuno???
Sono sempre meno le applicazioni per le quali potrebbe essere conveniente
riprendere in mano il vecchio C (i nuovi ambienti di sviluppo OO o pseudo OO
fanno risparmiare sempre più tempo e danaro), ma almeno in quelle piccole
occasioni in cui ci semplificherebbe (e di molto) la vita!?
Su! Scrivere una sana e vera DLL in C è un esercizio che non farebbe che
bene (almeno una volta nella vita :-))         VIVA il C - usiamolo quando
serve -
--
Princi, 
princ...@programmer.net
----------------------------------------------------------------------
"Tutti sanno che una cosa è impossibile da realizzare,
finché arriva uno sprovveduto che non lo sa e la inventa." A.E.

 i/o,ecc.
Non è possibile usare gli interrupt.
La gestione degli interrupt è critica, va fatta da software veloce ed che
generi istruzioni e chiamate sicuramente conosciute, e Visual Basic non ha
certo queste caratteristiche.
Inoltre gli interrupt girano ad anello zero del processore, e windows
permette tale anello sono ai Driver, non alle applicazioni, e con VB non si
possono fare driver, anche perchè ad anello zero non si ha a disposizione
buona parte delle API di sistema, che possono girare solo ad anello tre.
Vb non è nemmeno in grado di usare direttamente la memoria (non esistono i
puntatori) e nemmeno le porte I/O. E' possibile aggirare questi due ostacoli
creado piccole DLL in C/C++ con API che compiono queste operazioni, e
Windows 95/98 permette l'accesso alle porte HW anche dall'anello 3, mentre
sotto Windows NT/2000 solo l'anello zero ha il permesso di usare le porte
I/O (quindi le applicazioni non possono accedere all'i/o direttamente)
quindi un'altro motivo che obbliga la creazione di un driver.
Ciao
Ettore Maronese
il Mes smanettone
http://www.maronese.com/mes

 ha scritto nel messaggio
news:Y4rA6.3876$XQ2.6...@news.infostrada.it...


 ha scritto nel messaggio
news:t9pA6.2782$XQ2.3...@news.infostrada.it...


 si,ma confermatemelo!),grazie e prometto che non rompo più :))
Le schede in genere hanno un gruppo di indirizzi in porte, alcune anche in
memoria.
La parallela usa delle porte note, la tua scheda avra' una documentazione
che ti spieghera' quali porte usare e come chiamarle...
Tanti auguri, cmq, non e' il massimo della vita scrivere un driver in VB...
Ciaotutti,
Alessandro

 buona parte delle API di sistema, che possono girare solo ad anello tre.
ho cercato sull'MSDN questa storiella degli anelli ma non l'ho trovata.
ne ho sentito parlare piu' volte. c'e' qualche documento a riguardo?
inoltre, tutti i programmi DOS utilizzano gli interrupt
inoltre (non ho provato) se carico sotto winzozzo un programmino che
hooka qualche interrupt non me lo fa utilizzare?
hmm.. mi sa di no :D
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #25 delle Mitiche Brigate Takahashi sezione Sud


Invece si.
Anche il DOS gira ad anello 3, ed è ignaro di stare in questo anello, e
mappa normalmente I/O, Interrupt eccetera. In questo caso però, per rimanere
compatibile all'indietro windows permette l'uso dell'HW da DOS, ma dato che
in verità è tutto simulato proprio perchè viene tutto gestito da software ad
anello 0, gli interrupt sono finti interrupt e sono lenti, troppo lenti, in
pratica diventano Interrupt software (ad insaputa del DOS ovviamente) col
risultato che invece di avere l'interrupt quando accade un evento hardware,
ti arriva quando è troppo tardi per gestirlo come Dio comanda.
Non vi siete mai chiesti perchè WindowsNT si inchiodava solo per colpa dei
drivers scritti male? (spesso quelli video)
I drivers girano ad anello zero, ed hanno il totale controllo di tutto, e se
per un errore un puntatore impazisce, fa danni reali al sistema, nelle sue
viscere.
Puo' essere una FAQ?
Chissà, so solo che il NG non ha ancoa un modo per archiviare le FAQ, e che
questa mail verrà persa nel tempo come moltissssime altre mail enormemente
interessanti, ed ormai perse.
Ciao
Ettore Maronese
il Mes hacker in incognito?
http://www.maronese.com/mes


Mmm... Se sono interessanti te mettici il tag [FAQ], vedrai che non si
perdono :)
Ciaotutti,
Alessandro


Win emula il DOS consentendo a programmi che lo richiedano di eseguire  hook
sugli interrupt DOS, ma in realta' mantiene il controllo e filtra le
chiamate tramite i propri driver e il proprio kernel.
Ciaotutti,
Alessandro