• Nenhum resultado encontrado

Projeto de um cross-fortran para microprocessadores.

N/A
N/A
Protected

Academic year: 2021

Share "Projeto de um cross-fortran para microprocessadores."

Copied!
103
0
0

Texto

(1)
(2)
(3)

PROJETO DE UM CROSS-FORTRAN PARA MICROPROCESSADORES

BERNARDO LULA JÚNIOR

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS CURSOS DE PÕS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DA PARAÍ_ BA COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS ( M . S c . ) .

A p r o v a d a p o r :

CAMPINA GRANDE

ESTADO DA PARAÍBA - BRASIL JANEIRO - 1979

(4)
(5)

AGRADECIMENTOS

O a u t o r a g r a d e c e :

Ao s e u o r i e n t a d o r e a m i g o P r o f . JOSE HOMERO FEITOSA CAVALCANTI p e l a atenção, i n c e n t i v o e a m i z a d e , não sõ na orientação d e s t e t r a b a l h o , mas também no d e c o r r e r do c u r s o de m e s t r a d o , e: t e n s i v o , em número e g r a u , a t o d o s os c o l e g a s do d e p a r t a m e n t o de s i s t e m a s e computação.

(6)

R E S U M O

E s t e t r a b a l h o a p r e s e n t a um p r o j e t o de um s i s t e m a de de s e n v o l v i m e n t o de òo^twanc. p a r a m i c r o p r o c e s s a d o r e s . O s i s t e m a f o i c o n c e b i d o p a r a o p e r a r na m o d a l i d a d e de cfioò5 -6 ofatwaiee com o o b j e t i v o de p o s s i b i l i t a r o d e s e n v o l v i m e n t o de p r o g r a m a s , em uma l i n g u a g e m de alto-nível, p a r a um c o n j u n t o de d i f e r e n t e s m i

c r o p r o c e s s a d o r e s . .

Os p r i n c i p a i s a s p e c t o s c o n s i d e r a d o s no p r o j e t o f o r a m : a valiação de q u a l l i n g u a g e m s e r i a m a i s c o n v e n i e n t e como língua gem- f o n t e do s i s t e m a , c o n s i d e r a n d o a a t u a l f a s e de d e s e n v o l v i ^ m e n t o de ÒO ^tvcan e. p a r a m i c r o p r o c e s s a d o r e s , e, a forma econômi ca de implementação d e s s a l i n g u a g e m p a r a uma c l a s s e n u m e r o s a d e s s e s d i s p o s i t i v o s .

C o n s t a do p r o j e t o uma descrição d e t a l h a d a da l i n g u a g e m f o n t e c o n s i d e r a d a e a definição d o s códigos e t a b e l a s g e r a d o s nas f a s e s do p r o c e s s o de tradução.

(7)

ABSTRACT T h i s w o r k d e s c r i b e s a s o f t w a r e d e v e l o p i t i e n t s y s t e m f o r m i c r o p r o c e s s o r s . The s y s t e m i s v i e w e d t o o p e r a t e i n c r o s s - s o f t w a r e mode w i t h t h e o b j e c t i v e o f d e v e l o p m e n t o f p r o g r a m s i n a h i g h l e v e i l a n g u a g e f o r a s e t o f d i f f e r e n t m i c r o p r o c e s s o r s .

The t w o p r i n c i p a l a s p e c t s c o n s i d e r e d " i n the design a r e : s e l e c t i o n o f a s o u r c e l a n g u a g e o f t h e s y s t e m c o n s i d e r i n g t h e a c t u a l d e v e l o p m e n t p h a s e o f s o f t w a r e , and a e c o n o _ m i e f o r m t o i m p l e m e n t t h e l a n g u a g e f o r a c l a s s o f m i c r o p r o _ c e s s o r s . The w o r k c o n s t i t u t e s a d e t a i l e d d e s c r i p t i o n o f t h e s o u r c e l a n g u a g e and t h e d e f i n i t i o n o f c o d e s a n d t a b l e s g e n e r a t e d d u r i n g t h e p h a s e o f c o m p i l a t i o n .

(8)

Í N D I C E

C A P I T U L O 1 : INTRODUÇÃO 1

1.0 - INTRODUÇÃO 1

1.1 - LINGUAGEM DE ALTO NÍVEL 2

1 . 2 - 0 S I S T E M A CFOR 5

1.3 - DESENVOLVIMENTO DO S I S T E M A 8

C A P I T U L O 2 : A LINGUAGEM FONTE 10

2.0 - INTRODUÇÃO 10

2.1 - ESCOLHA DO FORTRAN COMO LINGUAGEM

FONTE , 1 1 2.1.1 - S I M P L I C I D A D E E A C E I T A Ç Ã O . . . . 11 2.1.2 - E F I C I Ê N C I A DE EXECUÇÃO 12 2.1.3 - TRANSPORTABILIDADE 1 3 2.1.4 - F A C I L I D A D E DE IMPLEMENTAÇÃO. 1 3 2.2 - D E S C R I Ç Ã O DA LINGUAGEM 14 2.2.1 - CARACTERES B Á S I C O S E PALA_ VRAS RESERVADAS 14 2.2.2 - T I P O S DE DADOS 16 2.2.3 - CONSTANTES E V A R I Á V E I S 17 2.2.4 - OPERAÇÕES 1 9 2.2.5 - DECLARAÇÕES E COMANDOS 21 2.2.6 - SUBPROGRAMAS 26

(9)

2.2.7 - ENTRADA E SAÍDA 28 2.2.8 - INTERRUPÇÃO 30

CAPITULO 3 : ORGANIZAÇÃO DO PROCESSO DE TRADUÇÃO 32

3.0 - INTRODUÇÃOr. 32 3.1 - ORGANIZAÇÃO PADRÃO 32 3.2 - NÍVEL INTERMEDIÁRIO 35 3.3 - SIMPLIFICAÇÃO DO GERADOR 39 CAPITULO 4 : ANALISADOR 41 4.0 - INTRODUÇÃO 41 4.1 - CÓDIGO INTERMEDIÁRIO 41 4.1.1 - FORMATO DAS INSTRUÇÕES 41

4.1.2 - ORGANIZAÇÃO DO PROGRAMA I N _

TERMEDIARIO 44 4.1.3 - INSTRUÇÕES NI '• 4 5

4.2 - TABELAS DE INFORMAÇÃO , 52 4.2.1 - TABELA DE VARIÁVEIS ( T V ) . . . 53 4.2.2 - TABELA DE VARIÁVEIS TEMPO_

RARIAS (TVT) -54 4.2.3 - TABELA DE CONSTANTES NUME_

RICAS E LÓGICAS (TCNL) 54 4.2.4 - TABELA DE CONSTANTES DE CA_

RACTERES. (TCC) 55

CAPITULO 5 : MACROS E SUBROTINAS 57 5.0 - INTRODUÇÃO 57 5.1 - MACROS 58

(10)

5.2 - TABELA DE DEFINIÇÃO DE MACROS(TDM). 5.3 - SUBROTINAS CAPITULO 6 CAPITULO APÊNDICE A APÊNDICE B BIBLIOGRAFIA

5.4 - TABELA DE DEFINIÇÃO DE SUBROTINA (TDS)

5.5 - TABELA DE VARIÁVEIS INTERNAS ( T V I ) .

GERADOR DE CÓDIGO 6.0 - INTRODUÇÃO 6.1 - ORGANIZAÇÃO DO GERADOR 6 . 2 - 0 PROCESSADOR DE MACROS 6.2.1 - TABELAS E VARIÁVEIS 6.2.2 - FLUXOGRAMA DO PROCESSADOR.. 6.3 - GERADOR DE DECLARAÇÕES CONCLUSÕES 7.0 - INTRODUÇÃO 7.1 - SUMÁRIO 7.2 - IMPLEMENTAÇÃO DO SISTEMA 7.3 - SUGESTÕES

A . l - PROGRAMA FONTE EXEMPLO

A.2 - PROGRAMA INTERMEDIÁRIO EQUIVALENTE. A. 3 - EQUIVALÊNCIA DE VARIÁVEIS E CONS_

TANTES

-B. l - TABELA DE VARIÁVEIS

B.2 - TABELA DE VARIÁVEIS TEMPORÁRIAS.... B.3 - TABELA DE CONSTANTES

(11)

U N I V f R S i n A D F F f D' M ' l D A P A H A | 8 A J ' i 6 - I ' f li ria P a i a .<.-. d . . .

CcodenccCo Seíciicl de íós-í-níduacõo

HuaApiigio Vebso.832 TH (CB3) 321 7222-K 355

(12)

Capítulo I INTRODUÇÃO m.y -1 . 0 - INTRODUÇÃO A g r a n d e v a r i e d a d e de m i c r o p r o c e s s a d o r e s p r e s e n t e s no m e r c a d o (mais de 4 0 t i p o s ) , p r o p o r c i o n a aos i n t e r e s s a d o s no d e s e n v o l v i m e n t o de s i s t e m a s b a s e a d o s n e s s e s d i s p o s i t i v o s , a p o s s i b i l i d a d e de e s c o l h a do que m e l h o r s e a d a p t e ãs e s p e c i f i cações do p r o j e t o , e s c o l h a e s s a , b a s e a d a nas considerações de a r q u i t e t u r a , v e l o c i d a d e de operação, c o n j u n t o de instruções, c a p a c i d a d e de e n t r a d a e saída, e c u s t o (1 e 2 ) . No e n t a n t o , e s s a f l e x i b i l i d a d e de seleção do hafidwaAí f i c a c o m p r o m e t i d a q u a n d o se c o n s i d e r a os a s p e c t o s r e l a t i v o s ao òo&twaAz . A -maio r i a d o s s i s t e m a s de a p o i o e x i s t e n t e s p a r a o s e u d e s e n v o l v i m e n t o , q u e r na f o r m a de m i c r o c o m p u t a d o r e s e s p e c i a l i z a d o s n e s t a t a r e f a (TO/IN, EXORCISE, MCSIM, c.tc) , ou na forma de cAoòò-òó^imAZ

( r e s i d e n t e em uma máquina com m a i o r e s r e c u r s o s ) , a p r e s e n t a m d o i s g r a n d e s i n c o n v e n i e n t e s o u restrições:

São d e d i c a d o s a uma p a r t i c u l a r máquina.

Se r e s t r i n g e m ã l i n g u a g e m CLòòdmbtij do específico m i c r o p r o c e s s a d o r a q u e se d e s t i n a m a t e n d e r .

Em a l g u n s s i s t e m a s , como o d e s e n v o l v i d o p e l a CASE WES

(13)

embora a p r i m e i r a restrição s e j a r e l a x a d a (o usuário c o n t a com um e d i t o r d e t e x t o , e um cAoòé-ÍLÍAembíQA p a r a cada m i c r o p r o c e s s a d o r q u e o s i s t e m a s u p o r t a ) , não a p r e s e n t a m uma f l e x i b i l i d a de e f e t i v a , d e s d e q u e o usuário d e v e a p r e n d e r e bem u t i l i z a r os d i v e r s o s aiicmb£í/i p a r a u s u f r u i r d a c a p a c i d a d e o f e r e c i d a d e e s c o l h a do haKádoA-í , l e v a n d o - o a t e n d e r c o n s e r v a r o m i c r o p r o c e s s a d o r a q u e já está a f e i t o ^ n n e s m o q u e não s e j a o m a i s ade q u a d o p a r a os f i n s em v i s t a ( 1 ) . PDP 11/45 I N T E L e o . i V V V y v v MOSTEK F 8 INTEL 8 0 B 0 V * * ¥ W ± M 6 8 0 0 MOSTEK 6 5 0 2 v y » INTEL 3 0 0 0 R C A 18 0 0 V Y y S i s t e m a da CWR UníveAòity F i g u r a 1.1 1.1 - LINGUAGEM DE ALTO-NlVEL L i n g u a g e n s de a l t o - n l v e l p r o j e t a d a s e s p e c i a l m e n t e p a r a u s o em m i c r o p r o c e s s a d o r e s têm s i d o d e s e n v o l v i d a s , t a n t o p o r f a b r i c a n t e s como p o r f o n t e s i n d e p e n d e n t e s , e o f e r e c i d a s a o s usuários p r i n c i p a l m e n t e na f o r m a de CJIOÒÒ-ÒO^ÍWOAC ( 3 ) . A p r i _ m e i r a d e s s a s l i n g u a g e n s a n u n c i a d a f o i a PL/M, d e r i v a d a da l i n guagem P L / I , i n t r o d u z i d a p e l a INTEL em 1974 p a r a a u x i l i a r a programação do s e u m i c r o p r o c e s s a d o r 8008 e p o s t e r i o r m e n t e mo d i f i c a d a p a r a s u p o r t a r o s n o v o s r e c u r s o s i n t r o d u z i d o s no s e u

(14)

s u c e s s o r , o 8080 ( 4 ) . As mesmas razões q u e , em p a r t e , d e t e r m i n a r a m o s u c e s s o de várias l i n g u a g e n s de programação de compu t a d o r e s - o domínio do m e r c a d o p o r a l g u n s f a b r i c a n t e s e a g r a n d e q u a n t i d a d e de r e c u r s o s p o r e l e s i n v e s t i d o na p r e p a r a ção de s o f i s t i c a d a s implementações e e x t e n s i v a documentação -estão c o n t r i b u i n d o p a r a a adoção d e s s e p r o d u t o da INTEL, com a c o n s e q u e n t e proliferação de W n g u a g e n s t i p o PL/M, d e s e n v o l _ v i d a s p a r a o u t r o s t i p o s de m i c r o p r o c e s s a d o r e s (4 e 5 ) : MPL/I d e s e n v o l v i d a p e l a MOTOROLA p a r a s e u m i c r o p r o c e s s a d o r M6800 SMPL d e s e n v o l v i d a p e l a NATIONAL SEMICONDUCTOR pa r a o IMP-16 e PACE PL/M6 800 PL/W d e s e n v o l v i d a p e l a INTERMETRICS p a r a o M6800 d e s e n v o l v i d a p e l a WINTEK CORPORATION p a r a o M6800

PLys d e s e n v o l v i d a p o r KILDALL p a r a o SIGNETICS"< 2650

PL/Z d e s e n v o l v i d a p e l a ZILOG p a r a o Z-80

P a r a uma d e t e r m i n a d a c l a s s e de usuários, e s s a s l i n g u a g e n s a t e n d e m p e r f e i t a m e n t e ãs s u a s n e c e s s i d a d e s , p r o p o r c i o n a n d o um a u m e n t o e f e t i v o na t a x a de produção do Í O c o m o também p e r m i t i n d o uma m e l h o r documentação, em relação ao u s o da c o r r e s p o n d e n t e l i n g u a g e m aAbwbly. A INTEL, por exemplo, tem d e s e n v o l v i d o d i v e r s o s p r o j e t o s u t i l i z a n d o a l i n g u a g e m PL/M,en t r e e s s e s , um m o n t a d o r avançado, um c o m p i l a d o r PL/M e u n com p i l a d o r FORTRAN I V p a r a o s i s t e m a INTELLEC 8, q u e e x i g i r a m um r e d u z i d o tempo de d e s e n v o l v i m e n t o e t e s t e s , e s t i m a d o em 5 v e zes menos do q u e o necessário com a utilização da l i n g u a g e m

(15)

-Oòòmbly, com um e f i c i e n t e código o b j e t o r e s u l t a n t e , além da f a c i l i d a d e de manutenção e alteração p r o p o r c i o n a d a p e l a b o a d o e u mentação (3 e 6 ) . E s s a s l i n g u a g e n s , e n t r e t a n t o , e n q u a n t o s e j a m ótimas f e r r a m e n t a s nas mãos de " e n g e n h e i r o s de ò0^i3MXAJLn, não

e n c o n t r a m a mesma r e c e p t i v i d a d e p o r p a r t e dos usuários não - p r o f i s s i o n a i s em programação o u e n g e n h e i r o s de haAdwam e n v o l v i d o s em p r o j e t o s de s i s t e m a s d i g i t a i s u t i l i z a n d o m i c r o p r o c e s s a d o r e s ( 7 ) :

- São l i n g u a g e n s de "implementação de s i s t e m a s " , de alto-ní^ v e l , mas, v o l t a d a s ao c o n t r o l e de uma p a r t i c u l a r máquina e s u a s funções, r e f l e t i n d o s u a a r q u i t e t u r a , s e n d o d e s s e modo incompatíveis em vários g r a u s . E n q u a n t o q u e , p e l a s s u a s características, p r o d u z a m um e f i c i e n t e código o b j e t o , não o f e r e c e m ao usuário a necessária p o r t a b i l i d a d e ( 3 e 8)

- é de r e s p o n s a b i l i d a d e do usuário o d e s e n v o l v i m e n t o de t o das as r o t i n a s necessárias ao f u n c i o n a m e n t o do s i s t e m a

(inicialização, e n t r a d a e saída, c o n t r o l e de interrupção, e t c ) , e x i g i n d o a manipulação de bító e o c o n h e c i m e n t o da m a n e i r a específica como a máquina r e a l i z a e s s a s funções.

- a m a i o r p a r t e d e s s e s usuários são f a m i l i a r i z a d o s com a l g u mas p o u c a s l i n g u a g e n s de programação, e e n t r e e s s a s , não

se e n c o n t r a de f a t o , o P L / I ( 4 ) . í

Embora e s s a s l i n g u a g e n s t e n h a m a d q u i r i d o uma p r i o r i d a de i n i c i a l p o r p a r t e dos f a b r i c a n t e s de m i c r o p r o c e s s a d o r e s , ' l i n g u a g e n s de alto-nível o r i e n t a d a s p a r a aplicação estão e m e r g i n do, versões das p o p u l a r e s FORTRAN e BASIC, i m p l e m e n t a d a s n o s m a i s n o v o s s i s t e m a s de d e s e n v o l v i m e n t o de ÒO^ÍMOAÍ p a r a m i c r o

p r o c e s s a d o r e s ( I N T E L L E C % , M I L L E N W I U M SYSTEM, IEU0 SYSTEM, oXc), d o t a n

do o s usuários de uma f e r r a m e n t a de programação " u n i v e r s a l " e f a m i l i a r (4 e 6 ) .

(16)

1 . 2 - 0 SISTEMA CFOR

E s t e t r a b a l h o a p r e s e n t a o p r o j e t o de um s i s t e m a de a p o i o p a r a d e s e n v o l v i m e n t o de p r o g r a m a s p a r a aplicação em m i c r o p r o c e s s a d o r e s . 0 s i s t e m a f o i p r o j e t a d o p a r a o f e r e c e r a o s usuários as v a n t a g e n s da utili-sreição de uma l i n g u a g e m de a l to-nível v o l t a d a p a r a aplicação ( m a i o r p r o d u t i v i d a d e , m a i o r f a c i l i d a d e de manutenção, e p o r t a b i l i d a d e de um m i c r o p r o c e s s a d o r p a r a o u t r o ) , e, em função d o s r e c u r s o s e x i s t e n t e s no NPD do CCT-UFPb*, a p r e s e n t a n d o as s e g u i n t e s características: 1 ~ L i n g u a g e m f o n t e A l i n g u a g e m f o n t e do s i s t e m a CFOR é um subconjunto do FORTRAN I V do s i s t e m a IBM/370, com a supressão, s i m p l i _ ficação e u s o de declaração FORTRAN com s e n t i d o d i f e r e n t e ao atribuído p e l o FORTRAN I V p a r a p o s s i b i l i t a r o d e s e n v o l v i m e n t o de p r o g r a m a s típicos de m i c r o p r o c e s s a _ d o r e s e adaptação ao

liaAdtMKc

d o s m i c r o p r o c e s s a d o r e s de f i n a l i d a d e g e r a l , c l a s s e m a i s n u m e r o s a e de m a i o r e s p e c t r o de aplicação e n t r e os d i v e r s o s t i p o s d e s s e s d i s p o s i t i v o s . Embora modificações t e n h a m s i d o i n t r o d u z i d a s , f o i m a n t i d a t o t a l c o m p a t i b i l i d a d e com a s i n t a x e do FORTRAN I V , p e r m i t i n d o i n c l u s i v e a utilização do c o m p i l a d o r FORTRAN I V p a r a uma p r i m e i r a f a s e de d e p u r a ção de e r r o s . • 2 - C a p a c i d a d e de programação " u n i v e r s a l " T e o r i c a m e n t e , a l i n g u a g e m f o n t e a p r e s e n t a e s s a capa_

* Haclco de. PJvoceAòamtnto de Vadoi, do C&ntAO da Cienciaò e Tecnologia da UniveA&idadc Tedexat da Pafialba.

(17)

-c i d a d e , e n t r e t a n t o , p a r a q u e e l a s e t r a n s f i r a e f e t i v a m e n t e p a r a o s i s t e m a , é n e c e s s á r i o a s u a i m p l e m e n t a ç ã o p a r a o s d i v e r s o s m i c r o p r o c e s s a d o r e s d a c l a s s e c o n s i d e r a d a . E v i d e n t e m e n t e , um c o m p i l a d o r p a r a c a d a m i c r o p r o c e s s a d o r , em b o r a t e c n i c a m e n t e v i á v e l , n ã o c o r r e s p o n d e r i a d o p o n t o d e v i s t a e c o n ó m i c o p e l o a l t o c u s t o e n v o l v i d o n a g e r a ç ã o d ê s s e òo^XWOAe. . P a r a q u e o s i s t e m a ofereça e s s a c a p a c i d a d e a um c u s t o a c e i t á v e l , f o i a d o t a d a a t é c n i c a s u g e r i d a p o r MONGIOVI ( 9 ) e u t i l i z a d a p o r C A S I L L I n a i m p l e m e n t a ç ã o d o y B A S I C n o M I L L E N N I U M SYSTEM ( 7 ) , o n d e g r a n d e p a r t e d o p r o c e s s o d e t r a d u ç ã o é p a d r o n i z a d o e c o m p a r t i l h a d o p e l o s c o m p i l a d o r e s , como a p r e s e n t a d o n a f i g u r a a b a i x o : r L PROGRAMA F O R T R A N A N A L I Z A D O R

GERADOR GERA DOR

DE C Ó D I G O DE C Ó D I G O > [ 6 8 0 0 CÓDIGO CÓDIGO A S S E M B LY A S S E M B L Y _J S i s t e m a CFOR F i g u r a 1.2

(18)

3 - C r o s s - s o f t w a r e 0 s i s t e m a f o i p l a n e j a d o p a r a o p e r a r n a f o r m a d e CAoòò-AOÚtHXUie. p e l o s s e g u i n t e s m o t i v o s : - D i s p o n i b i l i d a d e d e um c o m p u t a d o r I B M / 3 7 0 - 1 4 5 n o NPD do CCT-UFPb c o m t o d o s o s r e c u r s o s n e c e s s á r i o s a o d e s e n v o l v i m e n t o e i m p l e m e n t a ç ã o d o s i s t e m a . - M a i o r r a p i d e z d o p r o c e s s o d e t r a d u ç ã o p e l o a p r o v e i _ t a m e n t o d a v e l o c i d a d e d e o p e r a ç ã o d a CPU d o 3 7 0 - 1 4 5. - P o s s i b i l i d a d e d e v á r i o s u s u á r i o s u t i l i z a r e m o s i s t e ma a o mesmo t e m p o , a p r o v e i t a n d o a c a p a c i d a d e d e m u i t i - p r o g r a m a ç ã o o f e r e c i d a p e l o O S - V S I d o c o m p u t a d o r d o NPD. - P r a t i c a m e n t e n e n h u m a r e s t r i ç ã o d e m e m ó r i a n o d e s e n v o l v i m e n t o d e um c o m p i l a d o r é i n t r o d u z i d a , a o »con t r á r i o d o q u e s e r i a e x i g i d o c a s o o s i s t e m a f o s s e p r o j e t a d o p a r a s e r r e s i d e n t e em m i c r o c o m p u t a d o r ' . D e s s e m o d o , o s i s t e m a a l é m d e u s u f r u i r d a e f i c i ê n c i a d o p r o c e s s a m e n t o d a m á q u i n a i n d i c a d a , n ã o e x i g e n e n h u m c u s t o a d i c i o n a l em hanáticuiz, a p r o v e i t a n d o i n t e g r a l m e n t e o s r e c u r s o s já e x i s t e n t e s n a i n s t a l a ç ã o d o NPD. 4 - G e r a ç ã o d e c ó d i g o abòmbíy 0 s i s t e m a CFOR n ã o f o i i d e a l i z a d o p a r a s e r um s i s t e _ ma c o m p l e t o d e d e s e n v o l v i m e n t o d e òo^twatz p a r a m i c r o p r o c e s s a d o r e s ( c a p a c i d a d e d e m o n t a g e m , d e p u r a ç ã o , s i m u l a ç ã o , e t c ) , como o s ã o o s s i s t e m a s s i m i l a r e s a o s 7

(19)

-r e f e -r e n c i a d o s n a s e ç ã o 1.0 (EK0C1SER, TW1N, CWR UNI VERSJTV),e s i m , d o t a r o s usuários de t a i s s i s t e m a s com a c a p a c i d a d e e v a n t a g e n s d a p r o g r a m a ç ã o em uma l i n g u a g e m d e a l t o - n í v e l , a p r o v e i t a n d o i n t e g r a l m e n t e o AO&twaAt de s u p o r t e e x i s t e n t e em c a d a {aò^umblzfi r e s i d e n t e o u CACÁò-aÃòmbteA, loadoA, d e p u r a d o r , s i m u l a d o r , e t c ) . D e s s a f o r m a , o s i s t e m a CFOR g e r a o c ó d i g o ai>i>m

bly e q u i v a l e n t e ao p r o g r a m a f o n t e FORTRAN, como a p r e s e n t a d o n a f i g u r a 1 . 2 , n a f o r m a d e c a r t ã o p e r f u r a d o e / o u l i s t a g e m i m p r e s s a , q u e d e v e s e r p a s s a d o p a r a a e n t r a d a d o a.ò&imbt<LK o u CÂJOòò-ai&QmblVi p a r a p r o d u z i r o c ó d i g o o b j e t o p a r a o e s p e c i f i c o m i c r o p r o c e s s a d o r . E m b o r a e s s a c o n f i g u r a ç ã o a c r e s c e n t e um p a s s o e x t r a n o p r o c e s s o d e t r a d u ç ã o , f a c i l i t a o d e s e n v o l v i m e n t o e i m p l e m e n t a ç ã o d o s i s t e m a , a l é m d e p e r m i t i r a o u s u á _ r i o p o s s i v e i s r e f i n a m e n t o s em n í v e l d e oui>ò2mbty n o c a s o d a s r e s t r i ç õ e s d e m e m ó r i a e p e r f o m a n c e s e t o r n a r e m c r i t i c a s . 1.3 - DESENVOLVIMENTO DO S I S T E M A Como v i s t o n a s e ç ã o a n t e r i o r , o d e s e n v o l v i m e n t o d o s i s t e m a c o n s i s t e b a s i c a m e n t e n a d e f i n i ç ã o d a l i n g u a g e m f o n t e e n a o r g a n i z a ç ã o d o p r o c e s s o d e t r a d u ç ã o d e modo a p o s s i b i l i _ t a r o a t e n d i m e n t o a t o d a uma c l a s s e d e m i c r o p r o c e s s a d o r e s a um c u s t o a c e i t á v e l . A s s i m , o t e x t o f o i o r g a n i z a d o como s e g u e : O c a p í t u l o I I f a z uma a b o r d a g e m i n i c i a l a c e r c a d o s c r i t é r i o s a d o t a d o s p a r a a e s c o l h a d o FORTRAN como l i n g u a g e m f o n t e d o s i s t e m a , s e g u i d o d a d e s c r i ç ã o d o s s e u s e l e m e n t o s c o r s t i t u i n t e s , r e s s a l t a n d o a s m o d i f i c a ç õ e s i n t r o d u z i d a s em r e l a ç ã o ã l i n g u a g e m FORTRAN I V d o s i s t e m a I B M / 3 7 0 .

(20)

O c a p í t u l o I I I a p r e s e n t a a p r o p r i e d a d e d o p r o c e s s o d e c o m p i l a ç ã o u t i l i z a d a p a r a v i a b i l i z a r a i m p l e m e n t a ç ã o d o s i s t e m a , a s c a r a c t e r í s t i c a s d o c ó d i g o g e r a d o p e l o ANALISADOR p a r a s u p o r t a r t o d o s o s m i c r o p r o c e s s a d o r e s d a c l a s s e c o n s i d e r a d a sem p r e j u i z o d a c a p a c i d a d e p a r t i c u l a r d e q u a l q u e r d e l e s , e , a s i m p l i f i c a ç ã o r e s u l t a n t e d o d e s e n v o l v i m e n t o d o GERADOR como um PROCESSADOR DE MACROS. O c a p í t u l o I V a p r e s e n t a a d e f i n i ç ã o d o c ó d i g o g e r a d o p e l o ANALISADOR, s u a e s t r u t u r a , i n s t r u ç õ e s e t a b e l a s d e i n f o r m a ç ã o , d e a c o r d o c o m o s o b j e t i v o s d o s i s t e m a e d a s c a r á c t e r í s t i c a s a p r e s e n t a d a s n o c a p í t u l o a n t e r i o r . 0 c a p í t u l o V d e s c r e v e r e g r a s e f a c i l i d a d e s a s e r e m s e g u i d a s e u t i l i z a d a s n o d e s e n v o l v i m e n t o d a s m a c r o s , s u b r o t i _ _ n a s e d e m a i s t a b e l a s n e c e s s á r i a s ã i m p l e m e n t a ç ã o d o GERADOR . 0 c a p í t u l o V I a p r e s e n t a o GERADOR DE C Õ D I G O como um PROCESSADOR DE MACROS, m o s t r a n d o s u a s e n t r a d a s , p r o c e s s a m e n t o e s a í d a a t r a v é s d e um f l u x o g r a m a e l u c i d a t i v o . 4 0 c a p í t u l o V I I a p r e s e n t a um r e s u m o e c o m e n t á r i o s a 1 r c e r c a d o e x p o s t o , a l g u m a s c o n s i d e r a ç õ e s r e f e r e n t e s a i m p l e m e n t a c ã o d o s i s t e m a e a l g u m a s s u g e s t õ e s p a r a o s e u a p e r f e i ç o a m e n t o . 0 a p ê n d i c e "A" a p r e s e n t a um e x e m p l o d a t r a n s f o r m a _ ç ã o d e um p r o g r a m a FORTRAN p a r a a f o r m a i n t e r m e d i á r i a , s i m u _ l a n d o a e x e c u ç ã o d o ANALISADOR. 0 a p ê n d i c e "B" m o s t r a a s t a b e l a s r e s u l t a n t e s d a s i m u l a ç ã o d o ANALISADOR a p r e s e n t a d a n o a p ê n d i c e a n t e r i o r . 9

(21)

-C a p í t u l o I I A LINGUAGEM FONTE 2 . 0 - I N T R O D U Ç Ã O Uma l i n g u a g e m d e p r o g r a m a ç ã o p a r a m i c r o p r o c e s s a d o r e s b a s i c a m e n t e em n a d a d i f e r e d e uma l i n g u a g e m p a r a u s o n o s e q u i p a m e n t o s c o n v e n c i o n a i s d e c o m p u t a ç ã o . D e v e c o n t e r o s c o n c e i t o s f u n d a m e n t a i s e m a i s f r e q u e n t e m e n t e e n c o n t r a d o s d e p r o g r a m a ç ã o , p e r m i t i r a e x p r e s s ã o d e s s e s c o n c e i t o s d a m a n e i r a m a i s n a t u r a l e c l a r a p o s s í v e l , a l é m d e p o s s i b i l i t a r um p r o c e s s a m e n t o e f i c i e n t e e e c o n ó m i c o ( 1 0 ) . D i v e r s a s l i n g u a g e n s d e p r o g r a m a ç ã o d e u s o g e h e r a l i _ z a d o como o FORTRAN, ALGOL, P L / I , B A S I C , e t c , p o s s u e m , , , em m a i o r o u m e n o r g r a u , e s s a s c a r a c t e r í s t i c a s , e , p o d e m s e r . utJL l i z a d a s p a r a o d e s e n v o l v i m e n t o d e p r o g r a m a s p a r a um a m p l o e s p e c t r o d e a p l i c a ç õ e s d e s s e s d i s p o s i t i v o s . 1 A o p ç ã o p e l a d e f i n i ç ã o d e uma n o v a l i n g u a g e m n ã o f o i c o n s i d e r a d a , d a n d o - s e p r e f e r ê n c i a a o a p r o v e i t a m e n t o ^ d e uma l i n g u a g e m já e s t a b e l e c i d a , p r i n c i p a l m e n t e p e l o s i n c o n v e n i e n t e s q u e a d v e r i a m p a r a o s u s u á r i o s d o s i s t e m a : a p r e n d e r a n o v a l i n g u a g e m , d i f i c u l d a d e d e o b t e n ç ã o e t r o c a d e i n f o r m a ç õ e s , e, i m p o s s i b i l i d a d e d e t r a n s f e r ê n c i a d e s e u s p r o g r a m a s p a r a um o u t r o s i s t e m a d e d e s e n v o l v i m e n t o .

(22)

2 . 1 - ESCOLHA DO FORTRAN COMO LINGUAGEM FONTE A e s c o l h a d o FORTRAN como l i n g u a g e m f o n t e d o s i s t e m a s e d e u em d e c o r r ê n c i a d e s t a l i n g u a g e m s a t i s f a z e r em s u a t o t a l i d a d e uma s é r i e d e r e q u i s i t o s o u c r i t é r i o s d e o r d e m p r á t i c a , c o n s i d e r a d o s como e s s e n c i a i s t a n t o p a r a a v i a b i l i d a d e c o m o p a r a a u t i l i z a ç ã o e f e t i v a d o s i s t e m a n o d e s e n v o l v i m e n t o d e p r o g r a m a s p a r a m i c r o p r o c e s s a d o r e s : - s i m p l i c i d a d e e a c e i t a ç ã o - e f i c i ê n c i a d e e x e c u ç ã o - t r a n s p o r t a b i l i d a d e - f a c i l i d a d e d e i m p l e m e n t a ç ã o 2 . 1 . 1 - S I M P L I C I D A D E E A C E I T A Ç Ã O 0 FORTRAN, n ã o o b s t a n t e s u a s e s t r u t u r a s d e c o n t r ô l e n ã o p e r m i t i r a e x p r e s s ã o d e a l g o r i t m o s d e uma m a n e i r a m u i t o c l a r a .e n a t u r a l como o ê p o s s í v e l em l i n g u a g e n s t i p o ALGOL e P L / I , a p r e s e n t a uma d e f i n i ç ã o p r e c i s a , e s t r u t u r a s i m p l e s .e r a c i o n a l , a l é m d e s e r uma d a s l i n g u a g e n s d e m a i o r d i f u s ã o e p e n e t r a ç ã o n o s d i v e r s o s c a m p o s d e a p l i c a ç ã o d o s c o m p u t a d o r e s , p r i n c i p a l m e n t e n o m e i o t ê c n i c o - c i e n t í f i c o o n d e ê m a t é r i a o b r i _ g a t õ r i a n a m a i o r i a d o s c u r s o s d e e n g e n h a r i a . A s u a c o n d i ç ã o d e l i n g u a g e m d e l a r g o u s o v e m d e t e r m i n a n d o a s u a u t i l i z a ç ã o como a l i n g u a g e m d e d e s e n v o l v i m e n t o d o s cAO-ò-ó-aA.i>embl&sil> e CA.06&-compiladores o f e r e c i d o s p e l o s f a b r i c a n t e s d e m i c r o p r o c e s s a d o r e s , como t a m b é m d a m a i o r i a d o s p a c o t e s d e òofatLoafie. p a r a o s m a i s d i v e r s o s f i n s (6 e 1 1 ) .

(23)

2 . 1 . 2 - EFIClfíNCIA DE E X E C U Ç Ã O No p r o c e s s o d e d e c i s ã o a r e s p e i t o d a u t i l i z a ç ã o o u n ã o d o m i c r o p r o c e s s a d o r em s u b s t i t u i ç ã o ã l ó g i c a hcuid-uii fizd o u , o n d e um m i c r o c o m p u t a d o r é m u i t o d i s p e n d i o s o o u d e s n e c e s s a r i a m e n t e p o d e r o s o , o p r T h c i p a l a s p e c t o t é c n i c o a s e r c o n s i d e r a d o s ã o o s r e q u e r i m e n t o s d e v e l o c i d a d e d e o p e r a ç ã o e x i g i d o s p e l o s i s t e m a em p r o j e t o ( 1 ) . Como m o s t r a o f l u x o g r a m a d o p r o c e s s o d e d e c i s ã o a b a i x o , a s r e s t r i ç õ e s d e t e m p o p o d e m s e t o r n a r t ã o s e v e r a s a p o n t o d e n ã o r e c o m e n d a r e m o s e u u s o : E S P E C I F I C A Ç Ã O DO SI S T E M A S S E L E Ç Ã O D O MICROPROCESSADOR MICROPROCESSADOR OU M I C R O C O M P U T A D O R L Ó G I C A H A R D - W I R E D OU M I N I C O M P U T A D O R F l u x o g r a m a d o p r o c e s s o d e d e c i s ã o F i g u r a 2 . 1

(24)

É i m p o r t a n t e n o t a r q u e , o s p a r â m e t r o s q u e s e r v i r ã o d e a p o i o a e s t a t o m a d a d e d e c i s ã o n ã o e s t ã o l i g a d o s a p e n a s ã s c o n s i d e r a ç õ e s d e haÂátíCUiQ. ( t e m p o d e c i c l o , n ? d e c i c l o s d a s i n s t r u ç õ e s , e t c ) , mas t a m b é m ã q u a l i d a d e d o ísO^titiaML disponí v e l . A u t i l i z a ç ã o d e uma l i n g u a g e m d e a l t o - n í v e l f a z c o m q u e o c o n c e i t o d e v e l o c i d a d e d a m á q u i n a r e a l e v o l u a p a r a o d e e f i c i ê n c i a d e e x e c u ç ã o d a " m á q u i n a a b s t r a t a " , d e f i n i d a p e l a l i n g u a g e m , n a m á q u i n a r e a l . E f i c i ê n c i a d e e x e c u ç ã o ê a c a r a c t e r í s t i c a m a i s f o r t e d o FORTRAN, d e v i d o ãs s u a s e s t r u t u r a s s i m p l e s e a o e s q u e m a e s t r i t a m e n t e e s t á t i c o d e a l o c a ç ã o d e m e m ó r i a , n ã o n e c e s s i t a n d o d e n e n h u m a r o t i n a d e a d m i n i s t r a ç ã o e a l o c a ç ã o d e m e m ó r i a em t e m p o d e e x e c u ç ã o ( 5 ) . 2 . 1 . 3 - T R A N S P O R T A B I L I D A D E D e n t r e a s l i n g u a g e n s d e p r o g r a m a ç ã o c o n s i d e r a d a s , a f o r a o B A S I C , a p e n a s o FORTRAN o f e r e c e e s s a c a p a c i d a d e , d e s d e q u e , um g r a n d e n ú m e r o d e n o v o s s i s t e m a s d e d e s e n v o l v i m e n t o d e to^t waK<i p a r a m i c r o p r o c e s s a d o r e s lançados r e c e n t e m e n t e no m e r c a d o a p r e s e n t a m o FORTRAN como l i n g u a g e m f o n t e , c o m a m p l a s p e r s p e c t i v a s d e p a d r o n i z a ç ã o . E s t e f a t o , a l é m d e e n c o r a j a r a t r o c a e v e n d a d e i n f o r m a ç ã o e n t r e a s d i v e r s a s i n s t a l a ç õ e s , t o r n a r á pos_ s í v e l a o s u s u á r i o s d o s i s t e m a CFOR a t r a n s f e r ê n c i a d e s e u s p r o g r a m a s p a r a um o u t r o s i s t e m a s e m n e n h u m a o u q u a s e n e n h u m a a l t e r a ç ã o , e v i c e - v e r s a . 2.1.4 - F A C I L I D A D E DE I M P L E M E N T A Ç Ã O A l é m d o s t r ê s f a t o r e s a p r e s e n t a d o s e a n a l i z a d o s n o s p a r a g r a f o s a n t e r i o r e s , um o u t r o , c o n s i d e r a d o t a m b é m d e i m p o r t â n c i a n o p r o c e s s o d e e s c o l h a d a l i n g u a g e m , d e s d e q u e a f e t a d í r ê 1 3

(25)

-t a m e n -t e o c u s -t o e a v i a b i l i d a d e d o s i s -t e m a , é o g r a u d e c o m p l e x i d a d e e n v o l v i d o n a s u a i m p l e m e n t a ç ã o . FORTRAN ê uma d a s l i n g u a g e n s d e m a i o r u s o q u e a p r e s e n t a m a i o r f a c i l i d a d e d e d e s e n v o l v i m e n t o d o c o m p i l a d o r . A t r a d u ç ã o d e s e u s c o m a n d o s é d i r e t a e p o d e s e r l e v a d a a e f e i t o n a s i m p l e s b a s e d e l i n h a p o r l i n h a . A ú n i c a e s t r u t u r a d e m a i o r c o m p l e x i d a d e é o DO, o n d e o c o m p i l a d o r d e v e c h e c a r p a r a q u e a s r e s t r i ç õ e s s o b r e a e s t r u t u r a e " n i n h o s d e D O1S " s e j a m s a t i s f e i t a s . 0 c o m p i l a d o r f a z u s o i n t e n s i v o d e t a b e l a s e n ã o n e c e s s i t a d e e s t r u t u r a s m a i s e l a b o r a d a s e s o f i s t i c a d a s p a r a l e v a r a c a b o o p r o c e s s o d e t r a d u ç ã o ( 5 ) . 2.2 - D E S C R I Ç Ã O DA LINGUAGEM A l i n g u a g e m FORTRAN c o n s i d e r a d a b a s e i a - s e n a l i n g u a g e m FORTRAN I V d e s e n v o l v i d a p e l a I B M p a r a o s s i s t e m a s I B M / 3 6 0 e I B M / 3 7 0 ( 1 2 ) , c o n t e n d o a m a i o r i a d o s s e u s p r i n c i p a i s e l e m e n t o s e c o m a n d o s m a i s u t i l i z a d o s , c o m a l g u m a s r e s t r i ç õ e s i n t r o d u z i d a s p a r a a d a p t a ç ã o ã a r q u i t e t u r a e u s o d o s m i c r o p r o c e s s a d o _ r e s d a c l a s s e c o n s i d e r a d a , s e m n o e n t a n t o , d e s c a r a c t e r i z a r a s i n t a x e o r i g i n a l . Na d e s c r i ç ã o d o s c o m a n d o s e d e c l a r a ç õ e s d a l i n g u a g e m f o i u t i l i z a d a a mesma n o t a ç ã o a p r e s e n t a d a n o d o c u m e n t o G C 2 3 --6 5 1 5 - 1 0 p u b l i c a d o p e l a I B M p a r a d e s c r e v e r a l i n g u a g e m FORTRAN I V e q u e s e r v i r á c o m o r e f e r ê n c i a p a r a t o d a e q u a l q u e r c a r a c t e r í s t i c a p a d r ã o d a l i n g u a g e m q u e n ã o e s t e j a e x p l i c i t a m e n t e c o n s i d e r a d a n o t e x t o .

2 . 2 . 1 - CARACTERES B Ã S I C O S E PALAVRAS RESERVADAS

a - C o n j u n t o d e c a r a c t e r e s

Os c a r a c t e r e s v á l i d o s n a l i n g u a g e m c o n s i s t e m d o s a l f a - n u m é r i c o s :

(26)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 d o s c a r a c t e r e s e s p e c i a i s : b r a n c o = + - / * . , ' ( ) e d e q u a l q u e r d o s c a r a c t e r e s A S C I I d e 2 1 (!) a 5A ( Z ) , p e r m i t i d o s a p e n a s n a f o r m a ç ã o d e c o n s t a n t e s d e c a r a c t e r e s . b - P a l a v r a s r e s e r v a d a s Da o b s e r v a ç ã o d e p r o g r a m a s FORTRAN c o n s t a t a - s e q u e em r a r i s s i m a s o c a s i õ e s a s p a l a v r a s - c h a v e s d a l i n g u a g e m s ã o u t i l i z a d a s p a r a d a r n o m e s ã v a r i á v e i s , ah haiji, s u b r o t i n a s , e t c . Então, p a r a f a c i l i t a r a t a r e f a d e r e c o n h e c i m e n t o d e c o m a n d o s e o p e r a ç õ e s , e , p o s s r b i l i t a r a l g u m a s e x t e n s õ e s n e c e s s á r i a s , o s s e g u i n t e s n o mes s ã o c o n s i d e r a d o s p a l a v r a s r e s e r v a d a s :

INTEGER C A L L END DABS

REAL READ EOF FLOAT

L O G I C A L WRITE I N T R P T DFLOAT D I M E N S I O N FORMAT D E V I C E I F I X COMMON CONTINUE I N I C I O H F I X DATA RETURN I D E N T DO SUBROUTINE I A B S GO TO STOP ABS A l é m d e t o d o s i n c l u s i v e . o s np_mes v a l i d o s i n i c i a d o s p e l a l e t r a Z, 15

(27)

-2 . -2 . -2 - T I P O S DE DADOS

Os t i p o s d e d a d o s f o r a m d e f i n i d o s em f u n ç ã o d a s a p i i c a ç o e s e d a a r q u i t e t u r a d o s m i c r o p r o c e s s a d o r e s c o n s i d e r a d o s U t i l i z a m a mesma d e n o m i n a ç ã o d o FORTRAN I V , p o r é m , com r e p r e s e n t a ç ã o i n t e r n a d i f e r e n t e d a o r i g i n a l . A l i n g u a g e m s u p o r t a , c i n c o t i p o s e l e m e n t a r e s e um e s t r u t u r a d o , a l é m d a s c o n s t a n t e s d e c a r a c t e r e s p e r m i t i d a s a p e n a s em m e n s a g e n s p r o g r a m a d a s d e s a í d a . 2 . 2 . 2 . 1 - T I P O S S I M P L E S a - I n t e i r o - s i m p l e s O c u p a um byte d e m e m ó r i a , r e p r e s e n t a d o i n t e r n a m e n - t e como um n u m e r o b i n á r i o em c o m p l e m e n t o d e 2. b - I n t e i r o - d u p l o _ •» O c u p a d o i s bytdò c o n s e c u t i v o s de m e m ó r i a , utíli z a n d o a r e p r e s e n t a ç ã o em c o m p l e m e n t o de 2. c - R e a l - s i m p l e s Os m i c r o p r o c e s s a d o r e s c o n s i d e r a d o s p o s s u e m c a p a c i _ d a d e p a r a a r i t m é t i c a d e c i m a l p a r a ambos o s t i p o s d e n ú m e r o s BCD, c o m p a c t a d o s e d e s c o m p a c t a d o s . E m b o r a o s d o i s t i p o s d e s c r i t o s a n t e r i o r m e n t e s a t i s f a ç a m a m a i o r i a d a s a p l i c a ç õ e s n u m é r i c a s , s e a c h o u p o r b e m apro-v e i t a r a c a p a c i d a d e o f e r e c i d a e c o n s e q u e n t e m e n t e d a r m a i o r e s o p ç õ e s a o u s u á r i o .

(28)

O t i p o r e a l - s i m p l e s é r e p r e s e n t a d o i n t e r n a m e n t e p o r d i g i t o s BCD d e s c o m p a c t a d o , o c u p a n d o 5 byttò c o n t i g u o s d e m e m ó r i a , s e n d o o s q u a t r o p r i m e i r o s p a r a a r m a z e n a r o s d i g i t o s d o n ú m e r o e o ú l t i m o p a r a r e p r e s e n t a r o s i n a l n o s 4 bctò d e m e n o r o r d e m . d - R e a l - d u p l o R e p r e s e n t a d o i n t e r n a m e n t e p o r d i g i t o s BCD c o m p a c t a d o s , o c u p a n d o 5 bytu> c o n s e c u t i v o s d e m e m ó r i a , com o s i n a l r e p r e s e n t a d o n o s 4 bi&> d e m e n o r o r d e m d o ú l t i m o bytz. e - L ó g i c o O c u p a um byte d e m e m ó r i a , c o m o s d o i s v a l o r e s ló g i c o s r e p r e s e n t a d o s i n t e r n a m e n t e p e l o s h e x a d e c i m a i s 00 e 0 1 . • ' 1 r 2 . 2 . 2 . 2 - T I P O ESTRUTURADO

I d ê n t i c o a o aKAay homogéneo d o FORTRAN I V , com algú_ mas r e s t r i ç õ e s p a r a p e r m i t i r s e u u s o c o m e f i c i ê n c i a : - L i m i t a d o a um m á x i m o d e 2 d i m e n s õ e s - M á x i m o n ú m e r o d e e l e m e n t o s i g u a l a 1 2 7 2.2.3 - CONSTANTES E V A R I Á V E I S a - CONSTANTES As c o n s t a n t e s p o d e m s e r f o r m a d a s d e q u a l q u e r d o s t i 17

(29)

-p o s s i m -p l e s d e s c r i t o s n o i t e m 2 . 2 . 2 . 1 e d e s e q u ê n c i a s d e c a r a c t e r e s . i n t e i r o - s i m p l e s : s e q u ê n c i a d e d i g i t o s d e c i m a i s p r e c e d i d a o u n ã o p o r s i n a l (+ o u - ) . Se o s i n a l fôr o m i t i _ d o , o v a l o r é c o n s i d e r a d o p o s i t i v o . - 1 2 8 < v a l o r < 1 2 7 i n t e i r o - d u p l o : e x t e n s ã o d a a n t e r i o r , c o m a f a i x a d e v a l o r e s s e a l a r g a n d o p a r a o m á x i m o d e 3 2 7 6 7 a um m i n i _ mo d e - 3 27 6 8 . r e a l - s i m p l e s : s e q u ê n c i a d e a t é 4 d i g i t o s d e c i m a i s p r e c e d i d o o u n ã o p o r s i n a l ( + o u - ) . Se o m i t i d o o s i n a l , o v a l o r é c o n s i d e r a d o p o s i t i v o . - 9 9 9 9 < v a l o r < 9 9 9 9 r e a l - d u p l o : e x t e n s ã o d a a n t e r i o r , c o m a s e q u ê n c i a s e e s t e n d e n d o p a r a a t é 9 d i g i t o s d e c i m a i s . •« - 9 9 9 9 9 9 9 9 9 < v a l o r í 9 9 9 9 9 9 9 9 9 . , l ó g i c o : .TRUE. e .FALSE. c a r a c t e r e s : q u a l q u e r s e q u ê n c i a d e c a r a c t e r e s v á l i d o s (máximo de 2 5 5 ) . S e u u s o ê r e s t r i t o ã d e c l a r a ç ã o FORMAT e p o d e s e r e s c r i t a n a s d u a s f o r m a s p e r m i t i d a s p e l o FORTRAN I V . b - V A R I Á V E I S S I M P L E S A l e i d e f o r m a ç ã o d e nome d e v a r i á v e i s ê i d ê n t i c a a d e f i n i d a p e l o FORTRAN I V , c o m r e s t r i ç ã o a p e n a s a o s c a , r a c t e r e s b á s i c o s p e r m i t i d o s e i n d i c a d o s em 2 . 2 . 1 .

(30)

c - V A R I Á V E I S SUBSCRITAS A f o r m a ç ã o d o nome s e g u e a mesma l e i a c i m a e o s s u b s c r i t o s p o d e m s e r e x p r e s s o s n a s s e g u i n t e s f o r m a s : v c v ± c c * v C l * V ± C 2 Onde v é uma v a r i á v e l i n t e i r o - s i m p l e s , s e m s i n a l , e , c , C i e C 2 são c o n s t a n t e s i n t e i r o - s i m p l e s sem s i n a l . 2', 2.4 - O P E R A Ç Õ E S A l i n g u a g e m o f e r e c e um c o n j u n t o d e o p e r a ç õ e s a r i t m é t i c a s , r e l a c i o n a i s e l ó g i c a s , a p l i c a d a s a o s t i p o s d e d a d o s , d e s c r i t o s em 2 . 2 . 2 . 1 , a l é m d e um e x t e n s i v o c o n j u n t o d e o p e r a ç õ e s de c o n v e r s ã o d e t i p o s e v a l o r a b s o l u t o . i a - O P E R A Ç Õ E S A R I T M É T I C A S A D I Ç Ã O , S U B T R A Ç Ã O , M U L T I P L I C A Ç Ã O e D I V I S Ã O a p l i c a d a s a t o d o s o s t i p o s n u m é r i c o s com o a u x í l i o d o s o p e r a d o r e s + , -, *, /, c o m o s o p e r a n d o s d e um mesmo t i p o .

(31)

D " OPERAÇÕES RELACIONAIS

Mesmas o p e r a ç õ e s d o FORTRAN I V , com o s o p e r a n d o s d e um mesmo t i p o n u m é r i c o e r e s u l t a d o d o t i p o lógi c o . O p e r a d o r e s :

.EQ., .NE., . L T . , .GT., . L E . , .GE.

c - O P E R A Ç Õ E S L Ó G I C A S I d ê n t i c o a o FORTRAN I V , c o m o s o p e r a d o r e s .NOT., .AND., e .OR. d - O P E R A Ç Õ E S DE C O N V E R S Ã O DE T I P O S E VALOR ABSOLUTO E m b o r a o s t i p o s d e d a d o s s e j a m d i f e r e n t e s , f o i u t i l i z a d a a mesma n o m e n c l a t u r a d o FORTRAN I V p a r a a d e f i n i ç ã o d a s o p e r a ç õ e s d e c o n v e r s ã o e v a l o r a b s o l u _ t o : ' , OPERADOR OPERANDO O P E R A Ç Ã O FLOAT I D I D •+ RS DFLOAT' I D I D -> RD I F I X RS RS I D H F I X RD RD I D ABS RS/RD VA I A B S I S VA DABS I D VA * - I D - I n t e i r o - d u p l o RS - R e a l - s i m p l e s RD - R e a l - d u p l o I S - I n t e i r o - s i m p l e s VA - V a l o r a b s o l u t o

(32)

Na f o r m a ç ã o d e e x p r e s s õ e s n ã o é p e r m i t i d o a m i s t u r a de t i p o s e a s mesmas l e i s d e p a r e n t i z a ç ã o e p r e c e d ê n c i a d o FORTRAN I V é a s s u m i d a , com o s o p e r a d o r e s d i s t r i b u i d o s n a s e g u i n t e o r d e m ( m a i s a l t a p a r a m a i s b a i x a p r i o r i d a d e ) :

FLOAT, DFLOAT, I F I X , H F I X , ABS, I A B S , DABS

/

+

.EQ. , .NE. , . L T . , .GT., . L E . , .GE.

.NOT. .AND. .OR . 2.2.5 - D E C L A R A Ç Õ E S E COMANDOS Os c o m a n d o s e d e c l a r a ç õ e s d a l i n g u a g e m t ê m b a s i c á m e n _ t e a mesma f o r m a e s i g n i f i c a d o d o FORTRAN I V . A s r e s t r i ç õ e s e m o d i f i c a ç õ e s e s t ã o e x p l i c i t a m e n t e c o n s i d e r a d a s n a d e s c r i ç ã o . a - D E C L A R A Ç Õ E S DE E S P E C I F I C A Ç Ã O DE T I P O S A s r e g r a s d e d e c l a r a ç ã o d e v a r i á v e i s d o FORTRAN I V f o r a m l i g e i r a m e n t e m o d i f i c a d a s p a r a a c o m p a n h a r a s d i f e r e n ç a s d e t i p o s e n t r e a s l i n g u a g e n s : d e c l a r a ç ã o i m p l i c i t a : s e a p r i m e i r a l e t r a d o nome f o r I , J , K, L , M o u N, a v a r i á v e l é c o n s i d e r a d o d o t i p o i n t e i r o - s i m p l e s c a s o c o n t r á r i o , r e a l - s i m p l e s . 2 1

(33)

-d e c l a r a ç ã o e x p l i c i t a : v a r i á v e i s e cvuuxip p o -d e m s e r -d e c l a r a d a s u t i l i z a n d o - s e a s s e g u i n t e s d e c l a r a ç õ e s :

T I P O L I S T A

o n d e :

T I P O : INTEGER, INTEGER* 2, REAL, REAL*2, L O G I C A L L I S T A : Nomes d e v a r i á v e i s s i m p l e s o u d e aniayi, ( d i m e n s i o n a d o s o u n ã o ) s e p a r a d o s p o r v i r g u l a s . b - D E C L A R A Ç Ã O D I M E N S I O N FORMA GERAL: D I M E N S I O N a i ( k i ) , a2 ( k2) , a3 ( k3 ) , .. . , an ( k _n) o n d e :

a_i , a_2 , - . .a : Nomes d e aftxayò

k j , k2, . . . k : f o r m a d o s p o r uma o u d u a s c o n s t a n — — ' — n r — t e s i n t e i r o - s i m p l e s s e m s i n a l , s e p a r a d a s p o r v í r g u l a s e o b e d e c e n d o a s r e s t r i ç õ e s e s t a b e l e c i d a s em 2 • 2 • 2 • 2 • c - D E C L A R A Ç Ã O COMMON FORMA GERAL : COMMON/NOME DO B L O C O / L I S T A o n d e :

(34)

NOME DO BLOCO: Q u a l q u e r nome v á l i d o

L I S T A : Nomes d e v a r i á v e i s s i m p l e s o u d e cuuiayi (dim e n s i o n a d o s o u n ã o ) s e p a r a d o s p o r v í r g u l a s . D e v e c o n c o r d a r em n ú m e r o , o r d e m e t i -p o c o m a l i s t a d o b l o c o d e mesmo nome d e c l a r a d o em uma s u b r o t i n a . d - C O M E N T Á R I O S Da mesma f o r m a q u e o FORTRAN I V . e - COMANDO DE A T R I B U I Ç Ã O FORMA GERAL: a = b o n d e : a : nome d e v a r i á v e l s i m p l e s o u s u b s c r i t a b : e x p r e s s ã o a r i t m é t i c a , r e l a c i o n a l o u l ó g i c a As s e g u i n t e s r e g r a s d e c o m p a t i b i l i d a d e d e a t r i ç ã o d e v e m s e r o b e d e c i d a s : Se b é d o t i p o l ó g i c o , a d e v e s e r n e c e s s a r i a m e n t e d e s s e mesmo t i p o . Se b e i n t e i r o - s i m p l e s o u d u p l o , a d e v e s e r d e um d e s s e s t i p o s , c o m a c o n v e r s ã o , s e n e c e s s á r i a , r e a l i z a d a a u t o m a t i c a m e n t e . 3) Se b ê r e a l - s i m p l e s o u d u p l o , a d e v e s e r d e um d e s s e s t i p o s , c o m a c o n v e r s ã o r e a l i z a d a a u t o m a t i _ c a m e n t e . U NIV' " ' IP* Pf t'n l D 1 P " M l B A

V t 6 - I ' t 'tia Vara At*t ».•. s do Inteiinr

Coo-denrciio Setorícl da rôs-Urnduação

Rua Aprígio Velaso. 882 • T * l (083) 321 -7222

-R 355

68.100 - Campino (Jm-nde • Paraíba

2 3 -b u i

D

(35)

f - COMANDO DATA FORMA GERAL: d a t a k j / d i / , k2/ d2/ » . . . r kn/ dn/ o n d e : k i ,k?. , . . . ,k_n : L i s t a d e n o m e s d e v a r i á v e i s s i m _ p i e s , s u b s c r i t a s o u d e oaacujò . d i , d 2 r...,ã^ : L i s t a de c o n s t a n t e s numéricas o u l ó g i c a s . Q u a l q u e r d e s s a s c o n s t a n t e s p o d e m s e r p r e c e d i d a s p o r i * , o n d e i é uma c o n s t a n t e i n t e i r o -- s i m p l e s s e m s i n a l . Q u a n d o a f o r ma a p a r e c e a n t e s d e uma c o n s _ t a n t e , i n d i c a q u e e s t a d e v e s e r e s p e c i f i c a d a i v e z e s .

COMANDOS DE CONTROLE DE SEQUENCIA

I F L Ó G I C O FORMA GERAL: I F o n d e : a : q u a l q u e r e x p r e s s ã o r e l a c i o n a l o u l ó g i c a c : q u a l q u e r c o m a n d o e x e c u t á v e l e x c e t o o c o m a n d o DO o u o u t r o c o m a n d o I F . I F A R I T M É T I C O FORMA GERAL:

(36)

I F ( a ) n_i , n2, n 3 o n d e : a : q u a l q u e r e x p r e s s ã o a r i t m é t i c a . n . i , n2f n j : n ú m e r o s d e c o m a n d o s d a u n i d a d e c o n _ t e n d o o c o m a n d o I F GO TO FORMA GERAL: GO TO n o n d e : n : n ú m e r o d e um c o m a n d o d a mesma u n i d a d e d e p r o g r a m a ç ã o . STOP FORMA GERAL: STOP END e EOF END i n d i c a a o c o m p i l a d o r f i m d e uma u n i d a d e d e p r o g r a m a ç ã o ( p r o g r a m a p r i n c i p a l o u s u b p r o g r a m a ) . EOF i n d i c a f i m d o p r o g r a m a f o n t e ,

h - COMANDO DE CONTROLE DE LOOP

FORMA GERAL:

(37)

-DO n i m^, m2, n u o n d e : n : n ú m e r o d o ú l t i m o c o m a n d o d o l o o p . i : nome d e v a r i á v e l s i m p l e s ( i n t e i r o - s i m p l e s o u d u p l o ) m^, m 3 : c o n s t a n t e s o u v a r i á v e i s s i m p l e s c o n c o r d a n d o em t i p o c o m i . 2 . 2 . 6 - SUBPROGRAMAS A l i n g u a g e m a c e i t a a s d u a s f o r m a s p r i n c i p a i s d e s u b p r o -g r a m a s d o FORTRAN I V , F U N Ç Ã O e SUBROTINA, c o m r e s t r i ç õ e s a o n ú m e r o e t i p o d e p a r â m e t r o s p e r m i t i d o s . A t r a n s m i s s ã o d e p a r a m e _ t r o s o b e d e c e a mesma f i l o s o f i a , p o r r e f e r ê n c i a . D a d o s p o d e m s e r c o m p a r t i l h a d o s a t r a v é s d o u s o d a d e c l a r a ç ã o COMMON. a - D E C L A R A Ç Ã O DE F U N Ç Ã O FORMA GERAL:

T I P O FUNCTION NOME * 2 ( L I S T A DE ARGUMENTOS SEM E F E I T O ) o n d e : f T I P O : INTERGER, REAL o u L O G I C A L Nome: Nome d a f u n ç ã o , f o r m a d o a p a r t i r d a r e g r a i n d i c a d a em 2 . 2 . 3 i t e m ( b ) . * 2 : e s s a f o r m a s ó d e v e s e r u s a d a s e a f u n ç ã o f o r d o t i p o i n t e i r o - d u p l o o u r e a l - d u p l o .

(38)

L I S T A : Nomes d e v a r i á v e i s s i m p l e s o u d e aAAayò, s e p a r a d o s p o r v i r g u l a s . No m á x i m o 8 a r g u m e n t o s s ã o p e r m i t i d o s . b - R E F E R Ê N C I A A F U N Ç Ã O A r e f e r ê n c i a ê f e i t a numa e x p r e s s ã o , n a f o r m a : NOME ( L I S T A DE P A R Â M E T R O S ) o n d e :

NOME : mesmo nome d a d e c l a r a ç ã o

L I S T A : n o m e s d e v a r i á v e i s s i m p l e s , s u b s c r i t a s o u d e cuiAcujs, s e p a r a d a s p o r v i r g u l a s . Deve c o n c o r d a r em n ú m e r o , o r d e m e t i p o c o m o s c o r r e s p o n d e n t e s a r g u m e n t o s s e m e f e i t o d a d e c l a r a ç ã o . c - D E C L A R A Ç Ã O DE SUBROTINA FORMA GERAL:

SUBROUTINE NOME ( L I S T A DE ARGUMENTOS SEM E F E I T O )

o n d e : NOME : nome d a s u b r o t i n a f o r m a d o a p a r t i r d a r e g r a i n d i c a d a em 2 . 2 . 3 i t e m ( b ) . L I S T A : d a mesma f o r m a q u e i n d i c a d a n a d e c l a r a ç ã o d e F U N Ç Ã O . É o p c i o n a l . d - R E F E R Ê N C I A A SUBROTINA FORMA GERAL: 2 7

(39)

-C A L L NOME ( L I S T A DE P A R Â M E T R O S )

o n d e :

NOME : mesmo nome d a d e c l a r a ç ã o

L I S T A : d a mesma f o r m a q u e i n d i c a d a n a r e f e r ê n c i a a F U N Ç Ã O . É o p c i o n a l .

e - RETORNO DE SUBPROGRAMA

FORMA GERAL:

RETURN

OBS . : A mesma l e i d e e s c o p o d e n o m e s d o FORTRAN I V é a s s u m i d a , i s t o ê , n o m e s d e v a r i á v e i s e ciAAayò n o s s u b p r o g r a m a s e p r o g r a m a p r i n c i p a l p o d e m c o i n c i d i r p o i s s ã o u n i d a d e s d e p r o g r a m a ç ã o i n d e p e n d e n t e s . 2 . 2 . 7 - ENTRADA E S A Í D A A l i n g u a g e m p r o v i d e n c i a um c o n j u n t o d e s u b r o t i _ n a s d e e n t r a d a e s a l d a d e s e n v o l v i d a s p a r a c a d a t i p o d e p e r i f é r i c o n o r m a l m e n t e u s a d o em a p l i c a ç ã o d e m i c r o p r o c e s s a d o r e s . As_ s i m , o u s u á r i o „não p r e c i s a s e p r e o c u p a r c o m e s s a s o p e r a ç õ e s , b a s t a n d o s e l e c i o n a r o p e r i f é r i c o d e s e j a d o e u t i l i z a r o s c o m á n _ d o s e s p e c i a i s d a l i n g u a g e m p a r a

esse

f i m , d a mesma f o r m a q u e n a s i n s t a l a ç õ e s c o n v e n c i o n a i s d o FORTRAN. No p r o c e s s o d e t r â d u ç ã o ,

esses

c o m a n d o s s ã o c o n v e r t i d o s em uma s e q u ê n c i a d e códi_ g o s r e l a t i v a m e n t e s i m p l e s , q u e r e p r e s e n t a m b a s i c a m e n t e uma i n _ v o c a ç ã o d a a p r o p r i a d a s u b r o t i n a d e E/S.

(40)

a - COMANDO DE ENTRADA DE DADOS FORMA GERAL: READ ( n ) L I S T A o n d e : n : c o n s t a n t e i n t e i r o - s i m p l e s sem s i n a l i n d i c a t i v a d o p e r i f é r i c o . L I S T A : Nomes d e v a r i á v e i s s i m p l e s , s u b s c r i t a s o u d e CLfifi&ijò s e p a r a d o s p o r v í r g u l a s . b - COMANDO DE S A l D A DE DADOS FORMA GERAL: WRITE ( n ) L I S T A o u WRITE ( n , m) o n d e : n : c o n s t a n t e i n t e i r o - s i m p l e s s e m s i n a l i n d i c a t i v a d o p e r i f é r i c o . L I S T A : Nomes d e v a r i á v e i s s i m p l e s , s u b s c r i t 'as o u d e OLfUiayA s e p a r a d o s p o r v í r g u l a s . m : N u m e r o d a d e c l a r a ç ã o FORMAT o n d e c o n s t a o t e x t o d a m e n s a g e m a s e r t r a n s m i t i d a a o p e r i f ê r i c o n . c - D E C L A R A Ç Ã O FORMAT FORMA GERAL: FORMAT ( 'TEXTO 1 ) 2 9

(41)

-o u FORMAT ( n H TEXTO) o n d e : n : n ú m e r o d e c a r a c t e r e s d o t e x t o TEXTO: s e q u ê n c i a d e c a r a c t e r e s v á l i d o s n a l i n _ • g u a g e m . 2 . 2 . 8 - I N T E R R U P Ç Ã O Uma e x t e n s ã o a o FORTRAN I V f o i c r i a d a p a r a s u p o r t a r a f a c i l i d a d e d e i n t e r r u p ç ã o d i s p o n í v e l n o kaxáwJKí d o s mi-c r o p r o mi-c e s s a d o r e s mi-c o n s i d e r a d o s e f r e q u e n t e m e n t e u t i l i z a d a p a r a c o n t r o l a r t r a n s f e r ê n c i a s d e d a d o s e n t r e p e r i f é r i c o s e o m i c r o p r o c e s s a d o r . A l i n g u a g e m p e r m i t e a o u s u á r i o d e f i n i r uma s u b r o t i n a e s p e c i a l de t r a t a m e n t o d e i n t e r r u p ç ã o , p a r a a q u a l , a p ó s o r e c o n h e c i m e n t o r e a l i z a d o p o r uma r o t i n a i n t e r n a d o p e r i f é r i c o q u e r e q u e r a t e n ç ã o , ê d e s v i a d o a e x e c u ç ã o d o p r o g r a m a . E s s a s u b r o t i n a d á a c e s s o a uma v a r i á v e l p r é - d e c l a r a d a D E V I C E ( i n t e i r o - s i m p l e s ) , c u j o v a l o r c o r r e n t e ê o n ú m e r o d e i d e n t i f i c a _ ção d o d i s p o s i t i v o d e E/S q u e e s t á s o l i c i t a n d o a t e n ç ã o . 0 u s u á r i o , t e s t a n d o e s s a v a r i á v e l , d e c i d e a a ç ã o a s e r t o m a d a a t r a v é s d o s c o m a n d o s n o r m a i s d a l i n g u a g e m . FORMA GERAL: SUBROUTINE I N T R P T o n d e : I N T R P T : p a l a v r a r e s e r v a d a q u e i d e n t i f i c a a s u b r o t i n a .

(42)

A s u b r o t i n a I N T R P T n ã o t ê m a r g u m e n t o s e c r i a um n o v o n í v e l d e h i e r a r q u i a n o p r o g r a m a . N ã o p o d e s e r i n v o c a d a p e l o c o m a n d o C A L L e nem r a m i f i c a r e x p l i c i t a m e n t e p a r a n e n h u m a u n i d a d e a n t e r i o r ã s u a d e f i n i ç ã o . T o d o s o s s u b p r o g r a m a s d e c l a r a d o s apôs s ó o b t ê m a c e s s o a t r a v é s d e uma c h a m a d a o u r e f e r ê n c i a l o c a l i z a d a n o s e u i n t e r i o r , a t u a n d o a s s i m , c o m o um s e g u n d o p r o g r a _ ma p r i n c i p a l . A c o m u n i c a ç ã o d e d a d o s e n t r e e s s e s d o i s n í v e i s é e s t a b e l e c i d o a t r a v é s d a d e c l a r a ç ã o COMMON. Na e x e c u ç ã o d e s s a s u b r o t i n a o u d e s u a s " d e p e n d e n t e s " n ã o s e r á r e c o n h e c i d o n e n h u m p e d i d o d e i n t e r r u p ç ã o , q u e d e v e a g u a r d a r a t é q u e o c o n t r o l e s e j a p a s s a d o d e v o l t a a o p o n t o o n d e a c o n t e c e u a i n t e r r u p ç ã o q u e o r i g i n o u a e x e c u ç ã o d a s u b r o t i n a I N T R P T . A e s t r u t u r a d e um p r o g r a m a u t i l i z a n d o

esse

r e c u r s o f i c a : PROGRAMA P R I N C I P A L END SUBPROGRAMAS DO PROGRAMA P R I N C I P A L SUBROUTINE I N T R P T END SUBPROGRAMAS DO "PROGRAMA P R I N C I P A L " I N T R P T EOF 3 1

(43)

-C a p í t u l o I I I O R G A N I Z A Ç Ã O DO PROCESSO DE T R A D U Ç Ã O 3.0 - I N T R O D U Ç Ã O D e f i n i d a a l i n g u a g e m f o n t e d o s i s t e m a , o p a s s o s e g u i n t e é e s t a b e l e c e r um p r o c e d i m e n t o q u e t o r n e p o s s í v e l a s u a i m p l e m e n t a ç ã o p a r a a c l a s s e d e m i c r o p r o c e s s a d o r e s e n v o l v i d a , sem a n e c e s s i d a d e d i s p e n d i o s a d e s e d e s e n v o l v e r i n t e g r a l m e n t e um c o m p i l a d o r p a r a c a d a m i c r o p r o c e s s a d o r . A s o l u ç ã o e n c o n t r a _ _ d a p a r a e v i t a r o d i s p e r d í c i o d e um t o t a l r e i n v e s t i m e n t o f o i d i v i d i r o p r o c e s s o d e t r a d u ç ã o em d u a s e t a p a s , d e f o r m a a s e o b t e r uma p a d r o n i z a ç ã o d e g r a n d e p a r t e d o p r o c e s s o , a c o m p a n h a d a d e uma s i m p l i f i c a ç ã o c o n s i d e r á v e l n a s u a e l a b o r a ç ã o . 3 . 1 - O R G A N I Z A Ç Ã O P A D R Ã O O b s e r v a n d o a o r g a n i z a ç ã o l ó g i c a d e um c o m p i l a d o r , a p r e s e n t a d a n a ' f i g u r a 3 . 1 , v e r i f i c a - s e q u e , a p a r t e d e a n á l i _ s e s l é x i c a , s i n t ã t i c a e s e m â n t i c a , com a t r a n s f o r m a ç ã o d o p r o g r a m a f o n t e em uma f o r m a i n t e r m e d i á r i a , p o d e s e r d e s e n v o l v i d a e i m p l e m e n t a d a i n d e p e n d e n t e m e n t e d a m á q u i n a a s e r c o n s i d e r a d a , d e s d e q u e , o s p r o c e s s o s l ó g i c o s s e s u c e d a m n a mesma o r d e m a p r e s e n t a d a n a f i g u r a (8 e 1 3 ) . O b e d e c i d a e s t a r e s t r i ç ã o , a s c a r a c t e r í s t i c a s d e m á q u i n a ( c o n j u n t o d e i n s t r u ç õ e s , o r g a n i z a ç ã o d o s r e g i s t r a d o r e s , e n t r a d a , s a í d a , e t c ) só s e f a z e m necessári-as n a e t a p a d e g e r a ç ã o d o c ó d i g o o b j e t o .

(44)

PROGRAMA i A N Á L Í S E T A B E L A S F O N T E L É X I C A 4 — S I M B O L O S 1 V C O N S T A N T E S

|

SI NTÁTICA E S E M Â N T I C A C O N S T A N T E S 1 | FORMA i INTERMEDIÁRIA t Y OUTRAS

|

PREPARAÇÃO DO CÓDIGO T A B E L A S 1 * ! G E R A Ç Ã O DO CÓDIGO > SÍNTESE L _ _ 4 - J . I C Ó D I G O O B J E T O O r g a n i z a ç ã o l ó g i c a d e um c o m p i l a d o r F i g u r a 3 . 1 A p r o v e i t a n d o e s t a p r o p r i e d a d e , s e e s t a b e l e c e u uma o r g a n i z a ç ã o p a d r ã o a s e r o b s e r v a d a n o d e s e n v o l v i m e n t o d o s com p i l a d o r e s , c o m a d i v i s ã o d o p r o c e s s o d e t r a d u ç ã o em d u a s e t a p a s : E t a p a 1 : ANALISADOR M ó d u l o comum a t o d o s o s c o m p i l a d o r e s , r e s p o n s á v e l p e l a a n á l i s e e d e c o m p o s i ç ã o d o p r o g r a m a f o n t e em uma f o r m a i n t e r m e d i á r i a , c o m a c r i a ç ã o d a s t a b e l a s d e v a r á v e i s , c o n s t a n t e s , e t c .

(45)

E t a p a 2: GERADOR DE C Ó D I G O M ó d u l o e s p e c i f i c o p a r a c a d a c o m p i l a d o r , r e s p o n s á v e l p e l a g e r a ç ã o d o c ó d i g o o b j e t o a p a r t i r d o p r o g r a m a i n t e r m e _ d i á r i o e d a s t a b e l a s c r i a d a s p e l o A N A L I S A D O R . Com e s s a o r g a n i z a ç ã o , o e s f o r ç o d e d i c a d o ã i m p l a n t a ç ã o d e um c o m p i l a d o r , ã e x c e ç ã o d o p r i m e i r o , é r e d u z i d o ã e l a b o r a ç ã o d a e t a p a d e g e r a ç ã o de c ó d i g o o b j e t o , c o m o mos t r a a f i g u r a 3.2 a b a i x o : / a>'uíba / PROGRAMA j F O R T R A N A N A L I S A D O R % | P. I N T E R M G E R A D O R 1 COD. OBJETO u P I G E R A D O R 2 i r ' COO. OBJETO p P 2 G E R A D O R M

L

COD OBJETO MPM C o m p i l a d o r e s F i g u r a 3.2

(46)

3.2 - N l V E L I N T E R M E D I Á R I O A e f i c á c i a d e s s a o r g a n i z a ç ã o d e p e n d e d i r e t a m e n t e d a d e f i n i ç ã o a p r o p r i a d a d o n í v e l i n t e r m e d i á r i o . O A N A L I S A DOR d e v e s e r p a d r o n i z a d o p a r a o s c o m p i l a d o r e s s e m p e r d a d a f i e x i b i l i d a d e p r o p o r c i o n a d a p e l o u s o d o s r e c u r s o s p a r t i c u l a r e s d e c a d a m á q u i n a . P a r a q u e e s s e o b j e t i v o s e j a a l c a n ç a d o , o n í v e l i n t e r m e d i á r i o d e v e m a n t e r g e n e r a l i d a d e c o m r e s p e i t o a o s m i c r o p r o c e s s a d o r e s c o n s i d e r a d o s ( t r a n s p a r e n t e ãs d i f e r e n ç a s d e & r q u i t e t u r a ) , r e s s a l t a n d o p o r é m a s c a r a c t e r í s t i c a s c o m u n s . A s p r i n c i p a i s d i f e r e n ç a s d e i n t e r e s s e e q u e c a r a c t e r i z a m e s s e s d i s p o s i t i v o s s ã o : c o n j u n t o d e i n s t r u ç õ e s (número e c a p a c i d a d e ) , o r g a n i z a ç ã o d o s r e g i s t r a d o r e s , e , e n t r a d a / s a l d a . 1 - C o n j u n t o d e i n s t r u ç õ e s 0 c o n j u n t o d e i n s t r u ç õ e s e s e u s a s s o c i a d o s m o d o s d e e n d e r e ç a m e n t o v a r i a m s i g n i f i c a t i v a m e n t e d e um m i c r o -p r o c e s s a d o r -p a r a o u t r o , r e f l e t i n d o a s u a c a -p a c i d a d e d e o p e r a ç ã o e d e a c e s s o a o s d a d o s . E s s a d i v e r s i d a d e ê e v i d e n c i a d a n a c o m p a r a ç ã o e n t r e o s d o i s e x t r e m o s d a f a i x a de m i c r o p r o c e s s a d o r e s d e f i n a l i d a d e g e r a l , o RCA COSMAC (CDP 1801. D e R) e o Z - 8 0 : RCA COSMAC: C o n j u n t o d e 59 i n s t r u ç õ e s o p e r a n d o s o b r e d a d o s e x c l u s i v a m e n t e d e 8 bi.t&. f Z-80 : C o n j u n t o d e 1 5 8 i n s t r u ç õ e s q u e , q u a n d o e^s_ s o c i a d o a o s 13 m o d o s d e e n d e r e ç a m e n t o , p e r f a z e m um t o t a l d e 6 9 6 d i f e r e n t e s c ó d i g o s d e o p e r a ç ã o . A l é m d a s i n s t r u ç õ e s q u e o p e r a m com 8 bJLtÁ, p o s s u i i n s t r u ç õ e s a r i t m ê t i c a s (adição e s u b t r a ç ã o ) e d e t r a n s f e r ê n c i a q u e o p e r a m s o b r e d a d o s d e 16 bítí, (DADD, DADE, U N I V E R S I D A D E F F D F R I , „ P'6-Kei.oria Para A P A R A Í B A

(47)

DADB, SBC, SHLD, L H L D ) , e , d e uma p o d e r c s a i n s t r u ç ã o d e t r a n s f e r ê n c i a i n t e r n a d e d a d o s (LDDR) q u e p e r m i t e m o v e r q u a l q u e r n ú m e r o d e bytej, d e uma r e g i ã o p a r a o u t r a d a m e m ó r i a (até 3 2K bytei ) . O r g a n i z a ç ã o de r e g i s t r a d o r e s B a s i c a m e n t e t o d o s o s m i c r o p r o c e s s a d o r e s p o s s u e m r e g i s t r a d o r e s d e d a d o s e d e e n d e r e ç o , e , n o m í n i m o um r e g i s t r a d o r a p o n t a d o r d e p i l h a (STACK-PÕTNTER), porém,apre s e n t a m d i f e r e n ç a s s i g n i f i c a t i v a s em s u a o r g a n i z a ç ã o , c o mo m o s t r a d o n a t a b e l a a b a i x o : TIPO MOS 6501 MOSTEK F8 MOSTEK 5065-1 M6800 8080 PPS-8 SIGNETICS 2650 Z-80 ACUMUIADOR 1 1 3 2 1 0 0 2 INDEXADOR 2 2 0 1 0 0 0 2 USO GERAL 0 65 0 0 6 6 7 12 O r g a n i z a ç ã o d e r e g i s t r a d o r e s T a b e l a 3 . 1 Em a l g u n s m i c r o p r o c e s s a d o r e s , como o 8 0 8 0 e o o Z - 8 0 , o s r e g i s t r a d o r e s p o d e m s e r u s a d o s como s i m p L e s u n i d a d e s d e 8 bits o u como p a r e s c o n j u g a d o s d e 16 bitò.

E n t r a d a / s a í d a

Os m i c r o p r o c e s s a d o r e s v a r i a m b a s t a n t e n o m o d o e c a p a c i d a d e d e r e a l i z a ç ã o d a s o p e r a ç õ e s d e e n t r a d a e s a l d a . A l g u n s , como o 8 0 8 0 , F 8 , Z - 8 0 , e t c , t ê m i n s t r u ç õ e s e s p e c í f i c a s p a r a

e s t e

f i m . O u t r o s , como o M 6 8 0 0 e SCMP,

(48)

u t i l i z a m a s i n s t r u ç õ e s n o r m a i s d e a c e s s o a m e m ó r i a p a r a r e a l i z a r e s s a s o p e r a ç õ e s . A g r a n d e m a i o r i a t e m p o s s i b i l i d a d e s d e t r a n s f e r i r a p e n a s 1 bijtsi. p o r instrução,enquan t o o s m a i s r e c e n t e s , como o Z-80 p o r e x e m p l o , t ê m i n s t r u ç õ e s q u e p e r m i t e m t r a n s f e r i r b l o c o s d e bijtdi, d i r e t a m e n t e p a r a q u a l q u e r r e g i ã o d a m e m ó r i a , s u b s t i t u i n d o DMA

(PIRECT MEMORV ACCESS) p a r a t a x a s d e t r a n s f e r ê n c i a s d e até 1 2 5 K b y . t e . i A i . De acordo c o m e s s a s c o n s i d e r a ç õ e s , uma l i n g u a g e m de d e f i n i ç ã o

desse

n í v e l ( l i n g u a g e m i n t e r m e d i á r i a ) d e v e a p r e s e n t a r a s s e g u i n t e s c a r a c t e r í s t i c a s : 1 - E s t r u t u r a l i n e a r 0

c o n t r o l e

d e s e q u ê n c i a

a

n í v e l d e aAòQ,mbhj d e mo d o a q u e o " p r o g r a m a i n t e r m e d i á r i o " s e j a uma v e r s ã o I i _ n e a r i z a d a d o p r o g r a m a f o n t e , c o m a s i n s t r u ç õ e s l o c a l i z a d a s n a mesma o r d e m em q u e d e v e m s e r e x e c u t a d a s . 2 - I n s t r u ç õ e s s e m r e f e r ê n c i a a r e g i s t r a d o r e s P a r a e v i t a r o e s t a b e l e c i m e n t o d e q u a l q u e r d i s c i _ p l i n a q u e i n i b a a p a r t i c u l a r m a n e i r a q u e c a d a m á q u i n a p o s s u i e u t i l i z a r e g i s t r a d o r e s , a s i n s t r u ç õ e s d e n í v e l i n t e r m e d i á r i o ( N I ) n ã o d e v e m f a z e r r e f e r ê n c i a a e s s a s u n i d a d e s ' d e t r a b a l h o , q u e d e v e m s e r a l o c a d a s , d e a c o r d o com c a d a c a s o , p e l o GERADOR. 3 - I n s t r u ç õ e s d e três o p e r a n d o s Um c ó d i g o d e três o p e r a n d o s , a l é m d e s u p o r t a r o c o n j u n t o d e i n s t r u ç õ e s d e m i c r o p r o c e s s a d o r e s m a i s p o d e _ r o s o s como o Z-80 p o r e x e m p l o , c o n c e n t r a a c r i a ç ã o d e t e m p o r á r i a s n o ANALISADOR, f a c i l i t a n d o o t r a b a l h o d o GE RADOR. 37

Referências

Documentos relacionados

A premissa pedagógica destes cursos não passa, portanto, por um princípio crítico, reflexivo, estimulador da emancipação dos estudantes, elucidador do papel definitivo que terão para

• Pela análise da literatura disponível, é a primeira vez que a reação do óleo de mamona epoxidado e o ácido cítrico é estudada, criando, assim, um ponto de

The surface of SBA- 15 and Na-mag silica incorporated with aluminum, with high surface area than its parent sorbent, which ultimately increased the sorption of dyes,

É importante ressaltar que a restrição proteica gestacional acarreta em redução no número de cardiomiócitos (112,113) e aumento da apoptose destas células

transação penal aos crimes impropriamente militares praticados por militares estaduais, sendo por outro lado, descabido somente aos crimes propriamente militares, face à

Considering that the enzymes are not stable during storage, presenting an activity decrease over time, in addition to the impossibility of reuse in its free form, soybean

No Censo Populacional de 2010, o IBGE identifica, aproximadamente, 600 mil pessoas com deficiência no Estado de MT, representando 22,6% da população, e o Censo Escolar do mesmo

Vale ressaltar que estamos lidando aqui com a imagem de leitor figurada a partir da leitura das crônicas, não se trata de identificar o público real dos folhetins