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

preciso tuoriais assembly

Discussão em 'Programação' iniciada por wrproject, 1 de Fevereiro de 2008. (Respostas: 11; Visualizações: 2287)

  1. wrproject

    wrproject Power Member

    boas pessoal,quero agora iniciar-me na programação em assembly.
    conhecem alguns tutoriais para iniciantes(de preferencia em portugues)?
    cumps.
     
  2. Sumerset

    Sumerset Power Member

    se colocares tuturial e assembly no google encontres sempre algo.

    So uma coisa, o assembly tem funçoes gerais mas e muito optimizada ao cpu em questao. Se queres aprender pega na versao do 8051 ou no atmega8 que aprendes bastante.
     
  3. m00s

    m00s Power Member

  4. floyd

    floyd [email protected] Member

  5. wrproject

    wrproject Power Member

    mas eu queria para a arquitectura 8086.
    ou sera k devo aprender primeiro para o 8051
     
  6. Sumerset

    Sumerset Power Member

    Acho que deves pegar primeiro no 8051 ler bem a datasheet dele e a partir dai ja sabes como pegar em x86...

    As formas de pensar sao as mesmas. O que varia é o hardware que está disponível, os métodos de endereçamento e interrupções. Claro que a linguagem vai mudar um pouco mas bastante pouco. Irás descobrir que em x86 tens instruções já feitas que possibilitam funções que em 8051 terias que usar um camião de instruções...
     
  7. mj2p

    mj2p I'm Cool Cuz I Fold

    Oias. Acho que se "googlares" encontras de certeza muita informação.

    Também podes sempre procurar no portugal-a-programar, quase que aposto que há lá qualquer coisa.

    Vá, cumps
     
  8. Mortymore

    Mortymore Power Member

    Já tive assembly para ambos e posso-te dizer que embora na linguagem assembly muitas menemónicas sejam semelhantes, tens que te decidir pois a linguagem é particular para cada tipo de microcontrolador ou microprocessador.

    Claro que se estudares uma delas, ficas com algum background, mas nem penses que por saberes assembly para um dos micros (uC ou uP) ficas a saber para o outro.

    Mesmo entre microcontroladores da vastíssima família dos 8051, tens que estudar sempre as funções do microcontrolador que vais usar pois existem vairantes que os fabricantes implementam que não são comuns a todos os 8051, apesar da base ser comum a toda a família.

    De resto, um microcontrolador não é um microprocessador em ponto pequeno. São dispositivos programáveis com muitas diferênças pelo caminho. Um uC contém internamente tipicamente uma série mais ou menos alargada de periféricos para além do CPU, como DAC/ADC, ROM/RAM, transmissão série...

    Abraço
     
    Última edição: 14 de Fevereiro de 2008
  9. Sumerset

    Sumerset Power Member

    acho que o que ele quer é mesmo aprender assembly e aprende-se as instruções e a maneira de lidar e manipular as mesmas através de prática com um 8051... As instruções são sempre as mesmas. Um read é sempre um read, @ irá sempre desingnar um apontador, o que varia realmente é o modo como o read é feito, endereçamento directo, indirecto, acesso a registos especiais, etc...

    Acho que inicialmente um salto ao 8051 ou ao atmega8 é o melhor a fazer... O atmega8 acho melhor opção pois tem uma serie de funções internas visto ser micro controlador, que a partir de um esquema básico facilitam uma programação imediata
     
  10. Mortymore

    Mortymore Power Member

    Pois... não fosse o caso do 8051 também ser um microcontrolador... :P

    @wrproject

    Se estiveres interessado em ver umas aplicações académicas do 8051 com programação assembly, embora a página esteja incompleta, podes ver aqui umas coisas explorando-a: http://www.micro8051.com/start.html

    Recomendo também que vejas este forum brasileiro: http://asm51.eng.br/phpbb/index.php
    (Tens que te registar)

    Abraço
     
    Última edição: 14 de Fevereiro de 2008
  11. Sumerset

    Sumerset Power Member

    lol eu nao disse que era ou nao...

    Para mim o atmega8 e melhor pelo facto de poder lidar com 3 instruções em paralelo e ter um clock max de 20M.

    Claro que é uma florzinha de estufa tendo em conta os problemas com tensões e correntes e comparado com o 80c51.
     
  12. Mortymore

    Mortymore Power Member

    20MHz... sabias que há 8051 a 100MIPS?

    http://www.silabs.com/tgwWebApp/app...fpb=true&_pageLabel=interactiveGuide&col=mips

    Por exemplo os 8051 com que estou mais familiarizado tem um clock de 33MHz, com algumas intruções a atingirem 1 instrução por ciclo de clock, contra 1 instrução por 12 ciclos de clock do 8051 original. Ou seja, há mesma velocidade de relógio, um 8051 moderno da MAXIM-Dallas, chega a ser 12 vezes mais rápido que o 8051 original. Agora multiplique-se isso pela velocidade de clock acrescida.

    Depois não percebo a insistência no ATmega8 em particular. Se é para ir por aí, então deveria ser recomendada a família AVR em geral ,e não um uC em particular.

    Há uma diferênça considerável entre a famílias. A AVR tem arquitectura RISC, enquanto que os 8051 são CISC.

    Logo á partida para quem procura aprender assembly para 8086 ou 8051, acho que é importante começar por se decidir sobre se vai querer programar microprocessadores ou microcontroladores, pois há diferênças consideráveis, quanto mais ainda meter ao barulho arquitecturas diferentes. Com o tempo, depois de trabalhar num, uC ou uP de uma mesma arquitectura, então se entender necessário pode passar ao outro. Eu acho que é mais fácil e interessante o mundo dos microcontroladores, mas tenho todo o respeito por uma opinião contrária e acima de tudo o interessado é que tem que tomar essa decisão, mas estamos a falar de "vinhos diferentes". Uns gostam mais de tinto outros de branco, mas na minha opinião deveria começar por se saber se o prato é de peixe ou carne, isto é, o que se pretende vir a fazer, pois cada caso é um caso e se não houvesse espaço para o uso de uC e/ou uP, certamente ao fim de todo o tempo de existência que já levam, algum deles teria sido suprimido. A verdade é que ambos coexistem, e é fabulosa a quantidade e os progressos que tem sofrido a família 8051. Há certamente centenas de 8051 com diferentes caracteríticas, e inúmeros fabricantes a produzí-los. Inclusivamente a Atmel que é o fabricante da familia AVR tem na sua lista de produtos uC da família 8051.

    Agora misturar arquitecturas CISC com RISC é que não me parece de todo muito recomendável, pois já estamos a misturar vinhos com sumos (tipo Intel e Motorola nos bons velhos tempos... que hoje em dia já se faz muita coisa a martelo, isto é, mistura de arquitecturas como aconteceu com a introdução dos PowerPC). Apesar de serem bichinhos com muitas pernas quase idênticos e um MOV ser um MOV, há diferênças consideráveis, como deve saber quem já estudou ambas as arquitecturas.
    Pode dar muitas dores de cabeça a paginação de memória nos 8086... coisa que não existe nos RISC.

    Outra situação que demonstra logo que cada microcontrolador é um microcontrolador e para ser programado numa linguagem de baixo nível tem que ser cuidadosamente estudado, e que não nos podendo dar ao luxo de abstrações próprias das linguagens de alto nível, está por exemplo na migração de um programa desenvolvido para o extinto AT90S2313, para o substituto ATmega2313, dificuldade com que se deparam todos aqueles que estão sujeitos a estas migrações, e por muito que a Atmel apregoe que um é um substituto direto do outro, na prática as coisas podem não ser bem assim. Só um programa muito simples pode ser transportado de um para outro sem problemas, pois se a coisa for mais complexa, o novo ATmega tem mais umas intruções e outras implementadas de forma diferente.

    Mas se for para ir para os microcontroladores RISC, então já agora que se equacione também a família PIC.

    Contudo estas discussões entre o que é melhor, CISC ou RISC, não levam a lado algum pois quem tem uma opinião formada defende tradicionalmente "o seu club", e o que acho é que cada um deve encontrar o seu caminho. Se for capaz de lidar com ambos, melhor ainda, pois ter-se-á tornado um poliglota multicultural no mundo dos microcontroladores. :002:
    Mas isso não se consegue da noite para o dia e tem que se começar por algum lado.

    Com todo o respeito por opiniões contrárias, o meu voto vai para os uC 8051 para começar. Porquê?... Se não for por outro motivo... porque gostei deles. :P

    Abraço
     
    Última edição: 15 de Fevereiro de 2008

Partilhar esta Página