begin process at 2012 02 09 05:02:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Système d'exploitation

 > 

Autre

 > 

Affichage de texte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affichage de texte

jeudi 9 juillet 2009 à 10:40:55 | Affichage de texte

ghuysmans99

Membre Club
Bonjour à tous,
Je suis en train de créer un OS (pour l'instant, 16 bits) et mes routines d'affichage ne fonctionnent pas ...
Voilà le code en question :

x86_screen_drv__CurrentX     DB            0
x86_screen_drv__CurrentY     DB            0
x86_screen_drv__CurrentA    DB            0x07

x86_screen_drv__MaximumX     EQU            80
x86_screen_drv__MaximumY     EQU            25

x86_screen_drv__ClearScreen:
    push ax
    xor ah,ah
    mov al,3h
    int 10h
    pop ax
ret

x86_screen_drv__IncCursor:
    push ax
    pushf
    mov al,[CS:x86_screen_drv__CurrentX]
    mov ah,[CS:x86_screen_drv__CurrentY]
    cmp al,x86_screen_drv__MaximumX
    jne .lbl1
    xor al,al
    inc ah
    .lbl1:
    cmp ah,x86_screen_drv__MaximumY
    jne .lbl2
    call x86_screen_drv__ClearScreen
    xor al,al
    xor ah,ah
    .lbl2:
    mov byte [CS:x86_screen_drv__CurrentY],ah
    mov byte [CS:x86_screen_drv__CurrentX],al
    popf
    pop ax
ret
   
x86_screen_drv__WriteCRLF:
    push ax
    pushf
    mov ah,[CS:x86_screen_drv__CurrentY]
    cmp ah,x86_screen_drv__MaximumY
    jne .lbl
    call x86_screen_drv__ClearScreen
    xor ah,ah
    .lbl:
    mov byte [CS:x86_screen_drv__CurrentY],ah
    mov byte [CS:x86_screen_drv__CurrentX],0
    popf
    pop ax
ret

x86_screen_drv__GetMemOffset:
    push bx
    xor ax,ax
    mov al,[CS:x86_screen_drv__CurrentY]
    shl al,4
    xor bx,bx
    mov bl,5
    mul bl
    add ax,[CS:x86_screen_drv__CurrentX]
    shl al,1
    pop bx
ret

x86_screen_drv__PrintChar:
;Params :    Char in AL
    pushf
    push ds
    push si
    push ax
    call x86_screen_drv__GetMemOffset
    mov si,ax
    mov ax,0xB800
    mov ds,ax
    pop ax
    cmp al,0x0D
    jne .lbl
    call x86_screen_drv__WriteCRLF
    jmp .end
    .lbl:
    stosb
    push ax
    mov al,[CS:x86_screen_drv__CurrentA]
    stosb
    pop ax
    call x86_screen_drv__IncCursor
    .end:
    pop si
    pop ds
    popf
ret

Dernière précision : en débuggant le code compilé en tant que .com, ça fonctionne ...
Signature.gif
jeudi 9 juillet 2009 à 10:41:50 | Re : Affichage de texte

ghuysmans99

Membre Club
Sorry, j'ai oublié la question : qu'est-ce qui cloche là-dedans ?
Signature.gif


Cette discussion est classée dans : mov, screen, al, drv, x86


Répondre à ce message

Sujets en rapport avec ce message

probleme de conversation de hexa en ascii [ par wapiti ] voici le programme qui converti du binaire en ascii.model small.stack;-------------------------------------------------------------------------------- Peut on comparer deux binaire avec cmp ? [ par MrNice ] Lo le forum me revoila ave cun new prob...donc en fait g une table de variable, je prends al=0 je fait un xlat et je compare ce resultat avec une entr Multiplication de deux nombres compris entre 0 et 99 en assembleur [ par petitspirou ] salut, j'ai un programme a faire mais je suis nul en assembleur, voici ce que j'ai fais mais ca ne fonctionne pas.Quelqun peut'il me le corriger et me Recuperer le mode Video [ par FearBlue ] 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 couleur en TASM ? [ par redwings ] j'aimerai savoir les instructions qui permettent d'affiche un caractere en couleurAL contient le caractere ...MOV DL,AL MOV AH,02hINT 21h...merci Affichage de l'heure a partir du BIOS [ par FearBlue ] Slt a tous !!!!Je debute en ASM et je desirerais afficher l'heure a partir de la lecture de l'heure du biosje vous montre mon code !!!! inversion de l'ordre d'uns string [ par VBFRANCE ] Je suis un jeune debutant dans l'assembleur.J'ai un petit prog pour afficher les valeur sous format binaire, mais je suis bloquer par un petit soucis. secteur boot : afficher un message [ par sajaris ] bonjourje suis ADABLA et je debute en OS, il y a 1 semaine. je voudrai SVP, votre avis sur mon petit code de boot.En fait je voudrai afficher un messa Kernel qui n'est pas chargé par le bootloader [ par JB_59 ] Salut tout le monde !Voilà j'ai un problème de chargement de Kernel; j'ai codé un boot loader en asm qui m'affiche la phrase "Chargement du kernel..." probleme avec un bootloader [ par anonyme_man_in_this_world ] salut !! je voudrais coder un bootloader , tous ce compile bien ,je copie / colle le fichier .BIN dans une disquette ,mais lors le redemmarrage d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,711 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales