summaryrefslogtreecommitdiff
path: root/samples/rechcara.s
blob: 4eeeef8ec4456c0b894a50bd39600e1151fd74e1 (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
;Recherche du caractere 0x0D dans une chaine de caracteres

.DATA
CHAINE DS "ceci est un test de chaine\r de caractere quelconque..."
MSGPASTROUVE DS "Le caractere 0x0D n'a pas été trouvé dans la chaine\n"
MSGTROUVE DS "Le caractere 0x0D a été trouvé dans la chaine à l'index "
MSGENDL DS "\n"

.TEXT

.START

	MOV R1, R0				; R1 est le compteur
	MOV R2, 0x0D				; R2 est l'élement recherché

BOUCLE: MOV R4,CHAINE[R1]			; On lit un caractère.
	JE  R4, R2, TROUVE
	ADD R1, 1				; On incrément le pointeur
	JNE R4, R0, BOUCLE			; C'était le caractère 0? On sort
	MOV, [0xffffff04], MSGPASTROUVE;
	JMP FIN
TROUVE: MOV, [0xffffff04], MSGTROUVE;
	MOV, [0xffffff06], R1
	MOV, [0xffffff04], MSGENDL
FIN:	HALT