From d3050fa05ca0bc9231eca96bcbf62d1ec60c9f90 Mon Sep 17 00:00:00 2001 From: Pixel <> Date: Tue, 17 Apr 2001 00:42:20 +0000 Subject: OUAAAAAAAAAAAAAAAAA --- samples/rechcara.s | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'samples/rechcara.s') diff --git a/samples/rechcara.s b/samples/rechcara.s index c4747c3..4eeeef8 100644 --- a/samples/rechcara.s +++ b/samples/rechcara.s @@ -1,26 +1,25 @@ -;Recherche du caractere 0DH dans une chaine de caracteres +;Recherche du caractere 0x0D dans une chaine de caracteres .DATA -CHAINE DS "ceci est un test de chaine de caractere de quatre vingt caracteres akdijhgffddss" -MSGPASTROUVE DS "Le caractere 0DH n'a pas été trouvé dans la chaine" -MSGTROUVE DS "Le caractere 0DH a été trouvé dans la chaine" -ZERO DB 0 +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,ZERO; - MOV R3,80; - MOV R2,0x0D; - MOV R5,ZERO; -BOUCLE: MOV R4,CHAINE[R1]; - JE R4,R2,TROUVE; - ADD R1,R1,1; - SUB R3,R3,1; - JNE R3 R5 BOUCLE; - MOV, [0xffffff04],MSGPASTROUVE; - JMP FIN; -TROUVE: MOV, [0xffffff04],MSGTROUVE; + 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 - \ No newline at end of file -- cgit v1.2.3