Jump to content

Turbine o seu Perfil

Confira a atualização e participe do clube!
Clique e saiba mais

Junte-se ao Clube de Membros VIP

Tenha destaque e diversos benefícios!
Confira Aqui

Acesse nosso Discord

Conheça nossos canais interativos
Confira Aqui
Notícia
  • Adquira já o seu VIP!
definestate

INLINE ASM X86 / C++ - Sequência de Fibonacci

Recommended Posts

 

Fiz está sequência de fibonacci em Assembly X86 (mais preciso: INLINE ASM x86)

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Edited by definestate
  • Like 2

Share this post


Link to post
Share on other sites

Rapaz... Parabéns viu, lembro do professor de arquitetura ter pedido pra fazer isso em uma lista de MIPS 3 semestres atrás, que aliás joguei fora uns dias atrás auehauheu (:1472_itachi_facepalm:), se eu estiver enganado depois posto ela aqui. Lembro que tinha uma questão de recursão que eu não consegui fazer de jeito nenhum, só lembro que tinha dois argumentos a função...
 

Peguei o livro do Kip Irvine pra aprender MASM semestre passado, mas o cara depende tanto das próprias bibliotecas que ele criou que eu preferi pular pra NASM/FASM e atualmente o que mais to achando interessante é ARM, tem muito campo pra explorar e brincar com o Raspberry Pi, mas achar tempo tá foda.

E, só pra não perder o costume de ser cuzão: Tem certeza que isso aí é MASM? Isso aí que tu tá fazendo, pra mim, é só inline assembler, e a própria Microsoft na documentação os tratam como coisas diferentes: "The Microsoft Macro Assembler (MASM) provides several advantages over inline assembly", "The inline assembler is built into the compiler, so you don't need a separate assembler such as the Microsoft Macro Assembler (MASM). ".

 

Abraço.

 

--EDIT--

 

Achei a lista e minhas respostas no portal aqui, e no caso me enganei, fibonacci ele pediu iterativo e fatorial pediu com recursão:

 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Edited by TheSkytalos
Código adicionado
  • Like 1

"May you be in heaven half an hour before the Devil knows you're dead"

Share this post


Link to post
Share on other sites

Eu acabei me referindo errado na hora, eu estava usando o vs para masm mesmo, ai é inline asm, ai dps q postei acabei me ligando mas fiquei com preguiça de editar.

 

O único problema que vejo é usar inline asm x64, é um saco.

 

Os algoritmos de Fibonacci é muito bom, pra praticar, parabéns também. 

 

O livro que comecei a ler trata muita coisa: Intel Assembly Language, é do início ao fim. Muito bom mesmo. Só é todo em inglês, mas eu recomendo bastante.

 

No início tive bastante problemas com inline asm, mudava algumas coisas de quando tu olha em um debugger tipo o x64dbg, mas li um pouco e ajudou. E como to estudando RE inline asm  masm ajudou muito, logo já estou partindo para x64. Valeu.

Share this post


Link to post
Share on other sites

Muito bom mano, acho massa ver que tem gente que se interessa por Assembly hoje em dia e quer procurar aprender sobre o mesmo, porque concordamos, o conhecimento em Assembly dificilmente servirá pro mercado da nossa área, poucas exceções.

Qualquer dia quando tiver um tempinho eu posto um código de um programinha que fiz no começo do ano pra faculdade, o programa era basicamente leitura, escrita (.txt) e cifra, tem bastante coisa interessante lá também.

Share this post


Link to post
Share on other sites
Em 19/10/2019 em 16:12, definestate disse:

Eu acabei me referindo errado na hora, eu estava usando o vs para masm mesmo, ai é inline asm, ai dps q postei acabei me ligando mas fiquei com preguiça de editar.

 

O único problema que vejo é usar inline asm x64, é um saco.

 

Os algoritmos de Fibonacci é muito bom, pra praticar, parabéns também. 

 

O livro que comecei a ler trata muita coisa: Intel Assembly Language, é do início ao fim. Muito bom mesmo. Só é todo em inglês, mas eu recomendo bastante.

 

No início tive bastante problemas com inline asm, mudava algumas coisas de quando tu olha em um debugger tipo o x64dbg, mas li um pouco e ajudou. E como to estudando RE inline asm  masm ajudou muito, logo já estou partindo para x64. Valeu.

Vou checar se tem esse livro na biblioteca da faculdade... A sintaxe desse livro é Intel ou AT&T?

Sobre ASM x86_64, nunca vi nem comi... E o próprio x86 só risquei a pontinha, cheguei até C Calling Convention, que é o necessário pra fazer uns hooks aí, o resto eu deduzo do que aprendi com os RISCs da vida... Sobre esse monte de PTR DWORD e não sei o que mais, lembro que tinha a ver com o tamanho dos valores/ponteiros que está movendo, mas nem sei se é isso mesmo.

 

Eu como aprendi a programar assembly em RISC, com a sintaxe "DST, SRC, SRC", x86 com aquela sintaxe da AT&T me parece um pesadelo - que o pessoal do Linux adora usar com o GNU Assembler -, mas tô bem a fim de aprender x86 mais a fundo (desde que com a sintaxe Intel com foco em Windows)....

 

Valeu pela dica do livro!


"May you be in heaven half an hour before the Devil knows you're dead"

Share this post


Link to post
Share on other sites
Em 19/10/2019 em 20:26, luis3232 disse:

porque concordamos, o conhecimento em Assembly dificilmente servirá pro mercado da nossa área, poucas exceções.

 

Infelizmente, estás correto, e não só com Assembly, mas o pessoal aqui do curso de CIÊNCIA DA COMPUTAÇÃO já torce o nariz pra qualquer coisa que seja menos "babá" do que Python ou Java, por exemplo.

 

Mercado então, nem se fala... É o que um professor meu disse uma vez, Photoshop, Office, etc já existiam a muitos anos atrás, quando os processadores eram super lentos, sem pipeline, paralelismo e o escambau, daí esses programas que sim, evoluíram, mas convenhamos que nem tanto, ainda rodam lentos em muito computador, justamente por esse aumento exacerbado de nível nas linguagens de programação.

Quando assunto é Brasil então, piora tudo, uma vez que somos consumidores de tecnologia e não produtores, daí os empregos ficam ai quase que em sua totalidade confinados em "Desenvolvedor Web NodeJS com especialidade em "qualquerFrameworkNovaLançadaA2Meses.JS".

 

É triste, tô com um trabalho de IA e outro de IHC que envolvem jogos, a vontade é SDL2, mas sei que aos olhos do mercado (visando Django2 por exemplo), é mais interessante fazer esses trabalhos em PyGame, que é infinitamente mais lento.

 

Minha visão do mercado é essa, de um estudante de CC, mesmo preferindo mil vezes ASM/C/C++ no máximo C#.NET, fico me forçando a aprender essas bobagem de Web pq pelo o que vejo é onde que os empregos estão...
 

Em 19/10/2019 em 20:26, luis3232 disse:

Qualquer dia quando tiver um tempinho eu posto um código de um programinha que fiz no começo do ano pra faculdade, o programa era basicamente leitura, escrita (.txt) e cifra, tem bastante coisa interessante lá também.

 

Se achar, posta aí pra gente, o problema desses programas quando se trata de chamadas de sistema diversas em ASM, é que somos obrigados a fazer chamadas de funções escritas provavelmente em C... Que na minha opinião meio que estraga o rolê, mas fazer o quê, não tem outro jeito né.

 

Algo me diz que eu não posso postar duas respostas uma embaixo da outra.... Seria isso mesmo? :969254347_ThinkingEmojiFreeDownloadIOSEmojis:


"May you be in heaven half an hour before the Devil knows you're dead"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...