Exception 13 lors du scan memoire haute

Résolu
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 18 janv. 2006 à 00:16
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 19 janv. 2006 à 00:20
salut,

pourquoi ce code de detection de memoire en mode 32 bits sans paging me donne une exception 13 sur certaines cartes meres ( ASUS ) a l'adresse 256Mo ?
( 1Go de memoire sur la carte bien détécté par le BIOS )
il a déjà fonctionné sur d'autres carte meres avec 512Mo de memoire.

y'a-t-il une option dans le bios ?

mm.detect:
mov eax,MEMHIGH;=0x100000
.1
mov ecx,[eax]
not dword [eax]
mov edx,[eax]
not edx
mov [eax],ecx
cmp ecx,edx
lea eax,[eax+4]
je .1
.2
and eax,0xFFFFF000
ret

@

1 réponse

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
19 janv. 2006 à 00:20
oups, une erreur dans la déclaration de la limite du descripteur FLAT_DATA0




%define DESC_D32 0xD092
FLAT_CODE0 EQU $-GDT
gdt_01:
dw -1
dw 0
db 0
dw DESC_C32+0x0F00
db 0

le +0x0F00 a corrigé le problème.

@++
3
Rejoignez-nous