Servicios a utilizar:
Servicio 01 de la interrupcion 21h para leer caracteres guardados en el registro AL
Ejemplo de lectura:
mov ah,01 ;-Con esto se invoca al servicio 01: el cual guarda el contenido leido por teclado en AX
int 21h; invoca la interrupcion para salida por pantalla
*Notas:
-solo es posible leer un solo carecter (no cadenas) por este metodo.
-Los elementos leidos son cargados bajo su interpretación en codigo ascii en formato hexadecimal o decimal (dependiendo de la maquina), de esta manera para cualquier calculo numerico se debera hacer uso de una operacion aritmetica (la resta de 48 o 30h al valor leido por teclado para obtener su valor numerico real).
Esto ultimo seria mediante los comandos:
sub AL,48 o sub AL,30h
De igual manera para la Impresion sera necesario hacer la operacion contrarea:
add AL,48 o sub AL,30h
-Para mandar a impresion se usan las siguientes lineas:
mov ah,02 ; -Se invoca al servicio 02: que permite la manipulacion del display (pantalla)
mov DL,AL ; -Se pasa la información de AL a DL para impresion
int 21h; -Uso la interrumpción 21h para la salida por pantalla
Código:
Código:
org 100h .model small .stack 64 .data n1 db 0 n2 db 0 suma db 0 msg1 db "Ingrese el primer valor:", '$' msg2 db 10,13, "Ingrese el segundo valor:", '$' msg3 db 10,13, "Suma=", '$' .code begin proc far ;direccionamos al segmentos de datos mov ax,@data mov ds,ax ;solicitamos el primer digito mov ah,09 lea dx,msg1 int 21h ;se lee el primer valor mov ah,01 int 21h sub al,30h; convierte el caracter en numero mov n1,al ;solicitamos el segundo digito mov ah,09 lea dx,msg2 int 21h mov ah,01 int 21h sub al,30h;convierte el caracter en numero mov n2,al ;operacion mov al,n1 ;lo que esta en n1 lo asigna a al add al,n2 add al,30h;convierte a caracter mov suma,al mov ah,09 lea dx,msg3 int 21h ;se imprime el caracter con el servicio 02 de la int 21h mov ah,02 ;valor que se usa para poner algo en pantalla mov dl,suma int 21h mov ah,4ch begin endp ;final del procedimiento end ;final del bloque de codigo ret
Resultado:
No hay comentarios:
Publicar un comentario