• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vanessagfirst

Ajuda em Assembly(Urgentee!!!)

8 mensagens neste tópico

Olá galera!

Gostaria de saber se alguém ai sabe um código em Assembly que converta de  decimal para binario e decimal para octal!? :)

Estou ralando para fazer, tá quase impossivel e eu tmbm não me dou muito bem com programação em assembly! :wallbash:

Por favor quem puder me ajude!

Vlw! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tiveres alguma dúvida em específico podemos-te ajudar, simplesmente resolver o exercício..

A conversão é feita da mesma maneira que manualmente, com divisões e restos. (ou então aproveitas o facto da representação já estar em binário e fazes uns ands e uns shifts, mas não deve ser esse o objectivo).

E convém especificar para que processador é: MIPS, x86, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include "stdio.h"

#include "conio.h"

void dtob(int[], int);

main(){

       int i=0, j;                       

       int bin[8];

       scanf("%d", &i);

       dtob(bin,i);

       for(j=0;j<8;j++)

          printf("%d",bin[j]);

       printf("\n\n\n\n\n");

       getche();

}

//transforma de decimal para binario

void dtob(int bin[8], int d){    // d é o nimero que digitei

    int i, a;

    for(i=0;i<8;i++)

         bin=0;

         /*coloca  0  em todas as posições do bin*/

    a=7;

    do{

       bin[a] = d % 2;

       a--;

       if(d==2)

          bin[a] = d/2;

       d = d/2;

    }while(d>=2);

}

Tenho o código da conversão em C, preciso passar para assembly, se alguém souber como, ajude-me por favor!

Agradeço mtoo! :confused:

Até!

   

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Suponho que todos os compiladores de C geram um ficheiro de assembler como parte da compilação.

Com o compilador de C que integra o gcc (usualmente reconhecido como "gcc") a opção para parar a compilação logo a seguir à criação do ficheiro assembler e não apagar esse ficheiro do disco é:

gcc -S source.c

Consulta a documentação do teu compilador para saberes como fazer isto na tua máquina.

Mas, isto é batota! De certeza que o teu professor não ficaria contente se soubesse que tinhas aplicado este "truque"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se usares o gcc para gerar Assembly, não te esqueças de desligar as optimizações de código, senão vais ficar sem perceber nada. :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, meu professor já falou disso!

Ele já conhece a tecnica! E proibiu o uso!

Preciso mesmo converter esse codigo sem usar essa forma!

Se alguem souber como ajude-me !

Tô perdida! :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo, acho piada como o pessoal vem sempre para aqui... estou desesperado, perdida, urgente...

E que tal estudares Assembly e começares a fazer o básico e perguntares no que tens dúvida?

Assim ninguém te vai ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E deixa de escrever a vermelho se faz favor.

Já é a segunda mensagem que tenho de editar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora