ASSEMBLEUR NEED HELP

ASSEMBLEUR NEED HELP - Programmation

Marsh Posté le 01-04-2002 à 18:12:08    

QQ1 est capable de m'expliquer ce code en mettant des commentaires :
 
 
;**************************
;*           TP2          *
;**************************
 
DOSSEG
.MODEL small
.STACK 100h
.DATA
                MsgChaine DB 'Chaine : ',13,10,'$'
                MsgMin DB 'Chaine en Minuscules : ',13,10,'$'
                MsgMax DB 'Chaine en Majuscules : ',13,10,'$'
                MsgSpace DB 13,10,'$'
                Compteur DB 0
                Alire DB 20
                Lu DB ?
                Rang DB 20 DUP (?)
                Temp DB ?
.CODE
  mov ax,@data
  mov ds,ax
 
                mov ah,9
                mov dx,OFFSET MsgChaine
                int 21h
                mov dx,OFFSET Alire
 
                mov ah,0Ch         ;Vider le buffer
 
                mov al,0Ah
                int 21h
 
                mov ah,9
                mov dx,OFFSET MsgSpace
                int 21h
 
                mov ah,9
                mov dx,OFFSET MsgMax
                int 21h
 
                mov bx,0
Deb:            mov ah,Lu
                cmp ah,Compteur
                je stop
 
                mov ah,Rang[bx]
                mov Temp,ah
                cmp Temp,'A'
                jb erreur
                cmp Temp,'Z'
                jbe maj
                cmp Temp,'a'
                jb erreur
                cmp Temp,'z'
                jbe min
                jmp erreur
suite:
 
;                mov ah,02h
;                mov dl,Rang[bx]
;                int 21h
 
                inc bx
                mov ah,Compteur
                inc ah
                mov Compteur,ah
                jmp Deb
 
maj:            mov ah,02h
                mov dl,Temp
                int 21h
                jmp suite
 
min:            sub Temp,32
                jmp maj
 
erreur:         jmp fin
stop:
 
                mov ah,9
                mov dx,OFFSET MsgSpace
                int 21h
 
                mov ah,9
                mov dx,OFFSET MsgMin
                int 21h
 
 
                mov Compteur,0
                mov bx,0
Deb1:           mov ah,Lu
                cmp ah,Compteur
                je stop1
 
                mov ah,Rang[bx]
                mov Temp,ah
                cmp Temp,'A'
                jb erreur
                cmp Temp,'Z'
                jbe maji
                cmp Temp,'a'
                jb erreur
                cmp Temp,'z'
                jbe mini
                jmp erreur
suite1:
 
;                mov ah,02h
;                mov dl,Rang[bx]
;                int 21h
 
                inc bx
                mov ah,Compteur
                inc ah
                mov Compteur,ah
                jmp Deb1
 
mini:           mov ah,02h
                mov dl,Temp
                int 21h
                jmp suite1
 
maji:           add Temp,32
                jmp mini
 
 
stop1:
 
 
 
 
 
 
fin:  mov ah,4Ch
  int 21h
 
END
 
 
C'est sensé lire une chaine de caractere saisie au clavier, puis des k'on appuie sur ENTRER, ca affiche cette meme chaine converti en MAJ pui minuscule
 
 :hello:

Reply

Marsh Posté le 01-04-2002 à 18:12:08   

Reply

Marsh Posté le 01-04-2002 à 23:31:00    

bin c codé avec les pieds, et je pense pas que ça marche.
y manque des trucs dans les boucles (si on peut appeller ça des boucles)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed