Linguagem de progamação ASSEMBLY
Assembly é uma linguagem de montagem. Ou seja, diferente da maioria das outras linguagens, que são compiladas e/ou interpretadas, programar em Assembly é escrever um código que é diretamente entendido pelo hardware.
Assembly é a língua que usamos para falar com os mais diversos tipos de hardwares, como os microprocessadores e microcontroladores.
Todos sabem que em níveis mais baixos, no metal, a máquina só entende os bits: valores lógicos 1 ou 0 (na verdade, se refere a tensão e voltagem, mas podemos compreender como números 1 ou números 0), esse é código de máquina, o único que o hardware verdadeiramente entende e obedece.
Podemos programar escrevendo diretamente em binário, ou no sistema hexadecimal.
Mas seria algo extremamente complicado, confuso e as chances de errarmos seria bem maior.
E é aí que entra o Assembly: é conjunto de notação (ou símbolos, conhecidos por mnemônicos) que os humanos entendem. É a linguagem de máquina.
Assim, em vez de 1's e 0's, escrevemos comandos (ADD de adicionar, MOV de mover, por exemplo) e o Assembler vai montar nosso código, ou seja, substituir esses símbolos, que são uma linguagem que os humanos entendem, pelos seus respectivos códigos de máquina. E o hardware simplesmente segue esse conjunto de valores 1 e 0.
Porém, existem hardwares diferentes, com arquiteturas diferentes. Como Assembly fala com a máquina, para estruturas de hardware diferente, Assembly diferente.
Portanto, para aprender a linguagem Assembly, é preciso entender como seu computador funciona, como sua memória está organizada, os registros que possui, as instruções disponíveis, dentre outros detalhes.
Seja bem-vindo ao mundo da programação Assembly, a única verdadeira e pura linguagem:
_______________________________________________________________________--
Onde o Assembly age: Níveis de abstração na Computação
Para entender um pouco mais de Assembly, precisamos explanar os diversos