summaryrefslogtreecommitdiff
path: root/samples/sommeentiers.asm
blob: 2e533a7f30cdcee1638bcfce03660002e5a686f0 (plain)
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