Olá Gujeiros,
Gostaria de saber se existe algum pluglin ou ferramenta que converte código java p/ assembly?
Abs,
Olá Gujeiros,
Gostaria de saber se existe algum pluglin ou ferramenta que converte código java p/ assembly?
Abs,
confesso que fiquei curioso… que tipo de conversão… lógica algoritmica?
Tu gostaria de ver como ficaria um código Assembly com a mesma função do teu código Java? Não sei se existe, mas deve ser no mínimo divertido =D
Não necessariamente tudo, mas gostaria de ver converter um loop… Coisa pequena por exemplo este codigo:
int cont= 0;
int a = 3;
int b = 4;
while(cont<=10){
if(a<=b){
cont = cont +1;
}
else{
cont = cont + 2;
}
Entenderam???
Abs, =)
Existe sim, chama-se javac. =P
Entretanto, é um assembly que roda na virtual machine. Existem alguns aplicativos que também compilam java em .exe.
Olá Viny…
Mas eu gostaria de visualizar o código acima em assembly, como que ficaria uma instrução simples java em assembly…
Abraços e desde já agradeço pela ajuda.
=)
Se serve o assembly do bytecode, existe um programa chamado javap, que vem junto com o JRE. Basta usar javap arquivo.class e a opção c
Caso contrário, compile usando algum compilador de java (difícil de encontrar) e use o debug do windows. Basta digitar debug nomedoExe e usar a opção a
Entendi garotooo … Vou fazer este procedimentooo…
Valeu pela dica,
Abs
uma vez, ainda na facul, tive que criar uma linguagem e um compilador.
desenhei os automatos da minha linguagem no papel, defini as palavras reservadas e utilizei o javacc para criar o compilador: analisador lexico, sintático e semântico, e por fim, o gerador de códigos.
Minha linguagem gerava código "assembly" conforme a instruction set da JVM, porém esse código "assembly" era em formato ascii, podendo ser aberto e visualizado por qquer editor de textos.
algo como
int a = b + c
virava algo como
ADD $1, $2, $3
depois eu pegava o código assembly, em formato texto, gerado e utilizava o JASMIN: http://jasmin.sourceforge.net/
para transformar o meu texto em um .class real
daeh os programas gerados na minha linguagem rodavam na JVM.
Dá uma olhada se o Jasmin não faz o caminho inverso tbém .class -> txt
vi que lá tem uma seção do conj de instruções
[]s
Geralmente os que compilam o código em EXE, somente criam uma chamada para o java… usando máquina virtual e tudo mais…
Então não vai adiantar pra ver o assembly de máquina…
O assembly de máquina só existe dentro da máquina virtual…
Se você quer ver um código java ser traduzido para assembly, use o gcj e um editor de hexadecimal para ver o resultado.
O gcj é um compilador de java do set gnu que é capaz de compilar para assembly nativo mesmo. Está presente no mingw.
ou pode usar o cygnus
se tiver como trnaformar o codigo java em hexadecimal, vai ter como programar controladores PIC com java, nossa que felicidade rsrs