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 29 30 31 32 33 34 35 36 37
|
ORG $1000
START: ; first instruction of program
MOVE.W #$1200,A1 ; On met une adresse dans A1: point de départ de la chaîne de caractère
MOVE.B #2,D0 ; instruction entrée
TRAP #15 ; on tape une chaîne de caratère stocké en A1 et dont le nombre de caractère est dans D1
MOVE.B D1,D2 ; on met D1 dans D2 car D1 va être occupé ensuite
MOVE.B #5,D0 ; on lit le caractère dont il faut chercher le nombre d'occurence dans la chaîne initialement entrée
TRAP #15
NEXT CMP A1,D1 ; on test si ce qu'il y a à l'adresse contenu dans A1 est le caractère qu'on a tapé
BEQ EGALE ; si c'est le cas, on vas a EGALE
CMP #0,A1 ; si on est au dernier caractère de la chaîne, on a fini
BEQ FIN
ADD.W #1,A1 ; dans le cas ou on a pas le caractère tapé, on va au caractère suivant
* SUB.B #1,D2
BSR NEXT
EGALE ADD.B #1,D3 ; si on trouve la caractère tapé, on augmente D3 qui comte les occurences de ce dernier
ADD.W #1,A1
* SUB.B #1,D2
BSR NEXT
FIN MOVE.B #3,D0 ; afficher le nombre d'occurence du caractère choisi
TRAP #15
END START ; last line of source |
Partager