Pular para o conteúdo principal

História do Assembly

Provavelmente a primeira linguagem de programação.
O Assembly surgiu em meados da década de 50. Os computadores ainda usavam válvulas.

Considerada uma grande evolução na linguagem de computação, pois se utilizou de grandes abstrações, aumentando produtividade e segurança.
O Assembly substitui uma instrução em linguagem de máquina por um comando legível ao ser humano.

Exemplos de instruções em Assembly: add, mul, div, and, not, or. Pondendo-se ainda, o usuário, criar variváveis e lidar com elas através dessas instruções e algumas outras existentes na linguagem Assembly. A linha de instrução "add x, y" significa dizer que estou mandando somar os valores de x e y. Esse resultado deve ser armazenado em um registrador.

Registradores são áreas dentro de um processador mais rápidas que operadores de memória. São 8 registradores gerais: EAX, EDX, ECX, EBX, ESI, EBP, ESP e EDI. Programando, devemos utilizar apenas 6 destes registradores, devido a os registradores ESP e EBP serem utilizados para entrada e saída de procedimentos. É importante saber o tamanho do registrador e os dados que poderão ser armazenados neles, como na figura ao lado.

Programar em linguagem assembly é bastante árduo e é necessário ter um montador. Temos aqui um montador e não um compilador como muitos pensam.

O montador assembly transforma o código feito em assembly em linguagem de máquina, a fim de propiciar o entendimento das instruções pelo processador.

Uma linguagem de baixo nível que permite, ao ser humano, trabalhar diretamente com instruções do processador. Sendo assim mais trabalhosa, como já disse acima, pois, tratamos diretamente com manipulações de endereços de memória e instruções.

A linguagem assembly tem uma característica que acredito ser singular, cada linha de código possui apenas uma instrução.

Abaixo estão listados alguns componentes desta linguagem:

  1. Instruções de Registradores

  2. Instruções de Pilha

  3. Instruções de Execução

  4. Instruções de Memória

  5. Instruções de Flag

  6. Declarações de Memória
  7. Diretivas para o Assembler
  8. Comentários

    Depois do ponto-e-vírgula até a próxima quebra de linha, tudo é considerado comentário.

  9. Instruções para o Sistema Operacional

Os exemplos dos componentes foram tirados de http://www.numaboa.com.br/informatica/oiciliS/assembler/textos/lingAssembly.php

Contribuições para este artigo:

Comentários

Unknown disse…
Obrigada pelo total na prova de Arquitetura !!
B0b0_d4_c0rt3 disse…
Muito bom este texto.
Na internet pouco se encontra em Português a história da linguagem Assembly.
Gostei muito do texto. Rápido, direto e ilustrado.
O post é de 2007, achei incrível ninguém comentar isso aqui.

[]s
B0b0_d4_c0rt3
ߥ ȚҸӑỈŝ disse…
Muito bom, gostei mesmo. Parabens!
ߥ ȚҸӑỈŝ disse…
Muito bom, gostei.. Da pra ter uma boa base.

Postagens mais visitadas deste blog

Cursos Gratuitos Udemy

Aproveitem para acumular conhecimento! Cursos pagos que estão de graça na Udemy: Python:  https://lnkd.in/epdtT8Y Ionic 3:  https://lnkd.in/e8mdY4V HTML5:  https://lnkd.in/eRZVUSN Android:  https://lnkd.in/eHg7kbz C++:  https://lnkd.in/eZvb4rV Python:  https://lnkd.in/ekavMui C e C++:  https://lnkd.in/eKUJ97p Unity 5:  https://lnkd.in/e-ftZCJ Unreal Engine 4:  https://lnkd.in/ekzWpBg Web com Github pages:  https://lnkd.in/eNfr_eS Git:  https://lnkd.in/er4im7H WordPress:  https://lnkd.in/eYExqay Jekyll:  https://lnkd.in/e4m5Q7q WordPress:  https://lnkd.in/eMffdp2 React.js:  https://lnkd.in/eE67yas Unity3D:  https://lnkd.in/ecM63B6 HTML:  https://lnkd.in/eAQFGqy C++:  https://lnkd.in/evqDkeM Algoritmos e lógica:  https://lnkd.in/ehuYnvN JavaScript:  https://lnkd.in/e9EppKs Qlikview:  https://lnkd.in/e5ZufxV Algoritmos e lógica:  https://lnkd.in/e_E3Dry Python:  https://lnkd.in/ejTKa3W Introdução à programação de computadores:  https://goo.gl/Mi3hbF Terminal L

SOA - Service Oriented Architecture (Arquitetura Orientada a Serviços)

O SOA representa uma nova geração da plataforma da computação distribuída. SOA é uma filosofia de TI que visa facilitar a integração entre sistemas, orientando a criação e a disponibilização de soluções modulares e fracamente acopladas baseadas no conceito de serviços. É um estilo de arquitetura de software cujo princípio fundamental prega as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Freqüentemente estes serviços são conectados através de um “barramento de serviços” que disponibiliza interfaces, ou contratos, acessíveis através de Web Service ou outra forma de comunicação entre aplicações. ::benefícios... Facilidade de criar/controlar processos, diminuição de redundâncias (em todos os níveis), aumento da capacidade de expandir operações.  Muitos são as vantagens de se implementar SOA, abaixo descrevemos alguns: ::onde atuar... Dificuldade de comunicação entre aplicações, dificulda