bonjour,
je suis nouveau en assembleur je voudrais savoir comment faire pour résoudre un tp que j'ai eu. Le tp consiste à rentrer 10 nombres au clavier dans un tableau et afficher ensuite le maximum de ces nombres.
SVP AIDEZ MOI je vous remercie
bonjour,
je suis nouveau en assembleur je voudrais savoir comment faire pour résoudre un tp que j'ai eu. Le tp consiste à rentrer 10 nombres au clavier dans un tableau et afficher ensuite le maximum de ces nombres.
SVP AIDEZ MOI je vous remercie
Bonjour et bienvenue.
Avant toute chose, lis les règles du forum Assembleur, et donne-nous toutes les informations qu'elles réclament.
D'une manière générale, il faut initialiser un registre à zéro, utiliser un second registre comme index, parcourir le tableau, comparer la valeur de la cellule référencée par l'index avec celle qui se trouve dans ton registre, si elle est supérieure, charger le registre avec cette valeur (en remplaçant ainsi l'ancienne), avancer l'index à la case suivante, et reprendre au début jusqu'à ce que tu aies atteint la fin du tableau.
À bientôt.
Voici mon code j'ai reussi à faire la saisie et l'affichage instantané suivi d'un "-" entre les différents chiffres saisis :
Ce qui me reste est simple mais j'arrive pas à le faire....essayer de parcourir le tableau et comparer les valeurs pour avoir le max SVP si quelqu'un peut me donner le code nécessaire j'en serai reconnaissant...
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56 ; multi-segment executable file template. data segment ; add your data here! pkey db "Entrer 10 nombres : $" ends stack segment dw 128 dup(0) ends code segment start: ; set segment registers: mov ax, data mov ds, ax mov es, ax ; add your code here lea dx, pkey mov ah, 9 int 21h ; output string at ds:dx mov ax, 10h; mov ds, ax; mov di, 0 ;intialiser l'index de la destination mov bh, 0000; boucle1: ;etiquette (label) mov ah, 0; preparationa l'interruption(la fonction 0) int 16h ; la fonction 0 de l'interruption 16 permet de saisir le clavier mov [di], al; remplir le tableau mov dl, [di]; mov ah, 02h ;preparation de l'interruption int 21h ;fonction 2 de l'interruption 21 (affichage à l'ecran) mov dl, '-'; mov ah, 02h ;preparation de l'interruption int 21h; inc di; cmp di, 10; si di = sauter vers l'instruction après la suivante sinon ver la suivante jb boucle1 ; ends end start ; set entry point and stop the assembler.
merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager