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

benji

Programa para mostrar a "assemblagem" de um prog em C!

10 mensagens neste tópico

Boas pessoal!

Tenho uma questão. Há algum programa em que uma pessoa coloque lá o código em C e ele compile e mostre ao mesmo tempo a sua "assemblagem"??  :hmm:

Obrigado desde já!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem com o OllyDbg dá para fazer isso pelo menos com Vb, basta criar um exe do teu projecto e abres o exe com o OllyDbg e podes ver a codificação em assembly!

Agora em C nao tenho conhecimento se tambem dá!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se compilares com o gcc com informações de debug, o insight mostra-te o código C e o respectivo assembly gerado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja que estamos numa de assembler alguem sabe como implementar em assembly uma struct ???

do tipo

struct {

   ...

   ...

} as [3][3]

é que para criar estas variaveis todas !!!! sao 3 mas podiam ser 200 ;) nao ha nunhuma maneira dee gravar na memoria com um for ?? so tou memsmo interessado em gravar :P

Cumps...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao compilares fazes tipo gcc -S input.c e é gerado um ficheiro input.s com o código assembly do programa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao compilares fazes tipo gcc -S input.c e é gerado um ficheiro input.s com o código assembly do programa.

Acho que a ideia era ver em que assembly é que é transformada cada instrução C.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao compilares fazes tipo gcc -S input.c e é gerado um ficheiro input.s com o código assembly do programa.

Acho que a ideia era ver em que assembly é que é transformada cada instrução C.

exacto!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora bem eu uso linux, por isso vou dizer cm fazer em linux.

Para compilar o ficheiro podes fazer na linha de comandos gcc -Wall -O2 ficheiro ficheiro.c

ele vai criar um executavel (para linux) c o nome ficheiro

para veres o codigo assembly faz

cc -c ficheiro.c

isto cria um ficheiro.o

para abrires e veres o codigo assembly basta: objdump -d ficheiro.o

bastante bom.

para windows n sei k programas, mas este metodo e mt bom (e o k uso na cadeira de Sistemas de Computaçao)

kk duvida diz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para abrires e veres o codigo assembly basta: objdump -d ficheiro.o

Mas isso só mostra o assembly, certo? Se for usado -S em vez de -d ele mostra o código original misturado com o assembly. Pelo menos foi o que percebi do manual

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para abrires e veres o codigo assembly basta: objdump -d ficheiro.o

Mas isso só mostra o assembly, certo? Se for usado -S em vez de -d ele mostra o código original misturado com o assembly. Pelo menos foi o que percebi do manual

Exactamente, acabei agora de testar. Não se esqueçam de compilar com a flag -g do gcc, para compilarem com suporte aos símbolos de debugging.

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