Tasm

yosrasouaifi Messages postés 16 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 28 décembre 2011 - 7 nov. 2011 à 22:06
yosrasouaifi Messages postés 16 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 28 décembre 2011 - 9 nov. 2011 à 21:05
salut je trouve la solution de l'exercice ci dessous mais je ne la compris pas si quelqu un veut m aider je donne la solution
C URGENT
un prog tasm
1.controler la saisie pour ne pas accepter qu une chaine en minuscule
2.affiche ch en majuscule ,taille de ch , nombre d'espace ,nbr de mot
3 affiche ch a lenver;;

3 réponses

ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
8 nov. 2011 à 14:58
Il est inutile d'insister pour que l'on te fasse ton(tes) exercice(s).
Ecrit un code et soumet le.
0
yosrasouaifi Messages postés 16 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 28 décembre 2011
9 nov. 2011 à 20:49
svp aidez moi à corriger les erreurs et de completer
DOSSEG ;Modele de segmentation DOS
.MODEL SMALL ;Fixe le modele de segmentation :petit modele


.STACK 100h

.DATA
message DB 13,10,"Entrez une chaine de caracteres : $"
message2 DB 13,10
chaine DB 255,256 Dup(32) ; chaîne de 14 caractères maximum
new_line DB 13,10,"$"; chaîne permettant le retour à la ligne
S2 db’ enter the string’,‘$’
S3 db’ Length of the string’,’$’

.CODE
;Initialisation du registre DS
MOV AX, @DATA
MOV DS,AX
;****************ICI COMMENCE VOTRE TRAITEMENT****************


MOV AH,09H ; affichage de la chaîne message
MOV DX,OFFSET Message
INT 21H

MOV AH,0CH ; saisie de la chaîne
MOV AL,0AH
MOV DX,OFFSET chaine
INT 21H

MOV AL,chaine+1; ajout du caractère
MOV AH,0; en fin de
MOV SI,AX ; la chaîne
ADD SI,2; pour
MOV BYTE PTR [chaine+SI],'$' ; affichage

MOV CX,0
MOV CL,chaine+1

MOV BX,0
MOV SI,2

MOV AH,09; affichage de la chaîne new_line
MOV DX,OFFSET new_line
INT 21H

DEBUT:
MOV BL,[chaine+SI]
SI_1:
CMP BL,'a'; contrôle si le caractère est >= a
JB FSI_1
ETSI_1:
CMP BL,'z' ; contrôle si le caractère est <= z
JA FSI_1
ALORS_1:
SUB BL,32; on soustrait 32 au caractère
MOV [chaine+SI],BL; on range le caractère obtenu dans la chaîne
FSI_1:

INC SI
LOOP DEBUT
;******* affiche majuscule *********

MOV AH,09H; affichage de la chaîne modifiée
MOV DX,OFFSET chaine+2
INT 21H
;*********affiche dans le sens inverse*******
MOV BX,0
MOV BL,OFFSET chaine; range dans BX adresse de la chaîne

DEBUT1:
MOV DL,[BX]; affiche le caractère courant
MOV AH,02H
INT 21H
INC BX
LOOP DEBUT1
;************taille de chaine ***********


Mov ah, 09H
Lea dx, S2
Int 21h
Mov ah, 0ah
Lea dx, S3
Int 21h
Mov ah, 02h
Mov dl, chaine
Or dl, 30h
Int 21h
; *********************calcul nbr mot*************************

;**********************calcul nbr espace *********************

;**********************ICI IL FINIT***************************


MOV AX,4C00H
INT 21H

END
0
yosrasouaifi Messages postés 16 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 28 décembre 2011
9 nov. 2011 à 21:05
c urgent
0
Rejoignez-nous