project0
Messages postés1Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention 5 août 2003
-
5 août 2003 à 22:55
amurzeau
Messages postés1Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention27 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
cs_PierreF
Messages postés33Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention24 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)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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...
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
amurzeau
Messages postés1Date d'inscriptionmercredi 31 janvier 2007StatutMembreDernière intervention27 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 ...