Bonjour,

Code asm : 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
57
58
59
60
TITLE LIRE
.model small 
.stack 100h
.386
.data
N EQU 4
T dw 4 dup(0)
un dw 1
max dw 0
min dw 0
message DB "donnez l'age stp","$"
.code
main PROC
mov ax,@data
mov ds,ax
mov si,un
debut: cmp si,N
JG TQ
mov ah,9
mov dx,offset message
Int 21h
mov ah,1
Int 21h
mov cl,al
mov ch,0
mov T+si,cx
Inc si
JMP debut
TQ:
mov di,un
pour:
cmp di,N
JG finpour
mov ax,T+di
ADD ax,48
ADD min,48
cmp ax,min
JGE sinon1
mov min,ax
sinon1:
ADD ax,48
ADD min,48
cmp ax,max
JLE sinon2
mov max,ax
sinon2:
Inc di
JMP pour
finpour:
sub min,48
mov dx,min
mov ah,2
Int 21h
sub max,48
mov dx,max
mov ah,2
Int 21h
.exit
main ENDP
END main

La compilation marche mais l'exécution ne se fait pas comme je veux. Je cherche à lire des âges même supérieurs à 9 (avec ce code, je ne peux que taper des entiers inférieurs à 9) et, en parcourant le tableau une seul fois, afficher le maximum, le minimum et la moyenne des âges.