;==========================================================
; PROGRAMA : pe26_arr
; FUNCION : Vector ingresa datos .
; REALIZADO POR : Yesenia Lizbeth Guerrero Garcia
; FECHA : jueves 27 abril 2017
;=========================================================
title reves.asm
.model small ;Modelo de memoria m?s utilizado
.stack 256h ;se define el espacio necesario para la 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 la interrupci?n del DOS
mov ah,0ah ; Esperar tecla
lea dx,cadena ; CARGA ETIQUETA CADENA
int 21h ; Llamar a la interrupci?n del DOS
mov ah,09h ; Esperar tecla
lea dx,salto
int 21h ; Llamar a la interrupci?n del DOS
mov cl,cant
mov bx, offset campo
add bl, 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 la interrupci?n del DOS
dec bl
dec cl
cmp cl,0
je salir
jmp loopo
salir:
mov dl,[bx] ; Movemos el siguiente caracter ASCII al dl
mov ah,02h ;Leer car?cter desde el teclado
int 21h ; Llamar a la interrupci?n del DOS
mov ax,4c00h ;regresamos el control al sistema operativo
int 21h ; Llamar a la interrupci?n del DOS
end inicio
No hay comentarios:
Publicar un comentario