como aprender assembler [RESOLVIDO]

1. como aprender assembler [RESOLVIDO]

marcelo
marceloiaverafa

(usa Linux Mint)

Enviado em 22/11/2013 - 18:43h

Saudações internautas. por curiosidade estava procurando como fazer um SO(sistema operacional) e descobri esta linguagem. gostaria de saber onde posso encontrar vídeos ou pdfs ensinando a programar. já procurei no google, mas só encontrei a historia e alguns comandos(mov, puth, int...), mais não encontrei nenhum com sintaxe ou algo do tipo. se alguém poder me ajudar eu agradeço.


  


2. Re: como aprender assembler [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 22/11/2013 - 19:39h

Dê uma olhada nesse tópico:

http://www.vivaolinux.com.br/topico/Assembly/Eu-quero-aprender-Assembly

A propósito, o nome é "Assembly" e não "Assembler" (isso no entanto é um erro muito comum).
Aprender Assembly para então desenvolver um sistema operacional é um investimento a prazo muito longo.
Acho que você deveria partir do "C" ou de suas derivadas, que pelo menos a produtividade seria bam maior.
Se for por necessidade, vá em frente: Arregace as mangas e ponha mãos
à obra.
Mas se for por mera curiosidade, o momento de desistir é agora.


3. Re: como aprender assembler [RESOLVIDO]

marcelo
marceloiaverafa

(usa Linux Mint)

Enviado em 23/11/2013 - 01:01h

quanto a questão da nomenclatura já tinha conhecimento. não e necessidade mais também não e curiosidade. e que foi orientado, a não iniciar um projeto enquanto estudo a linguagem, então estou estudado primeiro para depois iniciar a programação.


4. Re: como aprender assembler [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 23/11/2013 - 02:30h

marceloiaverafa escreveu:

quanto a questão da nomenclatura já tinha conhecimento. não e necessidade mais também não e curiosidade. e que foi orientado, a não iniciar um projeto enquanto estudo a linguagem, então estou estudado primeiro para depois iniciar a programação.


Aqui você encontra um ótimo material sobre Assembly.

http://www.numaboa.com.br/informatica/oraculo/prog-assembly << É só fuçar no site que você encontra muita coisa.

Só lembrando: Assembler é o montador, o nome da linguagem é Assembly.

Recomendo também o livro do José Augusto N. G. Manzano, Fundamentos em Programação Assembly.


5. Re: como aprender assembler [RESOLVIDO]

William
bwilding

(usa Fedora)

Enviado em 23/11/2013 - 05:48h

Ajuda bastante também você pedir pro gcc mostrar os códigos Assembly dos seus programas em C. Para isso basta fazer:
$gcc -S nomeDoArquivo.c

Será criado o nomeDoArquivo.s , ótimo pra efeito de comparação e desespero, rs. Comece com pequenos programas.

Enfim, será de grande ajuda conhecer Assembly no desenvolvimento do seu SO, principalmente na inicialização do mesmo após a inicialização do BIOS. Sucesso aê!


6. Re: como aprender assembler [RESOLVIDO]

Herminio Silva Junior
Hank

(usa Ubuntu)

Enviado em 23/11/2013 - 11:25h

Buckminster escreveu:

Só lembrando: Assembler é o montador, o nome da linguagem é Assembly.



A título de curiosidade: nos sistemas operacionais da IBM, Assembler é a linguagem lançada em 1964 junto com o IBM /360 (mainframe) e seu primeiro sistema operacional, o DOS (Disk Operating System). Não é um compilador, pois transforma (com exceção das macros) uma instrução fonte na sua correspondente em linguagem de máquina, ou seja, é uma linguagem de baixo nível. Como tal é mais difícil de dominar, mas por outro lado permite você tirar melhor proveito do computador conseguindo uma performance muito acima das obtidas pelos códigos de máquina gerados por um compilador. O nome do programa varia conforme a versão da linguagem.




7. Re: como aprender assembler [RESOLVIDO]

marcelo
marceloiaverafa

(usa Linux Mint)

Enviado em 23/11/2013 - 15:55h

muito obrigado, realmente apredi muito, com estas informações e links. gostaria de saber onde consigo o simulador e o programador de chip(para linux), o editor eu uso quaquer um( mas se quiserem indicar algum eu aceito) e o compilador já tenho.


8. Re: como aprender assembler [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 23/11/2013 - 20:07h

Hank escreveu:

Buckminster escreveu:

Só lembrando: Assembler é o montador, o nome da linguagem é Assembly.



A título de curiosidade: nos sistemas operacionais da IBM, Assembler é a linguagem lançada em 1964 junto com o IBM /360 (mainframe) e seu primeiro sistema operacional, o DOS (Disk Operating System). Não é um compilador, pois transforma (com exceção das macros) uma instrução fonte na sua correspondente em linguagem de máquina, ou seja, é uma linguagem de baixo nível. Como tal é mais difícil de dominar, mas por outro lado permite você tirar melhor proveito do computador conseguindo uma performance muito acima das obtidas pelos códigos de máquina gerados por um compilador. O nome do programa varia conforme a versão da linguagem.



"Assembler language is a symbolic programming language that can be used to code instructions instead of coding in machine language."

http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zappldev/zappldev_2...

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.aixassem/doc/alangref/alangr...

Não estamos falando da mesma coisa.
Eu estava me referindo à linguagem Assembly do tópico, cujo montador chama-se Assembler.


9. Re: como aprender assembler [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 23/11/2013 - 22:12h

Mais um lembrete:
Assembly não é uma linguagem que abrange várias plataformas, mas é específica para cada processador.
Não se trata de uma linguagem universal, mas de várias linguagens que têm o mesmo nome.
Dessa forma, um Assembly para os processadores Pentium e seus derivados ainda tem "alguns" comandos em comum com o Z-80, que foi seu precursor de 8 bits.
Como os processadores modernos leem e processam mais de 8 bits de cada vez, tem-se de fazer adaptações de sintaxe.
Mesmo assim, na parte gráfica muda tudo: Para VGA era uma coisa, para SVGA outra, e assim por diante.


10. Re: como aprender assembler [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 23/11/2013 - 22:16h

Teixeira escreveu:

Mais um lembrete:
Assembly não é uma linguagem que abrange várias plataformas, mas é específica para cada processador.
Não se trata de uma linguagem universal, mas de várias linguagens que têm o mesmo nome.
Dessa forma, um Assembly para os processadores Pentium e seus derivados ainda tem "alguns" comandos em comum com o Z-80, que foi seu precursor de 8 bits.
Como os processadores modernos leem e processam mais de 8 bits de cada vez, tem-se de fazer adaptações de sintaxe.
Mesmo assim, na parte gráfica muda tudo: Para VGA era uma coisa, para SVGA outra, e assim por diante.


Exatamente.
A programação em si em Assembly é trabalhosa, mas não é difícil. O difícil é que envolve muito conhecimento sobre as arquiteturas dos processadores.


11. Re: como aprender assembler [RESOLVIDO]

marcelo
marceloiaverafa

(usa Linux Mint)

Enviado em 24/11/2013 - 13:37h

muito interessante, mais agora me veio uma duvida. quer dizer, que, se eu fizer um programa em Assembly no meu notbook, ele só vai funcionar em computadores com o processador igual ao do meu? tem alguma forma de fazer ele funcionar em todos ou na maioria?


12. Re: como aprender assembler [RESOLVIDO]

William
bwilding

(usa Fedora)

Enviado em 24/11/2013 - 16:56h

Em Assembly é isso. Você precisa programar especificamente para cada tipo de arquitetura.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts