Interruption BIOS

Signaler
Messages postés
1
Date d'inscription
mardi 5 août 2003
Statut
Membre
Dernière intervention
5 août 2003
-
Messages postés
1
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
27 novembre 2009
-
est ce quelqu un connais les interruptions BIOS qui arrete le systeme ( avec mise sous tension ) et celle qui permet un reboot ( redemarrage propre pas la 19h )
merci

7 réponses

Messages postés
33
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
24 octobre 2003

Je ne sais pas comment eteindre l'ordinateur, ca se trouve dans le fonction APM du bios, par contre je sais comment on redémare l'ordinateur:

Pour redémarre l'ordinateur en mode Réel, il sufit de sauté à
l'addresse: 0xFFFF0 (0xFFFF:0x0000).
Si l'address 0x472 contient 0x1234 alors
il n'y a pas un test de la mémoire.
Les autres valeurs de ce mot (celui de l'adress 0x472) sont :
- 1234h pour ne pas éfectuer le test de mémoire (redémarage à chaud)
- 4321h [PS/2 sauf Mod 25,30] pour préservé la mémoire
- 5678h [Conv] système suspendu
- 9ABCh [Conv] test de fabrication (manufacturing test mode)
- ABCDh [Conv] POST loop mode
- 0064h Burn-in mode

je ai tester uniquement la valeur 0x1234, le autre je sais pas si elle marche.

exemple:
_reboot: proc
mov ax, 0040h ;on met
mov es, ax ;1234h dans
mov di, 0072h ;0040:0072
mov ax, 1234h ;pour qu'il n'y est
mov [es:di], ax;pas de nouveau un test memoire.

;on saute vers 0xFFFF:0x0000
jmp 0FFFFh:0000h

Pour redémarre l'ordinateur en mode Protéger, il sufit de faire une trible fault!
on peut fair sa comme sa:
lidt [idtp_faux]
int 2 ;on peut mettre n'import quel interuptiont, elle va
;cuase un erreur de protéction (un interuption) qui va cause une
;double fault (encore un interuption) qui va cause une trible fault
;qui fait redemmarer le processeur!

idtp_faux:
dw 0 ; IDT limit, comme elle est a zero, sa plante obligatoirement!
dd 0 ; linear, physical address of IDT,on peut normalement mettre n'import quoi
;zero c'est bien! (on est sur que sa plante)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Salut,
j'ai assemble et execute ce qui est sous:
"redémarre l'ordinateur en mode Protéger"
Resultat, XP me jette avec un gros message d'erreur mais il ne bronche pas d'un poil.
BruNews, ciao...
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Pour arrêter l'ordi, c'est interruption 15h:
	mov			ax, 5300h
xor			bx, bx
int			15h

mov			ax, 5301h
xor			bx, bx
int			15h

mov			ax, 530Eh
mov			cx, 0102h
int			15h

mov			ax, 5307h
mov			bx, 0001h
mov			cx, 0003h
int			15h


pour le reboot il n'y a pas d'interruption à part l'int 19h car c'est cette interruption que le BIOS utilise pour le bootstrap.

Mais tu peux faire un call à l'adresse FFFF:0000

Core Breaker :)
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
2 ans apres mdr...

dsl je ne suis pas sur d'avoir compris le code de CoreBreaker...c'est 4
fois la meme chose ou il faut tout ca pour éteindre le PC?

Dans le meme genre de question asm-newbie, quelqu'un a-t-il une bonne
liste , bien commentée et tout, des différentes interruptions
(logicielles principalement, mais si il y a les autres je suis
preneur...) ? merci


_______________________


Omnia vincit labor improbus
Messages postés
1
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
20 avril 2005

pour Arnaud16022

soit tu télécharges direct :
http://coding.romainl.com/download-file-14.html

soit tu tapes sur le net ralph brown et tu devrais trouver mais tout est en anglais

Kina.
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
ouais ralph rown je connais, ya son nom partout sur le net, mais sa liste est trop énorme je m'y perds

Merci pour l'url, dl en cours...

_______________________


Omnia vincit labor improbus
Messages postés
1
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
27 novembre 2009

Pour éteindre le pc sous windows XP, on ne peut pas passer directement par les interruptions car windows gère lui même les bugs comme ceux pour planter le processeur. Pour redémarrer il faut utiliser les fonctions de windows (API Win32) et utiliser la fonction ExitWindowsEx (avec un exemple: How to Shut Down the System, parce que les privileges c'est pas vraiment simple) Mais par contre ce n'est plus vraiment de l'assembleur même si c'est faisable ...