1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida Assembly 8086 - Calculo de potencia

Discussão em 'Programação' iniciada por KnightRider, 19 de Maio de 2012. (Respostas: 2; Visualizações: 1678)

  1. KnightRider

    KnightRider Power Member

    Boas :)

    será que alguem me consegue ajudar com uma função que faça o calculo da potencia ou seja x^y.
    Eu ja tentei mas nao estou a conseguir, eu tenho uma função que calcula a multiplicação (atraves de somas sucessivas, dado que e esta a forma como temos que fazer) que vou deixar aqui e que funciona mas nao sei bem cmo faço para a potencia, eu penso que vou precisar da multiplicação, so nao sei faço para indicar quantas vezes multiplica o proprio numero, que é o caso da potencia, adaptar :

    mov al, 0
    mov ah, 0
    mov bl, 0

    lmultiplica:
    add al, num1
    adc ah, 0
    inc bl
    cmp bl, num2
    jne lmultiplica

    mov res, ax
    ret
    mult endp


    desde ja o meu obrigado

    cumps,
     
    Última edição: 20 de Maio de 2012
  2. maGL

    maGL Power Member

    Para fazeres x^y tens de fazer um ciclo em que multiplique y vezes.
    Em assembly nao sei exactamente o código, mas tens de fazer algo assim:

    z=x; %z -> resultado do calculo da potencia

    if(y=0){
    z=1;}

    else if(y=1){
    z=x;}

    else{
    while (y!=1){

    z=z*x; %fazes a multiplicação

    y=y-1; %incrementação
    }
    }


    Para saberes o código destas funções, nada melhor que dar uma vista de olhos no manual do 8086
     
  3. KnightRider

    KnightRider Power Member

    Muito obrigado pela dica, vou agora ver se consigo fazer em assembly
     

Partilhar esta Página