objetico:aprender a leer e imprimir caracterres con lenguaje ensamblador.
Leer caracteres numerico,convertirlos e imprimirlos
AL ES LA PARTE BAJA DEL (LOW) DEL REGISTRO AX
AH ES LA PARTE ALTA (HIGH) DEL REGISTRO AX
el servicio de interrupcion de la interrupcion "21h" que lee un caracter que guarda en el registro AL
se usara de la siguiente manera
MOV AH,01
INT 21H
si lo que necesita son los valores de la configuracion ascii
y en el video aprendemos a leer los numeros en el valor hexadecimal que seria sumandole 48 en cuanto saber que numero sera en codigo hexadecimal
por ejemplo si tenemos un 3 le sumamos 48 para saber su valor en hexadecimal
3 + 48 =51 con esto decimos que el 3 en codigo hexadecimal es 51
si lo que se necesita son valores numercios reales y no el caracter numerico de debe
al momneto de que se llee hay que convertirlo restandole a AL 30h o 48
sub al,48 o sub al,30h
imprimirlo
add al,48 o add al,30h
mov ah,02
mov dl,al ;lo que esta en al se pasa al valor dl
int 21
PARA IMPRIMIR SE UTILIZA LA INTERRUPCION 21H es para leer
ejemplo del video que suma dos numeros y da el resultado
; You may customize this and other start-up templates;; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
.model small
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db "dame el primer valor:",'$'
msg2 db 10,13,"dame el segundo valor",'$'
msg3 db 10,13 ,"suma",'$'
.code
begin proc far
;direccionamos al segmento de datps
mov ax,@data
mov dx,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;conviert el caracter en numero
mov n1,al
;solicitamos el segundo numero
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
add al,n2
add al,30h;convierte el caracter suma o incrementa 30h
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
mov dl,suma
int 21h
mov ah,4ch ;ch es para el cierre del programa
Begin endp
end
ret
este es el resultado en pantalla
No hay comentarios.:
Publicar un comentario