ASSEMBLY Aula1 1
Ciro Ceissler clac@cin.ufpe.br / ciro.ceissler@gmail.com
Assembly
é uma linguagem de baixo nível, chamada freqüentemente de
“linguagem de montagem”
É
uma linguagem considerada difícil, principalmente porque o programador precisa conhecer a estrutura da máquina para usá-la
Assembly
A
linguagem Assembly é atrelada à arquitetura de uma certa CPU, ou seja, ela depende completamente do hardware
Cada
família de processador tem sua própria linguagem assembly (Ex. X86,
ARM, SPARC, MIPS)
Por
essa razão Assembly não é uma linguagem portável, ao contrário da maioria das linguagens de alto nível
Assembly
Antes
do assembly:
◦ adição do microprocessador de sinal digital
(DSP) TMS-320C54x da Texas Instruments
0000000SIAAAAAAA
◦ instrução de adição dos computadores B-200,
B-300 e B-500 da Burroughs Corporation:
Campo: O M N AAA BBB CCC
Código: 1 2 3 100 200 300
Assembly
As
primeiras linguagens Assembly surgiram na década de 50, na chamada segunda geração das linguagens de programação A
segunda geração visou libertar os programadores de dificuldades como lembrar códigos numéricos e calcular endereços Assembly - História
Assembly
foi muito usada para várias aplicações até os anos 80, quando foi substituída pelas linguagens de alto nível
Isso
aconteceu principalmente pela necessidade de aumento da produtividade de software
Assembly - História
Atualmente
Assembly é usada para manipulação direta de hardware e para sistemas que necessitem de performance crítica Device
drivers, sistemas embarcados de baixo nível e sistemas de tempo real são exemplos de aplicações que usam
Assembly
Assembly - História
A
linguagem Assembly é de baixo nível, porém ainda precisa ser transformada na linguagem que a máquina entende
Quem
faz isso é o Assembler. O Assembler é um utilitário que traduz o código
Assembly para a máquina
Assembly - Assembler
Exemplo:
Antes -> mov al, 061h (x86/IA-32)
Depois -> 10110000 01100001
Assembly -