Buscar

Linguagem de Programação e Montagem

Prévia do material em texto

UNIVERSIDADE FEDERAL RURAL DA AMAZÔNIA
DECÍOLA FERNANDES DE SOUSA
deciola@yahoo.com.br
ARQUITETURA DE COMPUTADORES I
LINGUAGENS 
DE 
PROGRAMAÇÃO
INTRODUÇÃO
A linguagem de programação é a representação do algoritmo.
A linguagem de máquina é complicada e difícil;
Começou-se a utilizar abreviações semelhantes ao inglês para representar as operações;
Exemplo: Linguagem Assembley.
LINGUAGEM ASSEMBLY
O programa escrito em Assembly não é executado diretamente.
Porque o hardware não entende símbolos;
Há necessidade de um programa para converter da linguagem Assembly para a linguagem de máquina. 
TRADUTOR.
TRADUTOR
O que é um programa TRADUTOR?
Tradução do quê?
Linguagem-fonte
Linguagem-objeto
TRADUTOR
Este programa denomina-se 
MONTADOR ou ASSEMBLER
O que faz o MONTADOR?
LINGUAGEM DE MONTAGEM
O que é?
É mais fácil que a linguagem de máquina
Cada declaração produz uma instrução de máquina no processo de montagem
LINGUAGEM DE MONTAGEM
O programa em linguagem Assembly roda em qualquer máquina?
Tudo que pode ser feito na linguagem de máquina pode ser feito na linguagem de montagem
A programação é difícil;
Demorada; 
LINGUAGEM DE MONTAGEM
EXEMPLOS:
Rotinas de BIOS (System Input/Output Basic)
Código em telefone celular
Tratadores de interrupções
Exceções de baixo nível.
LINGUAGEM DE MONTAGEM
MOV EAX, I
ADD EAX, J
MOV N, EAX
O que faz?
N=I+J
COMANDOS
Denominados pseudo-instruções;
Ou diretivas de assembler;
É exclusivo para os seres humanos;
Não tem efeito sobre o processo de montagem;
PSEUDO-INSTRUÇÕES
SEGMENT inicia um novo segmento;
ENDS encerram segmentos;
IF inicia montagem condicional;
ELSE inicia montagem condicional se condição IF for falsa
ENDIF termina montagem condicional;
MACRO
Significa “pedaço de texto”;
É quando o programador precisa repetir sequencias de instruções;
E chamar quando for necessária;
É uma solução fácil e eficiente;
MACRO x PROCEDIMENTO
ÍTEM
MACRO
PROCEDIMENTO
Quandoa chamada é feita?
montagem
Execução do programa
Éinserido no programa objeto?
sim
não
A instrução de chamada é inserida no programa objeto e executada mais tarde?
não
sim
Deve ser usada um instrução de retorno?
não
Sim
Quantas cópias do corpo aparecem no programa-objeto
Uma por chamada
Uma
EXERCÍCIO
Crie dois programas em Assembly para calcular as seguintes equações
a)X = A + (B * (C – A) + (D – E/B) * D)
b) Y = (A + B * (C – D * (E / (B – F)) + B) * E)
X = A + (B * (C – A) + (D – E/B) * D)
SUB C, A	 ; C -A			
MPY C,B 	 ; B * (C – A) 
DIV E,B 	 ; E/B
MOV X,D	; salva D em X
SUB D,E		; D – E/B
MPY X,D	; (D – E/B) * D
ADD X,C	; (B * (C – A) + (D – E/B) * D)
ADD X,A	; A + (B * (C – A) + (D – E/B) * D)
		
(A + B * (C – D * (E / (B – F)) + B) * E)
MOV Y, B		; salva B em Y
SUB B, F	; B-F
MOV F, E	; salva E em F
DIV E,B	; E / (B – F)
MPY D,E	; D * (E / (B – F)) 
ADD D,Y	; D * (E / (B – F)) + B
SUB C,Y	; C – D * (E / (B – F)) + B
MYP Y,C	; B * (C – D * (E / (B – F)) + B) * E
ADD Y,A
TIPOS DE LINGUAGENS
Linguagem Estruturada C e PASCAL. 
Linguagem orientada a objetos C++ e JAVA.
EVOLUÇÃO
 1954 a 1957 => FORTRAN;
(FORmula TRANslator) da IBM
1959 =>COBOL
(COmmon Business Oriented Language);
EVOLUÇÃO
1960 => Programação estruturada;
Uma abordagem disciplinada para escrever programas;
1965 => A linguagem BASIC foi desenvolvida
1971 => PASCAL;
Projetada quase na mesma época do C.
EVOLUÇÃO
1971;
Desenvolvimento da linguagem de programação PASCAL;
Projetada quase na mesma época do C. 
Foi criada pelo professor Nicklaus Wirth e foi projetada para utilização acadêmica.
EVOLUÇÃO
1984-1995 => Orientada a Objetos;
É a principal metodologia de programação;
O paradigma orientado a objetos tem como base a definição de estruturas que possam ser reutilizadas. 
Os objetos são descritos através de classes, que são compostas por métodos e estados.

Continue navegando