-----------------------------------------------------------------------------------
;
PROGRAMA: pe26_arr
;
FUNCION : Vector ingresa datos
;
REALIZADO POR: JOSE JUAN MUÑIZ HDZ
; FECHA
: jueves 27 abril 2017
--------------------------------------------------------------------------------------------------
title
reves.asm
.model small ;Modelo
de memoria m?s utilizado
.stack 256h ;se
define el espacio necesario para Ia pila
.data
CR equ
13 ; Constante CR (Retorno de carro) En decimal o
LF equ
10 ; Constante LF (Salto de l?nea) en hex es igual
mens db
‘Escribe algo y te lo convierto al reves’, CR,LF,’$’
salto db
CR,LF,’$’
cadena
label byte ;cadena de texto
cant db
20
max db 00
campo db
20 dup(’’)
.code
inicio:
mov
ax,@data; Inicializar correctamente el
mov
ds,ax ; registro de datos
push ds
; Guardar ds en vector
pop es
:restaruamos es con sus valores anteriores
mov
ah,09h ; Esperar tecla
lea
dx,mens ; CARGA ETIQUETA MENSAJE
int 21h ;
Llamar a Ia interrupci?n del DOS
mov
ah,Oah ; Esperar tecla
lea
dx,cadena; CARGA ETIQUETA CADENA
int 21h ;
Llamar a Ia interrupci?n del DOS
mov
ah,09h ; Esperar tecla
lea
dx,salto
int 21h ;
Llamar a Ia interrupci?n del DOS
mov
cI,cant
mov bx,
offset campo
add bI,
cant
loopo:
mov
dl.[bx] ; Movemos el siguiente caracter ASCII al dl
mov
ah,02h ;Leer car?cter desde el teclado
int 21h :
Llamar a Ia interrupci?n del DOS
dec bI
dec cl
cmp cl,0
je salir
jmp
loopo
salir:
mov dl,[bxl Movemos
el siguiente caracter ASCII al dl
mov ah,02h ;Leer
car?cter desde el teclado
int 21h ; Llamar a Ia
interrupci?n del DOS
mov ax4cOOh
:regresamos el control al sistema operativo
int 21h ; Llamar a Ia
interrupci?n del DOS
end inicio
0 comentarios:
Publicar un comentario