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
|
;Ce programme va calculer la somme des 97 premiers entiers
.DATA
MSG DS "La somme des "
MSG2 DS " premiers entiers est égale à"
N DB 97
ZERO DB 0
SOMME DB 4
.TEXT
.START
MOV R5,[N] ;init du compteur
MOV R1,0 ;init de R1
MOV R2,0 ;init de R2
BOUCLE: ADD R1,R1,R5 ; R1=R1+R5
AND R3,Fl,0x00000001 ;
ADD R2,R2,R3 ; R2=R2+CF
SUB R5,R5,1 ; DEC R5
MOV R6,ZERO ;
JNE R5,R6,BOUCLE ; si R5!=0 on refait la boucle
MOV, [SOMME], R1 ; ;
MOV, [SOMME+2], R2 ;on place la valeur de la somme
MOV, [0xffffff04], MSG ;on affiche le msg et la somme
MOV, [0xffffff06], SOMME ;
MOV, [0xffffff06], SOMME+2 ;
MOV, [0xffffff04], MSG2 ;
HALT
|