Documentos de Académico
Documentos de Profesional
Documentos de Cultura
.model small
.stack 100
.data
;Declaramos nuestras 3 variables, uni (unidades), dece (decenas) y cen (centenas
)
cen db 0
dece db 0
uni db 0
.code
inicio:
mov al,234 ; asigno un valor de 3 digitos en decimal al registro AL
aam ;ajusta el valor en AL por: AH=23 Y AL=4
mov uni,al ; Respaldo 4 en unidades
mov al,ah ;muevo lo que tengo en AH a AL para poder volver a separar los nmeros
aam ; separa lo qe hay en AL por: AH=2 Y AL=3
mov cen,ah ;respaldo las centenas en cen en este caso 2
mov dece,al ;respaldo las decenas en dec, en este caso 3
;Imprimos los tres valores empezando por centenas, decenas y unidades.
mov ah,02h
mov dl,cen
add dl,30h ; se suma 30h a dl para imprimir el numero real.
int 21h
mov dl,dece
add dl,30h
int 21h
mov dl,uni
add dl,30h
int 21h
;Termina programa
mov ah,04ch
int 21h
end
**********suma de dos digitos**********
.model small
.stack
.data
valor db ?
.code
.startup
mov ah, 01h ;Leer carcter desde el teclado
int 21h ;Lee primer caracter
sub al, 30h ;Resto 30H (48Dec) para obtener el numero
mov valor, al ;Lo guardo en variable valor
mov ah, 01h ;Leer carcter desde el teclado
add
mov
aaa
mov
mov
add
mov
int
$'
.code
.startup
;limpiar pantalla
mov ah,00h
mov al,03h
int 10h
;leo un caracter sin eco
mov cx,10
mov si,0
leer:
mov ah,07h
int 21h
;lee 10 caracteres y los gurda el cadena
mov dl,al
mov ah,02h
int 21h
mov cadena[si],al
inc si
loop leer
;simulando el gotoxy
mov
mov
mov
mov
int
ah,02h
dh,10h
dl,10h
bx,00h
10h
mov ah,09h
mov dx,offset[cadena]
int 21h
.exit
end