Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++]Funzione equivalente a IN e OUT in dev-c++

    Ciao a tutti...
    Mi chiedevo:
    Dato che il dev-c++ utilizza il gcc (e non ho nessuna idea di cambiarlo), esiste qualche funzione equivalente alla IN e alla OUT dell'assembly, visto che non posso ricorrere all'asm in line ?
    Grazie
    Experience is what you get when you don’t get what you want

  2. #2
    Con gcc non si può usare l'assembly inline?
    In ogni caso, cosa fanno la IN e la OUT?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    codice:
    Con gcc non si può usare l'assembly inline?
    Non correttamente, il gcc è a 32 o 64 bit (il mio) e non posso inserire codice asm a 16 bit... (scusa ma non lo avevo scritto prima)
    La IN trasferisce un byte o un word da una porta di input all'accumulatore AL o AX rispettivamente (l'indirizzo può essere direttamente inserito se a 8 bit altrimenti può essere messo nel registro DX)
    IN <AL/AX>, <INDIRIZZO>
    la OUT fa la cosa inversa
    OUT <INDIRIZZO>, <AL/AX>
    Experience is what you get when you don’t get what you want

  4. #4
    In buona sostanza vuoi scrivere sulle porte, dunque?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Si ...
    Devo riuscire ad accedere ai registri presenti nelle interfacce...
    Experience is what you get when you don’t get what you want

  6. #6
    Sotto Windows NT (e quindi anche 2000 e XP) non puoi: il tuo programma viene eseguito in user mode e quindi non può accedere direttamente alle periferiche; devi appoggiarti ad un driver che viene eseguito in kernel mode, come hwinterface.sys, che puoi richiamare tramite inpout32.dll (nel link riportato c'è anche una breve spiegazione della faccenda, che io ti ho riassunto in due parole).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Quindi in windows non è facile come in consolle ....
    E se io volessi creare un applicazione da consolle, con il gcc il discorso resta valido ?
    Usando borland tc posso farlo senza problemi, senza tener conto quindi di come verrà eseguito il programma (naturalmente le modifiche restano visibili solo nel prompt e per il tempo di "esecuzione" dello stesso)

    cmq grazie del link
    Experience is what you get when you don’t get what you want

  8. #8
    Per tutte le applicazioni win32 (quelle console comprese) devi usare questo sistema.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Puoi usare, come dice MItaly, anche la DLL NINOUT32 e il device driver INOUT32D.SYS, di cui trovi i sorgenti in rete.

  10. #10
    Grazie
    Experience is what you get when you don’t get what you want

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.