Linguagem de programação de baixo nível
Origem: Wikipédia, a enciclopédia livre.
- Uma linguagem de programação é de baixo nível quando seus programas requerem de atenção para o irrelevante.
- - Epigrama humorístico de Epigrams a In Programming de Alan Perlis.
Linguagem de programação de baixo nível trata-se de uma linguagem de programação mais próxima ao código da máquina e, portanto, menos abstrata. Um exemplo disso é a linguagem Assembly que trabalha diretamente com os registradores do processador, manipulando dados.
A diferença entre alto nível e baixo nível é uma propriedade relativa: um programador Java pode considerar C uma linguagem de baixo nível, enquanto um programador assembly consideraria C uma linguagem de alto nível. Um programador Python pode considerar Java de baixo nível, embora uma linguagem orientada à objetos como Java raramente seja considerada de baixo nível.
As linguagens de baixo nível são divididas em duas categorias: primeira geração e segunda geração.
[editar] Primeira Geração
A linguagem de primeira geração, ou 1GL, é o código de máquina. É a única linguagem que um microprocessador pode entender nativamente. O código de máquina não pode ser escrito ou lido por um editor de texto, e portanto é raramente usado por uma pessoa diretamente.
Exemplos: 1 - instrução de adição dos computadores B-200, B-300 e B-500 da Burroughs Corporation:
O=Op Code M e N variaveis que definem os campos dos endereços AAA e BBB AAA, BBB e CCC campos com os endereços dos operandos Campo O M N AAA BBB CCC Código: 1 2 3 100 200 300
Interpretação: O - 1 Código da instrução de adição M - 2 Quantidade de dígitos da parcela 1, em AAA N - 3 Quantidade de dígitos da parcela 2, em BBB AAA - 100 endereço da parcela 1 BBB - 200 endereço da parcela 2 CCC - 300 endereço onde deve ser armazenado o resultado da adição da parcela 1 com a parcela 2.
2 - uma das instruções de adição do microprocessador de sinal digital (DSP) TMS-320C54x da Texas Instruments:
0000000SIAAAAAAA
Interpretação: 0000000 - Código desta instrução de adição. S - define qual dos dois acumuladores será usado: 0 acumulador "A", 1 acumulador "B" I - indica o modo de endereçamento: 0 é endereçamento direto, 1 indireto. AAAAAAA - Address (endereço) Esta instrução soma um valor de 16 bits da memória (cujo endereço está no apontador) ao acumulador selecionado
[editar] Segunda Geração
A linguagem de segunda geração, ou 2GL, é a linguagem assembly. É considerada de segunda geração pois embora não seja uma linguagem nativa do microprocessador, uma linguagem assembly ainda deve compreender as características da arquitetura do microprocessador (como registradores e instruções).