Voila je voudrais faire un programme qui affiche des étoiles sous cette forme :
J'ai ecris une partie qui affiche la 1ere ligne de gauche avec les 5 étoiles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ***** * ***** ***** * ***** ** **** **** ** ***** *** *** *** *** ***** **** ** ** **** ***** ***** * * *****
Je voudrais afficher sur plusieurs ligne mais j'ai des problemes
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
29
30
31
32 .data nbreetoile: .long 0 msg: .byte 42 .text .globl _start _start: incl nbreetoile movl $4,%eax /* Le code designant la fonction a utiliser (dans ce cas sys write) */ movl $1,%ebx /* 1 argument: le numero de la sortie standard. */ movl $msg,%ecx /* 2 argument: un pointeur sur le message a afficher. */ movl $5,%edx /* 3 argument: le nombre de caractere(s) a afficher. */ int $0x80 /* Appel au noyau (interruption 0x80). */ cmp %edx, nbreetoile jb _start done: movl $1,%eax /* Le code designant la fonction a utiliser (dans ce cas sys exit) */ movl $0,%ebx /* 1 argument: le code de retour du processus. */ int $0x80 /* Appel au noyau (interruption 0x80). */
Voici mon code pour afficher sur plusieurs ligne (seulement celle de gauche)
Quand je compile il me 1 " * " sur 5 lignes
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42 .data nbreetoile: .long 0 nbreligne: .long 0 msg: .byte 42 pligne: .byte 10 .text .global _start _start: incl nbreetoile movl $4,%eax /* Le code designant la fonction a utiliser (dans ce cas sys write) */ movl $1,%ebx /* 1 argument: le numero de la sortie standard. */ movl $msg,%ecx /* 2 argument: un pointeur sur le message a afficher. */ movl $5,%edx /* 3 argument: le nombre de caractere(s) a afficher. */ int $0x80 /* Appel au noyau (interruption 0x80). */ cmp %edx, nbreetoile /*Compare le nbre d'etoile a la valeur attribué a edx (etoile deja afiche) */ jb _start incl nbreligne /*Incremente le nbre ligne jusque 5 */ movl $passageligne,%edx /*Met la valeur de passageligne ds le registre edx*/ cmp $5,nbreligne /*Compare le nbre de ligne a ce reste a faire*/ je _start done: movl $1,%eax /* Le code designant la fonction a utiliser (dans ce cas sys exit) */ movl $0,%ebx /* 1 argument: le code de retour du processus. */ int $0x80 /* Appel au noyau (interruption 0x80). */
Si quelqu'un pouvais m'aider a m'afficher 5 étoiles sur 5 lignes et m'aider a faire le reste du programme
Merci d'avance
Je travaille sous linux
Partager