Probléme d'Affichage pour les chaines de caractères

Signaler
Messages postés
44
Date d'inscription
jeudi 3 juin 2004
Statut
Membre
Dernière intervention
12 novembre 2005
-
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
-
Salut les petits :-)
A L'AIDE !!!!!!!!!!!!!
j'ai programmé un Mini Os avec un secteur de démarrage et un noyau de 5 secteurs
mais je n'arrive pas à afficher des chaines de caractères visibles sous Bios , j'ai essayé
sous Windows (avec l'interrupteur Bios et avec le model de memoire 07CH ) , et ca marche :( !
voici la procedure :

Affiche_Ch_C:
push ax
push bx
push si

cld
.next:
lodsb
or al, al
jz .end
mov ah, 0Eh
mov bl, 0007h
int 10h
jmp .next

.end:
pop si
pop bx
pop ax
ret
;Pour Afficher une Chaines => MOV SI,Chaines (la Chaines doit terminé par 0) => Call Affiche_Ch_C

y'a t'il une solution ou une autre façon pour que ca marche sous Bios ???
Bye et bonne Programmation ;)

1 réponse

Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Quel mode video initialises-tu?
La fonction 0E de l'int 10 n'est utilisable qu'en mode graphique
Sinon essaie:

Affiche_Ch_C: 
pusha
push es

mov cx, -1
mov ax, ds
mov es, ax
mov di, si
mov al, 0
repnz scasb
lea bp, [di-1]
sub bp, si

mov ah, 0Fh
int 10h

mov ah, 03h
int 10h

mov ax, 1301h
mov bl, 7
mov cx, bp
mov bp, si
int 10h

pop es
popa
ret


Core Breaker :)