Bonjour,
le code qui suit permet de basculer le processeur (386 et sup�rieur)
en mode FLAT, ce qui permet d'adresser jusqu'� 4Go de RAM
L'interruption 15h au d�but a �t� rajout� r�cemment avec l'aide de
certaines personnes du forum, et permet d'activer la ligne A20 pr�sente sur de "vieux" syst�mes.
les syst�mes plus r�cents ne g�rent pas cette interruption et renvoient une
erreur. cette derni�re n'est pas g�r�e mais ne provoque aucun effet.
Ce code est pr�vu pour �tre utilis� sous DOS, mais peut-�tre tr�s facilement
modifi� pour �tre utilis� dans un OS "maison"
Amusez-vous bien
Fran�ois
compilateur utilis� : FASM
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 ; ------------------------------------ ; MISE EN PLACE DU MODE FLAT OU UNREAL ; ------------------------------------ org 100h ; Installation du mode FLAT mov ax,2401h int 15h cli mov eax,cs shl eax,4 mov ebx,gdt add eax,ebx mov [gdt_adr],eax mov bx,gdt_ptr lgdt [bx] mov eax,cr0 or al,1 mov cr0,eax jmp short $+2 mov bx,8 mov fs,bx mov ds,bx mov es,bx mov gs,bx and al,0FEh mov cr0,eax sti mov ah,4Ch ; int 21h ;exit ;------------------------------------------------------------------------ gdt: dw 0 dw 0 db 0 db 0 db 0 db 0 dw 0FFFFh dw 0 db 0 db 092h db 0CFh db 0 gdt_ptr dw 15 gdt_adr dd 0 END_prog:
Partager