Win3x.Org

Windows & DOS Community

RAM > 16 Mo et logiciels DOS

Répondre   Page 2 sur 2  [ 17 messages ]
Aller sur la page « 1 2
Auteur Message
gm86
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 08 nov. 2010 10:28
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 644
Inscription : 01 sept. 2008 19:07
 
Sous Windows 9x, l'interruption 19h et les routines de démarrage (inscrire un mot nul ou 1234h en 40:72 avant saut en FFFF:0000) aboutissent seulement à une fermeture de la session DOS.

Dernière modification par gm86 le 10 nov. 2010 23:52, modifié 1 fois.

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
le chef suprême
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 08 nov. 2010 21:08
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 327
Inscription : 02 juin 2006 18:57
 
Ah euh... Ah ouais !
Jamais fait attention. Cela signifie que le Ctrl+Alt+Suppr depuis le mode DOS n'a pas la même action ? Ou que le redémarrage à chaud n'aboutit pas de la même façon ?

Bizarre, jamais rien vu de tel... :roll:

_________________

Expert en MS-DOS, Windows 3.x, Windows 4.x (95/98/ME).
Live-CD Windows 95 !


Haut
Profil Citer
gm86
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 08 nov. 2010 22:24
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 644
Inscription : 01 sept. 2008 19:07
 
En fait, lorsque le BIOS intercepte la combinaison Ctrl+Alt+Suppr, il effectue certaines opérations, dont le POST, avant d'appeler l'interruption 19h.
Cf. http://support.microsoft.com/kb/102228/en-us/
Cela vient du fait que l'int 19h ne restaure pas les vecteurs originaux des interruptions (dont celles du BIOS qui sont numérotées jusqu'à 1Ch), certains TSR pouvant alors planter la machine — d'où une nouvelle correction de mon message principal.

Les routines de démarrage apportent une solution plus fiable pour un programme voulant redémarrer l'ordinateur lui-même. Le rôle du mot en 40:72 avant le saut en FFFF:0000 est théorique :
- 1234h, redémarrage à chaud, similaire à celui attendu d'un Ctrl+Alt+Suppr, où le POST ignore le test de mémoire ;
- 0000h, redémarrage à froid, celui résultant généralement de l'action de l'éventuel bouton de réinitialisation, où le POST effectue le test mémoire.
Cf. http://www.piclist.com/tecHREF/language ... E0036.html

La documentation suivante conseille aussi ce mot pour appeler l'int 19h après avoir modifié la zone de données du BIOS (BDA) :
http://webpages.charter.net/danrollins/ ... p/0243.HTM
Or, cette zone n'est réécrite que lors du POST.

Dernière modification par Big Monstro le 16 oct. 2018 00:33, modifié 7 fois.
Liens morts réparés grâce à Internet Archive


Haut
Profil Citer
le chef suprême
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 10 nov. 2010 09:01
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 327
Inscription : 02 juin 2006 18:57
 
Ah ouais d'accord ! :)

_________________

Expert en MS-DOS, Windows 3.x, Windows 4.x (95/98/ME).
Live-CD Windows 95 !


Haut
Profil Citer
gm86
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 11 nov. 2010 00:27
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 644
Inscription : 01 sept. 2008 19:07
 
Il reste trois points à éclaircir :
- la première instruction effectuée à l'allumage par le micro-processeur est située en FFFF:0000 ;
- si BIOS ne prend pas en compte le mot en 40:72, un programme se branchant en FFFF:0000 effectue toujours un redémarrage à chaud, i.e., sans test de mémoire ;
- certains BIOS n'effectuent pas de redémarrage à froid (expression paradoxale) lorsque le bouton RESET est actionné, c.-à-d., qu'ils ne lancent jamais le test de mémoire après un redémarrage.
Il se peut aussi que d'anciens BIOS mettent la valeur 1234h en 40:72 après le test de mémoire lors de l'allumage. C'est leur méthode pour éviter de le refaire lors d'un RESET clavier (Ctrl+Alt+Suppr).


Un programme d'exemple en langage d'assemblage.
                NAME  RESET
                TITLE RESET.COM - Utilitaire de redémarrage à chaud

; Programme permettant de redémarrer le PC à chaud.
;
; Des segments autres que le segment de code sont indiqués en premier.
; Par conséquent, END doit indiquer où commence le programme.
;     MASM RESET;
;     LINK RESET;
;     EXE2BIN RESET RESET.COM


BDA             SEGMENT AT 40h          ; Zone de données du BIOS

                ORG     72h
Type_reset      EQU     THIS WORD

BDA             ENDS


DEMARRAGE       SEGMENT AT 0FFFFh

Reset           LABEL FAR

DEMARRAGE   ENDS


CODE    SEGMENT

        ORG 100h
        ASSUME CS:CODE, DS:BDA

Debut:
        mov     ax,seg BDA
        mov     ds,ax                   ; DS pointe la BDA
        mov     Type_reset,1234h        ; 1234h en 40:72
        jmp     Reset                   ; saut lointain en FFFF:0000

CODE    ENDS

        END     Debut

P.S. : j'ai préféré apporter quelques modifications à mes messages précédents pour supprimer certaines ambiguïtés.

_________________

C:\ONGRTLNS.W95


Haut
Profil Citer
Deksor
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 25 mai 2018 00:24
Modérateur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 5218
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Serait-il possible de modifier le contenu de cette documentation pour faciliter son insertion dans la Base de connaissance de MS-DOS ?

_________________

Laptop hater


Haut
Profil Citer
gm86
Sujet du message : Re: RAM > 16 Mo et logiciels DOS
Publié : 26 mai 2018 12:20
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 644
Inscription : 01 sept. 2008 19:07
 
Je ne pense pas.
Cet article mérite une correction (RAM >32 Mo et...) mais pas de figurer comme solution de dépannage. Internet permet souvent l'accès au patch de l'éditeur concerné, et c'est une procédure plus sûre.
Ce sujet est là pour montrer l'aberration de certains tests de mémoire.

_________________

C:\ONGRTLNS.W95


Haut
Profil
Afficher : Trier par : Ordre :
Répondre   Page 2 sur 2  [ 17 messages ]
Revenir à « Documentations et tutoriels » | Aller sur la page « 1 2
Aller :