RE:Ordenar cadenas
Publicado por
jue (1 intervención) el 06/12/2010 21:17:41
.model small
.stack
.data
cad1 DB 'ESCRIBE el primer nombre:', 13, 10, '$'
cadena1 db 10 dup(' '),'$'
cad2 DB 13,10,'ESCRIBE el segundo nombre:', 13, 10, '$'
cadena2 db 10 dup(' '),'$'
cad3 DB 13,10,'ESCRIBE el tercer nombre:', 13, 10, '$'
cadena3 db 10 dup(' '),'$'
DB 13,10, '$'
.code
.startup
mov ah,06h ; peticion de recorrido de la pantalla
mov al,00h ; indica la pantalla completa
mov bh,07h ; attributos de color y fondo 7 blanco 0 negro
mov cx,0000h ; esquina superior izquierda renglon columna
mov dx,184fh ; esquina inferior derecha renglon columna
int 10h ; llamada a la interrupcion de video BIOS
lea SI,cadena1
mov cx,10
mov dx, offset cad1
mov ah, 9
int 21h
; input the string:
mov dx, offset cadena1
mov ah, 0ah
int 21h
mov dx, offset cad2
mov ah, 9
int 21h
; input the string:
mov dx, offset cadena2
mov ah, 0ah
int 21h
mov dx, offset cad3
mov ah, 9
int 21h
; input the string:
mov dx, offset cadena3
mov ah, 0ah
int 21h
regresa:
mov ah,07h
int 21h
cmp al,13
je termina
mov [si],al
inc SI
mov dl,al
mov ah,02h
int 21h
loop regresa
mov si,offset cad1
mov di,si+1
termina:
lea SI,cadena2
mov cx,10
regresa2:
mov ah,07h
int 21h
cmp al,13
je termina2
mov [si],al
inc SI
mov dl,al
mov ah,02h
int 21h
loop regresa2
termina2:
push ES
mov AX,DS
mov ES,AX
mov cx,10
lea SI,cadena1
lea DI,cadena2
lea SI,cadena3
fin:
mov ah,09h
int 21h
.exit
end