|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2004
Messaggi: 10
|
assembler in line in microsoft visual studio
Sto scrivendo un pezzo di codice in assembler all interno di un codice c utilizzando microsoft visual studio 6.0. Con la funzione __asm{...} il compilatore "vede" tranquillamente l'assembler e compila(assembla) senza errori, il problema è che utilizzando l'istruzione assembler in eax,#porta non ho errori di compilazione, ma l'eseguibile non parte. Togliendo questa istruzione per leggere da una porta in ingresso non ho problemi.
Esiste un qualche #di porta leggibile che non mi faccia bloccare l'eseguibile? Grazie mille |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Ultima modifica di repne scasb : 03-02-2005 alle 16:35. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ci sono anche device driver che una volta aperti con CreateFile permettono di accedere alle istruzioni di in e out...non chiedetemi come funziona...
Il driver in questione è giveio.sys... Fai una ricerca, si trova bene, ma a parte un file di esempio che accede allo speaker, la documentazione è praticamente inesistente... |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Copia giveio.sys in system32 ed utilizza il file loaddriver.exe per caricarlo nel sistema: http://vcool.occludo.net/VCool_17man.zip
Il link per scaricarlo, con file di esempio in C incluso: ftp://ftp.nsk.su/.3/magazins/ddj/199...5/directio.zip |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Ultima modifica di repne scasb : 03-02-2005 alle 16:34. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...Win9x lo consente...
Solo i sistemmi operativi un po' più seri di MS non lo consentono... |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Jul 2004
Messaggi: 10
|
Grazie alle vostre indicazioni ho scaricato il driver e il loader, seguendo le istruzioni ho attivato il servizio (lo si può infatti vedere da risorse hardware nei driver non plug and play, dove giveio compare e risulta attivo), ho identificato un indirizzo di porta parallela(da 0x378 a 0x37f) e ho lanciato il mio codice in assembler all'interno di visual studio. Purtroppo però l'istruzione
in eax,dx (con all'interno del reg. dx il valore precaricato dell'indirizzo di porta ad es. 0x378) non la digerisce!!! Ho visto che in molte delle istruzioni per l'attivazione del driver facevano riferimento a win 2000 ed NT, io ho su Win xp home ed., potrebbe essere questo il problema?.... se ci fosse un altra soluzione a questo prob. vi prego, aiutatemi!! Grazie mille |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:17.



















