Primeras practicas
Publicado por Jorge (2 intervenciones) el 28/02/2008 16:33:26
Hola a todos, como muchos de aqui tengo un problemilla con una practica que estoy realizando no es muy dificil pero ensamblador tampoco nos explican mucho la practica consiste en recoger una cadena de texto y devolverla todo va bien pero no consigo hacer el salto de linea y me sobreescribe la primera frase, si me pudieseis ayudar lo agradeceria. gracias
.MODEL small
.STACK 100h
.DATA
tamcadena EQU 100
ente EQU 0Dh
cadena DB 'Introduzca cadena de texto:',10,13,'$'
var1 DB tamcadena+1 DUP(?)
.CODE
startupcode
mov ax,@data
mov es,ax
mov dx,OFFSET cadena
mov ah,9h
int 21h
mov di,OFFSET var1
sub cx,cx
call leer_cadena
mov si,OFFSET var1
call mostrar_cadena
exitcode
leer_cadena:
cld
mov ah,01h
int 21h
cmp al,ente
je finalizar_entrada
stosb
inc cx
cmp cx,tamcadena
jge finalizar_entrada
jmp leer_cadena
finalizar_entrada:
mov al,00h
stosb
ret
mostrar_cadena:
cld
mov ah,2
escribe: lodsb
cmp al,00h
je finalmos
mov dl,al
int 21h
jmp escribe
finalmos: ret
END
.MODEL small
.STACK 100h
.DATA
tamcadena EQU 100
ente EQU 0Dh
cadena DB 'Introduzca cadena de texto:',10,13,'$'
var1 DB tamcadena+1 DUP(?)
.CODE
startupcode
mov ax,@data
mov es,ax
mov dx,OFFSET cadena
mov ah,9h
int 21h
mov di,OFFSET var1
sub cx,cx
call leer_cadena
mov si,OFFSET var1
call mostrar_cadena
exitcode
leer_cadena:
cld
mov ah,01h
int 21h
cmp al,ente
je finalizar_entrada
stosb
inc cx
cmp cx,tamcadena
jge finalizar_entrada
jmp leer_cadena
finalizar_entrada:
mov al,00h
stosb
ret
mostrar_cadena:
cld
mov ah,2
escribe: lodsb
cmp al,00h
je finalmos
mov dl,al
int 21h
jmp escribe
finalmos: ret
END
Valora esta pregunta


0