MENÚ DEL PORTAFOLIO.
Elaborar un programa que permita generar la siguiente serie: X = 2 / 3 + 4 / 6 + 6 / 9 + 8 / 12 + 10 /1 5 + 12 / 18 + 14 / 21 + 16 / 24 + 18 / 27
DESCARGAR
.model small ;declrando directivas
.stack 100
.data ;directiva para declarar variables a utilizar
num db 0 ;almacenara el valor en incremento de los # pares
num1 db 0
alta db 0 ;almcenara la parte alta de AX (AL)
baja db 0 ;almcenara la parte baja de AX (AH)
msjs db 'X = $'
msji db '/$'
msjm db ' + $'
.code
inicio:
mov dx, @data ;direccionamiento de registros
mov ds, dx
mov ah,09h
mov dx,offset msjs
int 21h
mov cx, 9 ;registro contador hasta 10
serie: ;etiqueta del ciclo (serie)
add num, 02h ;suma de 2 en la variable num (incremento)
mov al, num ;transfiere a AL el valor de num (incremento)
aam ;ajuste ASCII
mov alta, ah ;almacena en la variable alta la parte alta del AX (ah)
mov baja, al ;almacena en la variable baja la parte baja del AX (al)
;obtenida esta logica solo es asunto de acoplar la impresion de los resultados
mov ah, 02h ;imprime el valor previo a procesar
mov dl, alta ;transfiere a dl la variable alta
add dl, 30h ;convierte a sistema hexadecimal
int 21h ;llama a la funcion para ejecutar los servicios
;se genera la misma situacion ahora con la variable baja
mov ah, 02h
mov dl, baja
add dl, 30h
int 21h
;remplaza el 10, 13 para los saltos de linea
;aplicado en las variables usando el servicio 02h
add num1, 03h ;suma de 2 en la variable num (incremento)
mov ah,09h
mov dx,offset msji
int 21h
mov al, num1 ;transfiere a AL el valor de num (incremento)
aam ;ajuste ASCII
mov alta, ah ;almacena en la variable alta la parte alta del AX (ah)
mov baja, al ;almacena en la variable baja la parte baja del AX (al)
;obtenida esta logica solo es asunto de acoplar la impresion de los resultados
mov ah, 02h ;imprime el valor previo a procesar
mov dl, alta ;transfiere a dl la variable alta
add dl, 30h ;convierte a sistema hexadecimal
int 21h ;llama a la funcion para ejecutar los servicios
;se genera la misma situacion ahora con la variable baja
mov ah, 02h
mov dl, baja
add dl, 30h
int 21h
;remplaza el 10, 13 para los saltos de linea
;aplicado en las variables usando el servicio 02h
lea dx, msjm ;imprime tercer msg
mov ah, 09h
int 21h
loop serie ;retorno y cierra del ciclo (loop)
mov ax, 4c00h ;exit salida del programa
int 21h
end ;fin de la directiva code
Elaborar un programa que permita generar la siguiente serie: X = 2 / 3 + 4 / 6 + 6 / 9 + 8 / 12 + 10 /1 5 + 12 / 18 + 14 / 21 + 16 / 24 + 18 / 27
DESCARGAR
.model small ;declrando directivas
.stack 100
.data ;directiva para declarar variables a utilizar
num db 0 ;almacenara el valor en incremento de los # pares
num1 db 0
alta db 0 ;almcenara la parte alta de AX (AL)
baja db 0 ;almcenara la parte baja de AX (AH)
msjs db 'X = $'
msji db '/$'
msjm db ' + $'
.code
inicio:
mov dx, @data ;direccionamiento de registros
mov ds, dx
mov ah,09h
mov dx,offset msjs
int 21h
mov cx, 9 ;registro contador hasta 10
serie: ;etiqueta del ciclo (serie)
add num, 02h ;suma de 2 en la variable num (incremento)
mov al, num ;transfiere a AL el valor de num (incremento)
aam ;ajuste ASCII
mov alta, ah ;almacena en la variable alta la parte alta del AX (ah)
mov baja, al ;almacena en la variable baja la parte baja del AX (al)
;obtenida esta logica solo es asunto de acoplar la impresion de los resultados
mov ah, 02h ;imprime el valor previo a procesar
mov dl, alta ;transfiere a dl la variable alta
add dl, 30h ;convierte a sistema hexadecimal
int 21h ;llama a la funcion para ejecutar los servicios
;se genera la misma situacion ahora con la variable baja
mov ah, 02h
mov dl, baja
add dl, 30h
int 21h
;remplaza el 10, 13 para los saltos de linea
;aplicado en las variables usando el servicio 02h
add num1, 03h ;suma de 2 en la variable num (incremento)
mov ah,09h
mov dx,offset msji
int 21h
mov al, num1 ;transfiere a AL el valor de num (incremento)
aam ;ajuste ASCII
mov alta, ah ;almacena en la variable alta la parte alta del AX (ah)
mov baja, al ;almacena en la variable baja la parte baja del AX (al)
;obtenida esta logica solo es asunto de acoplar la impresion de los resultados
mov ah, 02h ;imprime el valor previo a procesar
mov dl, alta ;transfiere a dl la variable alta
add dl, 30h ;convierte a sistema hexadecimal
int 21h ;llama a la funcion para ejecutar los servicios
;se genera la misma situacion ahora con la variable baja
mov ah, 02h
mov dl, baja
add dl, 30h
int 21h
;remplaza el 10, 13 para los saltos de linea
;aplicado en las variables usando el servicio 02h
lea dx, msjm ;imprime tercer msg
mov ah, 09h
int 21h
loop serie ;retorno y cierra del ciclo (loop)
mov ax, 4c00h ;exit salida del programa
int 21h
end ;fin de la directiva code
No hay comentarios:
Publicar un comentario