linguagem de programação Assembly/Assembler!

Lourenco

New member
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 ordinaria [:D] mas 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...
 
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.
 
eu tb ja tinha encontrado isso, o problema e k ta em ingles:sh):sh):sh)

ja agora, assembler e assembly e a mesma coisa?


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... [:D]

A ferramenta Assembler irá "ler" o ficheiro de texto escrito pelo programador e gerar o código máquina correspondente.
 
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.

Erradíssimo, desculpa dizer-to. O código máquina é aquilo que o CPU interpreta, enquanto assembly é uma linguagem de programação de baixo nível.
 
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... [:D] na volta é do prof, o que vale é que este ano é outro!! vamos ver se é de vez!!![:cool:]
 
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?[8b] Muito pouco[8b] :sh)

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 [:D] ).

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.
 
Voltar
Superior