Salut !
voila en faite j'ai un petit probleme... je fait un programme en asm. le pb c'est qu'en essayant le mode VESA il me met que je n'ai pas de fenetre d'acces... je vous met le code complet.
;---------------------------------------------------------------------------
vesa_actuel equ 118h ;mode graphique 1024x768x24
pile SEGMENT STACK
DB 30 DUP (?)
pile ENDS
data SEGMENT
VesaBuffer DB 256 DUP (?)
infoVesa DB 256 DUP (?)
SaveMode DB ?
errorVESA DB "Fonctions VESA non supportee sur votre PC."
data ENDS
code SEGMENT
ASSUME DS:data,CS:code,SS:pile
saveVideoMode PROC NEAR
PUSH AX
PUSH BX
MOV AH,0Fh
INT 10h
MOV SaveMode,AL
POP BX
POP AX
RET
saveVideoMode ENDP
resVideoMode PROC NEAR
PUSH AX
MOV AH,00h
MOV AL,SaveMode
INT 10h
POP AX
RET
resVideoMode ENDP
initVesa PROC NEAR
PUSH AX
PUSH BX
PUSH DX
MOV AX,4F02h
MOV BX,vesa_actuel
MOV DX,8000h
OR BX,DX
INT 10h
POP DX
POP BX
POP AX
RET
initVesa ENDP
Quit PROC NEAR
MOV AH,4Ch
MOV AL,00h
INT 21h
RET
Quit ENDP
main PROC FAR
JMP start
pbVESA: ;affichage du message d'erreur et Quit
MOV AX,data
MOV ES,AX
LEA AX,errorVESA
MOV BP,AX
MOV AX,1300h
MOV BL,04h
MOV CX,42
MOV DX,0A0Ah
MOV BH,0
INT 10h
MOV AH,00
INT 16h
CALL Quit
start:
CALL saveVideoMode
;lecture des caracteristiques de la carte VESA
MOV AX,data
MOV ES,AX
MOV AX,4F00h
INT 10h
CMP AX,004Fh
JNE pbVESA
;lecture des specificités du mode vesa actuel
MOV AX,data
MOV ES,AX
LEA DI,infoVESA
MOV CX,vesa_1024x768x24
MOV AX,4F01h
INT 10h
CMP AX,004Fh
JNE pbVESA
;verification du nombre de fenetre
LEA BX,infoVESA
ADD BX,02h
MOV AX,[BX]
AND AX,0101h ;utilisation d'un masque pour ne garder que le bit 0
CMP AH,1
JNE pbVESA ;c'est la que ça bug
CMP AL,1
JNE pbVESA ;et la aussi...
CALL initVesa
MOV AH,00h
INT 16h
CALL resVideoMode
CALL Quit
RET
main ENDP
code ENDS
END start
;---------------------------------------------------------------------------
voila je vois vraiment pas ou est le pb donc si vous avez une idée ;)
je suis sous windows XP sinon et l'assembleur c'est TASM (la version 16 bits) voila merci d'avance !