begin process at 2012 05 25 10:35:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

tasm


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tasm

mardi 8 novembre 2011 à 21:18:18 | tasm

yosrasouaifi

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 : $"
chaine DB 255,256 Dup(32)\tab \tab \tab \tab ; chaîne de 14 caractères maximum
new_line DB 13,10,"$"\tab \tab \tab \tab ; 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\tab \tab \tab \tab \tab ; affichage de la chaîne message
MOV DX,OFFSET Message
INT 21H

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

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

MOV CX,0
MOV CL,chaine+1

MOV BX,0
MOV SI,2

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

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

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

MOV AH,09H\tab \tab \tab \tab \tab ; 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\tab \tab ; range dans BX l\rquote adresse de la chaîne

DEBUT1:
MOV DL,[BX]\tab \tab \tab \tab ; 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
mardi 8 novembre 2011 à 21:26:52 | Re : tasm

yosrasouaifi

affiche majuscule <=
.;****** affiche inverse chaine***


Cette discussion est classée dans : int, chaine, mov, tab, chaîne


Répondre à ce message

Sujets en rapport avec ce message

Problème de restitution d'une chaîne. [ par Sawteeth ] Bonsoir. Je viens de débuter l'assembleur et j'ai tenté de faire un petit programme qui lit une chaîne au clavier et l'affiche à l'écran. Le problème Invertion d'une chaine de caractère. [ par deck_bsd ] Bonjour,Voila je débute en ASM et je veu faire un bête programme qui inverse une chaine de caractère. Je l'ai fait, mais celui-ci, ne va pas vraiment TSR & Détournement d'interrupt(ion) [ par ghuysmans99 ] bonjour à tous.j'ai fait un petit prog en asm 32bits pour dos mais il ne fonctionne pas ... reste à savoir pourquoi !!pourriez-vous m'aider ??;Change afficher un caractère avec int 10h [ par thicdorb ] bonjour à tous,je suis débutant en assembleur et je commence par le début : afficher un caractèrej'utilise l'inteeruption BIOS 10h    mov    al, 'A'   Petit problème pour comparer (cmp) [ par smok1360 ] Bonjour à tous,Pour commencer, j'espère de ne pas avoir choisis le mauvais lieu pour poster, j'ai un petit peu hésité Donc, j'ai décidé d'apprendre l' afficher une chaine de caractere dans le sens inverse [ par Orlyn ] Bonjour, Je suis depsuis hier aprem sur un prog et ca fait des heures que je cherche (en changeant le prog et en cherchant sur google et partout) mai ecrire dans un fichier avec assembleur [ par karimusthb ] Bonjour, j'essaye d'ecrire dans un fichier avec assembleur,[MASM] le probleme c que en resultat j'ai un fichier ecrit en caractére ASCII comment faire Mini OS !! debut [ par Hardouz ] salut a tous ! je debut en ASM je vx bosser un px en ASM je connais l'architechture ect !!! j'ai fais un pti programme mais il ya un probléme 1/ lors assembleur/ patronyme [ par maxverypainful ] Bonjour, je suis nouveau en tant qu'étudiant en informatique de gestion et j'ai une question concernant un code que nous devons créer.Il a pour but de tp assembleur i3 pour la FST [ par babbiverus ] main proc mov ax,@Datamov ds, axmov si,offset tabmov cx, 16mov bx,0saisie:  mov dx,offset commande;afficher "saisir un nombre"mov ah,9int 21hmov ah, 1


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales