IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Boot mais n'affiche rien


Sujet :

Assembleur

  1. #21
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 84
    Points : 78
    Points
    78
    Par défaut
    voila la ligne de commandes que je fais pour avoir une image D7, qui n'utilise pas de systeme de fichier

    cat boot.bin loader.bin /dev/zero | dd of=floppy.img bs=512 count=2880

  2. #22
    Invité
    Invité(e)
    Par défaut
    Un p'tit tuto sur les différents mode vidéo en bas niveau
    http://f3.grp.yahoofs.com/v1/wLVkQxRaaaOVqaV38fyqNIz1qSJWjHmsBN4JssVaGjlb6SCGh8c9ewgpvtQGh2vaU15DbxM7o5F6SxRdDS-s2u_Ir1Wm5DES/Sources/affichage.htm

    Voilà

  3. #23
    Membre régulier
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 106
    Points
    106
    Par défaut
    Bonjours, ayant un problème s'apparentant à ce sujet, j'ai trouvé inutile de créer un nouveau topic, je continu donc celui-ci..

    L'envis m'ayant repris de me faire un petit OS (ça devrait juste être passager il m'ait arriver la même chose il y a quelques mois ) seulement cette fois je n'arrive plus a faire une fonction d'affichage utilisant la mémoire video texte (pourtant je ne me souvient pas avoir eu précédement de problème particulier :/), bref, voici le code:

    Déclaration de la chaîne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boot:	db "Bootloader loaded",0x00
    Passage de paramètres et appel de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	push boot
    	xor ax, ax
    	push ax ;First line
    	call boot_print ;Print the boot string
    Et pour finir la fonction:
    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
    ;Function boot_print
    boot_print:
    	mov bp, ss
    	push es
    	push ax
    	push bx
    	push si
     
    	mov bx, [bp+2] ;Offset
    	mov si, [bp+4] ;Caracter
    	mov ax, 0xB800
    	mov es, ax
    	mov ah, 0x7 ;Attribute
    printing:
    	mov al, [si]
    	cmp byte al, 0x00
    	je end_printing
    	mov [es:bx], ax ;Print the caracter
    	add bx, 2
    	inc si ;To the next caracter
    end_printing:
    	pop si
    	pop bx
    	pop ax
    	pop es
    	mov ss, bp
    	ret
    ;End of boot_print function
    Bien entendus pas de problème de compilation, seul l'execution n'affiche rien (je précise que je clear l'écran juste avant avec ma fonction clear qui, elle, fonctione..
    En même temps j'ai tenté une petite utilisation je l'espère non-frauduleuse de la pile

    Merci d'avance

  4. #24
    Invité
    Invité(e)
    Par défaut
    Jeu jai limpréssion que ça boucle pas en fait...
    ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    printing:
       mov al, [si]
       cmp byte al, 0x00
       je end_printing
       mov [es:bx], ax ;Print the caracter
       add bx, 2
       inc si ;To the next caracter
       jmp printing //Il manque pas ça ??
     
    end_printing:

  5. #25
    Membre régulier
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 106
    Points
    106
    Par défaut
    Lol bien vu Mais ça aurait quand même du afficher le premier caractère alors, or ça n'affiche rien
    Le problème c'est que ça n'affiche toujours rien..

    Pendant que j'y suis, je me suis toujours posé 3 questions :
    -Vaut-il mieu un add bx, 2 ou deux inc bx ?
    -Dans le code du prjet SKAN j'ai vu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    or dl, dl
    je .finAffichage
    pour tester que dl==0 (si quelqu'un pouvait m'expliquer comment ça se fait que ça marche et que ça n'altère pas dl?)
    - pourquoi mettre des '.' devant des labels (exemple (plus haut): .finAffichage et pas tout simplement finAffichage, ça change quelquechose?)

    Je sais 4 questions c'est un peu exagéré mais c'est comme celà qu'on progresse ^^

  6. #26
    Invité
    Invité(e)
    Par défaut
    Il vaut mieux un ADD, que deux INC...

  7. #27
    Membre régulier
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 106
    Points
    106
    Par défaut
    Merci nico ça fait déjà une question en moins ^^
    Après quelques tests il semblerait que l'erreur d'affichage se situe au niveau de al qui a l'air de toujours contenir un caractère null :s

    [edit]Pour le code je pense être retourné sur la bonne voie, en effet celà pouvait marcher car ma directive ORG était fausse, ainsi que mes registre de segements qui pointaient vers un faux segment dsl ^^
    Par contre les autres questions tiennent toujours [/edtit]

  8. #28
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 84
    Points : 78
    Points
    78
    Par défaut
    Pour les '.' devant les labels, c'est uniquement une convention de codage, certain mettent des '@' ou une majuscule
    afin de mieux se reperer dans le code.

    Pourquoi or dl,dl
    Et bien si tu fait une or d'une valeur avec elle meme tu vas:
    - Preserver celle ci
    - Si cette valeur est nulle cela met a '1' le flag 'ZF'

    donc apres il te suffit de mettre un 'je' de facon a effectuer un saut des que la valeur est nulle

  9. #29
    Membre régulier
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 89
    Points : 106
    Points
    106
    Par défaut
    Interessante méthode merci

Discussions similaires

  1. [XL-2010] Listbox n'affichant rien mais récupérant les valeurs
    Par bboy-eazy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2014, 09h53
  2. [PC fixe] Ordinateur démarre mais n'affiche plus rien
    Par 12monkeys dans le forum Ordinateurs
    Réponses: 27
    Dernier message: 03/06/2012, 17h07
  3. ça affiche NULL mais je veux que ça affiche rien.
    Par psychoBob dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/05/2006, 22h35
  4. Opengl n'affiche rien.
    Par Fugus02 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/01/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo