imported>Jorge~ptwiki Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
O '''assembly''' é uma notação [[legível por humanos]] para | O '''assembly''' é uma notação [[legível por humanos]] para o [[código de máquina]] que uma [[arquitectura de computador]] específica usa. A linguagem-máquina, que é um mero padrão de bits, é tornada legível pela substituição dos valores em bruto por símbolos chamados [[mnemónica]]s. | ||
Ou seja, enquanto que um computador saberá o que a [[instrução-máquina]] IA-21 | Ou seja, enquanto que um computador saberá o que a [[instrução-máquina]] IA-21 |
Edição das 11h35min de 30 de junho de 2004
O assembly é uma notação legível por humanos para o código de máquina que uma arquitectura de computador específica usa. A linguagem-máquina, que é um mero padrão de bits, é tornada legível pela substituição dos valores em bruto por símbolos chamados mnemónicas.
Ou seja, enquanto que um computador saberá o que a instrução-máquina IA-21
10110000 01100001
faz, para os programadores é mais fácil recordar a representação equivalente em linguagem-máquina
mov %al,$0x61
(isto ordena que o valor hexadecimal 61 (97, em decimal) seja movido para o registo 'al'.)
Ao contrário do que acontece nas linguagens de alto nível, existe (até certo ponto) uma correspondência de 1 para 1 entre o assembly simples e a linguagem-máquina. Consegue-se transformar assembly em linguagem-máquina recorrendo a um assemblador, e a transformação inversa faz-se recorrendo a um desassemblador.
Cada arquitectura de computador tem a sua própria linguagem-máquina e, portanto, o seu próprio assembly (o exemplo acima é usado no i386). Estes assemblys diferem no número e tipo de operações que suportam. Também têm diferentes tamanhos e números de registos, e diferentes representações dos tipos de dados armazenados. Enquanto que todos os computadores de utilização genérica são capazes de desempenhar essencialmente as mesmas funções, o modo como o fazem é diferente.
Além disso, podem existir conjuntos múltiplos de mnemónicas, ou sintaxes de assembly, para um único conjunto de instruções. Nestes casos, o conjunto mais popular é aquele que é utilizado pelo fabricante na sua documentação.