Tenho que fazer um trabalho sobre varias linguagens de programação, mas desta ha muito pouca coisa na net, sera k alguem m pode dar umas luzes???
obrigado![]()
|
|||||
Tenho que fazer um trabalho sobre varias linguagens de programação, mas desta ha muito pouca coisa na net, sera k alguem m pode dar umas luzes???
obrigado![]()
assembly é um liguagem de baixo nivel ! não que seja ordinariamas quer dizer que esta muito proxima do hardware, e é usada especificaemnte para ledar com hardware, depende do microprocessador com que se esta a lidar.
O assembler é um utilitario semelhante ao compilador mas com alguma diferenças.
O assembler tranforma "assembly language statements" em liguagem maquina, o compilador compila codigo de uma liguagem de uma liguagem de alto nivel em codigo maquina, a difereça é que o ssemble é um-pra-um uma intrução é "assemblada" numa instrução maquina, ao passo que uma intrução de C++ por erxemplo é compildada em N intruiçoes maquina.
assembly não é o meu forte e acho que nuca o usei para alem da curiosidade, ate porque é usado para lidar com o processador acesso aos registos e na contrução de drivers, mesmo assim em ansi C quaso tudo se faz portanto...
a wiki esta simpatica neste assunto
http://en.wikipedia.org/wiki/Assembl...embly_language
assembly é basicamente a linguagem maquina. Todas as outras linguagens, C, java etc etc etc sao apenas cosmetica para facilitar a vida ao programador facilitada. O que os compiladores fazem, é transformar a sintaxe/semantica em linguagem maquina, assembly portanto.
Não!
O pmct já explicou:
- Assembly é a linguagem.
- Assembler é um programa que transforma o programa escrito para código máquina.
Um programador, essencialmente, escreve um ficheiro de texto. Texto puro, do ASCII mais puro...![]()
A ferramenta Assembler irá "ler" o ficheiro de texto escrito pelo programador e gerar o código máquina correspondente.
O que posso dizer é que não gosto dessa linguagem de programação.. aliás, ando com ela ás voltas á algum tempo... ainda não fiz a cadeira de Microprocessadores...na volta é do prof, o que vale é que este ano é outro!! vamos ver se é de vez!!!
![]()
o assembly é uma linguagem de baixo nivel, em que cada linha de codigo representa uma instrução. Cada instrução tem tradução directa para linguagem maquina (basicamente sequencia de 0's e 1's). O assembly, dependendo do processador usa normalmente uma quantidade limitada de registos, que podem ser usados para o guardar de valores e variaveis.
A gestão dos registos disponiveis para o utilizador tem de ser muito bem gerida, e todo o codigo assembly roda em torno desses mesmos registos.
Normalmente existem 16 registos (R0 ao R15), sendo que os registos disponiveis para o utilizador normalmente sao do R1 ao R8 inclusive.
Os restantes registos contem informação importante, tal como o stack pointer.
Basicamente é uma linguagem muito poderosa, que permite fazer quase tudo, mas muito trabalhosa, pois sendo de baixo nivel para fazer uma pequena coisa e preciso uma data de instruçoes.
Fiz essa cadeira prai há uns 15 anos.
Do que é que me lembro?Muito pouco
![]()
![]()
Para já acho que tens que saber qual é o CPU. Sou do tempo do microcontrolador 80251 (ou coisa parecida).
A cada CPU corresponde um set de instruções. Com estas instruções (MOV, ADD, etc) a par com os registos já aqui falados (R0 a Rn) fazes o teu programa num qualquer ficheiro de texto.
Assemblas (compilar) o programa, que não é mais do que trasnformar as instruções do teu ficheiro de texto numa sequência de números em hexadécimal que o teu CPU vai entender.
Depois é só submeter o programa através dum interface específico que o CPU entenda e esperar que corra tudo bem à primeira (que aliás nunca corre).
E pronto acho que era assim, Se houver por aqui algum erro, peço desculpa, mas já passaram 15 anos.
Cuidado aí com as confusões:
NÃO existe UMA linguagem assembly.
Existem VÁRIAS linguagens assembly. Cada família de processadores tem a sua! O número de registos tb é diferente de processador p/ processador (inclusivamente dentro da mesma famíla).
Mais: o assembly não serve apenas para micro-controladores. Podem programar o PC em assembly.