• User Attivo

    installazioni bloccate...

    A volte mi capita che durante l'installazione di alcuni programmi mi compaia un messaggio di allerta strano che mi blocca l'installazione.
    Oggi ho notato che lo stesso messaggio (o uno simile) mi appare anche con alcuni programmi che avevo già installato.
    Questo è il messeggio che ho letto quando ho aperto Pascal:
    La CPU NTVDM ha incontrato un'istruzione non valida.
    CS:0000 IP:000b OP:f0 8b 01 70 00 Scegliere chiudi per terminare l'operazione.

    Cosa vuol dire? che devo fare per eliminarlo?
    P.S.:il mio sistema operativo è Windows XP


  • Moderatore

    i programmi in questione sono programmi DOS vero? si nota dal fatto che vengono eseguiti sotto la NTVDM....beh c'è poco da dire....Windows implementa una virtual machine DOS al limite dell'assurdo...l'unica possibilità a far girare quei programmi sotto Win95/98 o sotto DOS....


  • User Attivo

    @paolino said:

    i programmi in questione sono programmi DOS vero? si nota dal fatto che vengono eseguiti sotto la NTVDM....beh c'è poco da dire....Windows implementa una virtual machine DOS al limite dell'assurdo...l'unica possibilità a far girare quei programmi sotto Win95/98 o sotto DOS....
    Scusa, ma non c'ho capito 'na mazza... cos'è la NTVDM?
    Comunque Pascal mi funzionava, anche se l'ultima volta che l'ho usato credo sia maggio dell'anno scorso... Credo prima di avere installato il serivce pack di windows...


  • Moderatore

    allora NTVDM è la NT Virtual DOS Machine......se ricordi bene Windows 3 funzionava sotto DOS, Windows 95, 98 e Me erano dei DOS truccati, nel senso che il sistema operativo sottostante era DOS 7.0 + la shell di windows 95, 98 o ME.....

    nel '90 MS cominciò lo sviluppo di Windows NT da cui derivano Windows XP, Windows 2003 e Windows Vista.....

    NT a differenza della famiglia Win32 (win95, 98 e ME) usa un kernel differente e quindi non ha più le API DOS sotto di lui....così facendo era impossibile eseguire le applicazioni DOS come appunto il Pascal, allora zio bill pensò bene di introdurre in WinNT una macchina virtuale chiamata NTVDM che simulasse il vecchio DOS.....

    tuttavia la NTVDM è fatta con i piedi e inoltre tutto il set di istruzioni macchina privilegiate (quelle in pmode) non si possono eseguire sotto WinNT...il runtime del Pascal (che viene inserito poi in tutti i programmi compilati con esso) è una delle RTL più potenti che ci siano in giro ma purtroppo fa uso di istruzioni privilegiate e quel che è peggio fa uso dei servizi della memoria estesa.....

    mentre nel primo WinXP tutto questo era permesso, col service pack 2 (è quello giusto??) MS ha blindato Windows e in pratica tutte quelle tipiche cose che un programma DOS ha necessità di fare, Windows non le permette....

    ti sia di consolazione che moltissimi programmi Win nemmeno girano sotto il SP2 😄


  • User Attivo

    Ora qualcosa è più chiaro.
    L'ultima domanda è: cosa posso fare per evitare sto problema?
    Premesso che non posso disinstallare il service pack (anche perchè non sono troppo sicuro di come si faccia...), come faccio a riutilizzare i programmi bloccati? Naturalmente non mi interessano tutti i programmi, mi basta rimettere in funzione almeno i compilatori (infatti non riesco a installare manco i compilatori per C...)....
    grazie e AIUTO!!?!?!?!?!?!?!


  • Moderatore

    devi dirmi se sono compilatori per DOS o Windows....nel secondo caso non dovrebbero esserci problemi, nel primo il guaio è al cubo.....purtroppo zio Bill non è molto abile in queste cose 😞

    però se ti servono compilatori DOS potresti installare FreeDOS + compilatori su una chiavetta USB


  • User Attivo

    @paolino said:

    devi dirmi se sono compilatori per DOS o Windows....nel secondo caso non dovrebbero esserci problemi, nel primo il guaio è al cubo.....purtroppo zio Bill non è molto abile in queste cose 😞
    Bah, il compilatore di Pascal non è importante. Mi interessa di più quello di C, che peraltro sto cercando... quindi va bene tutto...

    @paolino said:

    però se ti servono compilatori DOS potresti installare FreeDOS + compilatori su una chiavetta USB
    Vuoi dire che posso "installare" DOS su una chiavetta e poi utilizzarla come HD per un programma di C?? ....interessante....


  • Moderatore

    se il tuo PC è nuovo di sicuro il BIOS ti permette di fare il boot da una periferica USB (chiavette e hard disk compresi).....

    per il compilatore C ti consiglio Dev C++ http://www.bloodshed.net/dev/devcpp.html

    tieni presente però che questi compilatori generano codice a 32 bit e quindi i programmi non funzioneranno sotto DOS ma solo sotto windows

    per il Pascal usa http://www.freepascal.org/


  • User Attivo

    @paolino said:

    se il tuo PC è nuovo di sicuro il BIOS ti permette di fare il boot da una periferica USB (chiavette e hard disk compresi).....

    In poche parole, al posto di caricare windows caricherà DOS dalla chiavetta (un po' come quando dimentichi un floppy nel pc, così che quando lo riaccendi dice che non riesce a estrarre dal floppy informazioni per far partire il computer)...no?
    Per il dev C++, mi sembra di averlo scaricato ma non mi partiva il setup...