Recuperer le mode Video

Signaler
Messages postés
149
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
26 octobre 2008
-
Messages postés
28
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
13 avril 2008
-
Slt a tous !!!!!!!
Je souhaite recupérer le mode video
g lus dans une doc ca :

Cette fonction retourne le numéro de code du mode vidéo en cours et tient compte des modes non VESA.
------------------------------------------------------------------------------
Entrée :
AH = 4Fh
AL = 03h

Sortie :

AL = 4Fh et
AH = 00h : Fonction exécutée correctement, dans ce cas
BX = Numéro de code du mode en cours

------------------------------------------------------------------------------

mov ah,4fh
mov al,03h
int 10h

cmp ah,00h
jne getmode_erreur
mov si, strGetVideoModeMsg
mov al, 0x01
int 0x21
mov si, bx
mov al, 0x01
int 0x21

le code affiche le message de strGetVideoModeMsg mais naffiche pas le code contenue dans bx
si vous savez???
merci bcp

<--FearBlue-->

2 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

je vois pas comment ça peut fonctionner ton code:

--------------------------------------
cmp ah,00h
jne getmode_erreur
; ici, AH=00 donc
mov si, strGetVideoModeMsg
mov al, 0x01
int 0x21
--------------------------------------

je ne connais pas cette fonction de l'int 21h du DOS : AH=00h,AL=01h

--------------------------------------
;ici, AH=??
mov si, bx
mov al, 0x01
int 0x21
--------------------------------------

je ne connais pas cette fonction de l'int 21h du DOS : AH=XXh,AL=01h

@++
Messages postés
28
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
13 avril 2008

Slt, essaye peut etre avec ça (sur NASM) :

[org 100h]
[segment .text]

mov ah, 13h
int 10h

mov ax, 4f03h
int 10h

mov [code], bl
mov [asc0], byte '$'

add [code], byte 30h
mov ah, 09h
mov dx, txt
int 21h

ret

txt db 'mode video :'

[segment .bss]
code resb 1
asc0 resb 1

Par contre je ne sais pas si la valeur retournée dans bx est un octet ou un mot, j'ai mis code resb 1, essaye peut etre avec resw 1. Chez moi en tout cas ça a l'air de fonctionner. @+

In tartiflette we trust !