Hola como estan todos
Mi nombre es Jhonathan y el caso es q necesito una ayudita, un amigo mio hizo un programa en assemble sinceramente no se mucho de ello pero quiero ayudarle, el ya realizo el codigo pero le genera un error al realizar la multiplicación y no muestra el resultado
El ejercicio pide que:
Saque el cubo de los 10 primeros números naturales impares y sume sus resultados:
en otras palabras:
1^3+3^3 + 5^3+7^3+9^3+11^3+13^3+15^3+17^3+19^3 =
1º 2º 3º 4º 5º 6º 7º 8º 9º 10º
Aqui esta el codigo
.model small
.data
titulo1 db 13,10," Porograma que Calcula la suma y el Cubo $"
titulo2 db 13,10," de los Primeros Numeros Naturales Impares $"
titulo_numero db 13,10," Numero: $"
titulo_cubo db " Cubo: $"
titulo_suma db 13,10,"La Suma de Todo los Cubos es: $"
suma db ?
cantidad db 1
.code
programa:
;Mueve el segmento de datos al Registro
mov ax, @data
mov ds, ax
; Imprime el Titulo1
lea dx, titulo1
mov ah,9
int 21h
; Imprime el Titulo2
lea dx, titulo2
mov ah,9
int 21h
SUBIR:
; Asigno al= al numero
mov al,[cantidad]
; Calculo el cubo de numero, todo se alamcena en el registro al
mov bl,[cantidad]
mul bl ; multiplico 1 vez
;mul bl ; multiplico 2 vez
;mul bl ; multiplico 3 vez
add [suma], al; Acumulo la Suma de cada cubo
; Muestro el resultado del cubo por pantalla
; Imprimo el Titulo
lea dx, titulo_numero
mov ah,9
int 21h
;Convierto el Numero a un codigo ASCII, para imprimirlo
;sub al,030h
; 1 27 125 343 792 1288
; Imprimo el Numero
mov dl, [cantidad]
add dl,030h
mov ah,02h
int 21h
; Muestra el Mensaje "CUBO"
lea dx, titulo_cubo
mov ah,9
int 21h
; Muestra el Resultdo del Cubo
mov dx, ax
add dx,030h
mov ah,02h
int 21h
; incremento el contador de numeros en 2
add cantidad,2
;Comparo para ver si llego a nueve
cmp cantidad,11
;Si llego salta a fin
je FIN
; Si no suber a la etiqueta SUBIR
jmp SUBIR
FIN:
; Imprimo el Titulo del resultado de la suma
lea dx, titulo_suma
mov ah,9
int 21h
;Convierto el Numero a un codigo ASCII, para imprimirlo
mov al,suma
; sub al,030h
; Imprimo el Numero
mov dl, al
mov ah,02h
int 21h
; Termina el Programa
mov ax, 4c00h
int 21h
end programa