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

Funcionamento da multiplicaçao AssemblY?

Discussão em 'Programação' iniciada por luisf_machado, 25 de Outubro de 2008. (Respostas: 3; Visualizações: 3118)

  1. luisf_machado

    luisf_machado Power Member

    Alguem me podera explicar como funciona a multiplicação de assembly, ja tive a ver tutorials e assim, e nao encontrei nada que explicasse bem... a razao daquele muls e os pop lstack

    Digamos que sei mais ou menos para que servem os comandos, so nao percebi como se faz a multiplicaçao ou o motivo que é necessario fazer aquilo tudo para multiplicar
     
  2. PJTuga

    PJTuga Power Member

    o "muls", "mulu", etc usam o registo "g0" para fazerem a multiplicação.


    esses push g0, pop lstack que nao percebes sao para guardar o valor existente em g0 antes da multiplicação, para depois o voltar a colocar em g0
     
  3. bsd

    bsd Power Member

    Quando falas em assembly, convém dizer qual é a arquitectura (Intel 8086, Motorola 68000, etc), e convém dizer a notação (no Intel há a notação estilo Intel e a notação estilo GNU assembler).

    Por exemplo, esse muls deve multiplicar operandos inteiros de 16 bits com sinal, já que o "s" indica que é um "short" do C. Isso diz-me que não estás a falar do Intel 8086, onde é mais normal outro tipo de notação. Mas não dá para adivinhar.

    Possivelmente o pop é porque estás a fazer uma função cujos argumentos foram passados pelo stack.

    Se é preciso fazer "tudo isso"? Normalmente uma instrução basta, desde que tudo esteja pronto para ela. Há diversos tipos de instruções nos processadores:

    • instruções com um único operando, que usam um operando implícito no stack e colocam o resultado no stack,
    • instruções com dois operandos, que colocam o resultado num dos dois registos de entrada,
    • instruções com três operandos, que usam dois como argumentos e o terceiro para colocar o resultado.
    Foram decisões que foram tomadas de maneira diferente em cada arquitectura.
     
  4. luisf_machado

    luisf_machado Power Member



    Valeu, eu sakei o manual do PTSC Ignite... e ajudou qq coisita
     

Partilhar esta Página