diff options
Diffstat (limited to 'samples/sommeentiers.s')
-rw-r--r-- | samples/sommeentiers.s | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/samples/sommeentiers.s b/samples/sommeentiers.s new file mode 100644 index 0000000..2e533a7 --- /dev/null +++ b/samples/sommeentiers.s @@ -0,0 +1,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
\ No newline at end of file |