Interruption BIOS

project0 Messages postés 1 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 5 août 2003 - 5 août 2003 à 22:55
amurzeau Messages postés 1 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 novembre 2009 - 27 nov. 2009 à 23:32
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

cs_PierreF Messages postés 33 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 24 octobre 2003
6 août 2003 à 17:08
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)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 août 2003 à 14:43
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...
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
8 août 2003 à 21:28
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 :)
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
29 mars 2005 à 19:16
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kinabongo Messages postés 1 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 20 avril 2005
20 avril 2005 à 21:21
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.
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
20 avril 2005 à 23:44
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
0
amurzeau Messages postés 1 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 27 novembre 2009
27 nov. 2009 à 23:32
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 ...
0
Rejoignez-nous