• Nenhum resultado encontrado

Publicações do PESC Expansor de Macro Assembler

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Expansor de Macro Assembler"

Copied!
93
0
0

Texto

(1)

EXPANSOR DE M A C R O ASSERBLER

Z A C H A A I A S ERNANE

DAS

G A N D E I A S

TESE SUBMETIDA A D C U R P ~ DOCENTE

D A

G O O R U E N A Ç Ã O

DOS

P R Q G H A R R S

F E PÓÇ-GRADUAFÃO DE ENGENHARIA DA

U N I V E H S I D A D E

F E D E R A L

D O R I U U E

JA

M E I R O

c a ~ u

P A R T E DOS

R E Q U I S I T U S

N E C E S S Á A I O S

P A R A

A

O B T E W Ç ~ O

no

GRAU BE NESTRE EN

C P ~ N C I A

(K.SC.)

Aprovada par: E 5 T A D O

DO

R I O

DE

J A N E I R O

-

B R A S I L M A R C O

DE

1 / 7 6

(2)

A o s meus saudosos P a i s A

minha

esposa TEREZA

e aos m e u s f i l h o s ANA

LUCIA

J U N I O R ARIWNDO T A S S O CESAR

(3)

iii

Agradecimentos

A t o d a s p e s s o a s q u e d i r e t a ou i n d i r e t a m e n t e c o n t r i b u i

-

r a m , q u e r com s e u s c o n h e c i m e n t o s , q u e r com s e u s i n c e n t i v o s na e l a b o r a q ã o d e s t e t r a b a l h o .

Ao P r o f . Guilherme Chagas R o d r i g u e s MSc do Nucleo d e ~ o m p u t a ~ ã o ~ l e t r o n i c a e COPPE d a UFRJ, p e l o s e u i n t e r e s s e e su- g e s t õ e s V a l i o s a s d u r a n t e a o r i e n t a ç ã o d e s t a t e s e .

Como tambem n o s s o r e c o n h e c i m e n t o a o D r . Arão Horowitz c h e f e do Departamento d e E n e r g i a N u c l e a r d a UFPe. j u n t a m a n t e com t o d o s c o l e g a s e f u n c i o n & i o ç p o r não t e r f a l t a d o com s e u s a p o i o s e i n c e n t i v o s .

Aos c o l e g a s Eduardo D o r i a S i l v a e M i l t o n Albuquerque B e z e r r a p e l a s d i s c u r s s õ e s d u r a n t e s u a r e a l i z a ç ã o .

Ao c o l e g a Pedro Nogueira Cruz e s u a e s p o s a D r a . Maria d a s Dores Nogueira Cruz p e l a c o r r e ç õ e s f i n a i s d o s o r i g i n a i s d e s - t e t r a b a l h o .

A s S r t a s . Maria Delza d e O l i v e i r a Cardoso, Ana ~ u c i a B e z e r r a C a n d e i a s e ~ s c o l & t i c a P e r e i r a d e F a r i a s p e l o s d e s e n h o s e a e l a b o r a ç ã o d a p a r t e d a t i ~ o ~ r á f i c o .

à U n i v e r s i d a d e F e d e r a l d e Pernambuco e ~ o o r d e n a g ã o d e Programação d e ~ & - ~ r a d u a ~ ã o em E n g e n h a r i a p e l o a p o i o d e b a s e

,

(4)

E s t e t r a b a l h o a p r e s e n t a u m E x p s n s e r d e Racro .Açremblrrr { € M A ) que s e i n t e g r a aa 5ãste:aa a p e r a e i c n a l d e 5irnulação ( S G S ) , c u j a finalida- d e $ dassnvolvei wsoftwaren para a T e r m i n a l I n t e l i g e n t e

(TI),

dascmvolvf do se c o n j u n t o pelo ~ ú c l e o de ~ o m ~ u t a ~ ã o ~ l a t & c L c a

(NCE)e

a ~ o o i d a n a ~ B o dos Programas d e ~ ó s - t r e d u a ~ & d e Engenharia ( C Q P P E ) da Universidade

Fs-

d e s a l do Rio de Janeiro,

Dsscrevemas n a r t s t r a b a l h a as s e g u i n t e s tápieos:

G e n s r a l i d a d a s s o b ~ e o s processadares d e i+lncreç ~ r g a n i n a g e o das tabelas

da

EM&

P m p l e m a n ~ â S & da s u b s i s t e m a

E%A/SOS

F l u x o g r a m a da s u b s i s t e m

IrticialrnenLs rnaslramas d e forma disi&-l;ica Q q u e vem s SEI: uma r o t i n a macre s s seu uso num progreioa Assembfor,

Dapais criarnas uma b i n g u e g s m de progrenãgãa para a manuseio do Expanser do Macro Assembler. Nas d e f i n i ç õ e s d e seus comandos usamos a meta-linguo gem BW f B a k w s Raur Farmj.

Descrevemos t a ~ a h & o uso e g a r e ç & das p r i n c i p e i s t a b e l e s , fg eilitando, desta modo, e deseriG80 da i m p k e m e n t a ç & d a s u b s i s t e m , Mos- tramos o s p a s s o s básicos do processedor i m p l e m , s n t s d o e , coma e i u c i n e c 8 0 , denas u m e x e m g L o d e urna r o t i n a r e c u r s i v a , onde expemes Q usu p ~ i t i e a d e

(5)

ABSTRAET

This uork p r e s e n t s a Racrc? Assembler E x p e n d s r ( H A E ) whieh is,

to b e added Lo t h e U p e r s t i o n a l S i m u i e t i a n Systsm ( O J S ) , in a r d e r ta d e v e lop sattwere Ç a r % h e E n t a l i g e n t Terminal ( T T I *

This

prajact wes d e v e l a

-

p e d in c o n j m e t i a n w i t k $ h @ N u c l s a d e ~ o ~ n ~ u t a ~ e a ~ ~ e t r ~ n l e e

( N C E )

and

t h a ~ o o r d e n a s ã o d e Pregrernas d e ~ 6 s - ~ r a d u a ~ s a em Engenharia (COQPE) a f U n i v e r s i d a d e F e d e r a l da R i o d e J a n e i s a (UFRJ), Tha P a l f a w b g topics a r e d i a c u s s e d :

A t f L s s t a macre z o o t i n s is d e f i n o d and its u s a ãn an Assem- bler psegrarn demsnetrated,

A pmgsatna k a n g u a g e 215 Lhen e r e a l e d i n s r d s a : t o use t h s PIAE* F h i s l ã n g u e g e is based o n

Bakus

N a u r Foxm (BNF),

The use and g e n e r t i o n aP t h â m a i n t a b l e s a r e 8190 d e s c r i b s d '

P n

o r d e s t o facilitate t h e d e s c r i p t i o n s f L h e s u b y s t a m i m p l e m s n t a t i a n ,

,

Phe basic o p e r a t i o n s of the implemented p r o c e ç s o r ar@ skawn, and sxamgle o f r e c u r ç i v e r o u t i n e g i v e n w k i c h d e m o n s t r a t s s t h a pratica3 u s e aP all a f

(6)

I M D I C E

I.

~ n t r o d u ç ã o .

. . .

1

I1

.

Generalidade sobre macro processadores

. . .

5

111

.

Discriação da linguagem

. . .

8

. . . .

3.1. Definição formal dos elementos da linguagem 8

3.2, ~efinição de rotinas no expansor do macro assembler

.

9

. . .

3.3. Comando do expansor de macro assembler 10

3.3.1. ~lassificação dos comandos

. . .

10

. . .

3.3.2.~efinic$es 11

. . .

3.3.3. Chamadade rotinamacro 11

. . .

3.3.4. Comando de concatenação 14

. . .

3.3.5. Comando de transferência- I F 16

. . .

3.3.6. -Comando de transferência

-

G0 TO 17

. . .

3.3.7. Comando de atribuição LET 17

. . .

3.3.8. Comando NOP 18

. . .

3.3.9. ~ariaveis do Subsistema 19

. . .

3.3.10. ~eclaração de variaveis GLB 19

.

. . .

3.3.11. Comando STATUS 20

. . .

3.3.12. Comando de subtitui~ão 21

. . .

3.4

.

~anutenções e consultas as Bibliotecas 21

3.4.1. Comando externo

. . .

22

IV

.

Organização das tabelas no expansoF de macro assembler

.

23

4.1. Introdução

. . .

23

. . .

4.2. Tabela que guarda os parâmetros formais (ALA) 24

. . .

4.3. Tabela de nomes d e macros

(TNM)

24

. . .

4.4. Tabela de definição de macro (TiDM) 24

. . .

4.5. Tabela de variaveis locais e globais 27

4.5.1. organização

. . .

28

V

.

~mplementação do subsistema expansor macro assembler

. .

33

5.1. Introdução

. . .

33

. . .

5.2. Reconhecedor de rotinas macros 33

. . .

5.3. Reconhecedor dos comandos EMA 33

5.4. Reconhecedor e executor das chamadas de rotina Macro 34

. . .

(7)

vii

VI

.

Conclus6es

. . .

40

6.1. Escolha da linguagem

. . .

40

6.2

.

Observações £inais e sugestões para futuras imple- mentações

. . .

4 3

. . .

Apêndice A 44 Linguagem de extensão

. . .

44

Apêndice B

. . .

46

Uso dos comandos

. . .

50

Apêndice C

. . . e . . .

50

. . .

Fluxograma do expansor de macro assembler Apêndice

D

. . .

56

Resultados

. . .

. . .

(8)

A f i n a l i d a d e d e s t e t r a b a l h e

6

i n t e g r e s Q S i a t e m e O p e r a c i a n a l

d a ~ i r n u l e ~ a o (SEI%) i s f a c i l i d a d e s d e m e s a Assembber,

O

SDS

6

u m sistema orien%ado para d e s e n v o l v e r o ~ ~ s e f w a r e c T b&

-

sice para t e r m i n a i s i n t e l i g e n t e s . C ~ m o esta d e s c r i t o em /S/

6

compasto @

das s e g u i n t e s f e c i l i d a t 2 s s ,

L , E o n t a d o r A s s e m b l a r

2, Uma biblioteca onde saa g u a r d a d o s a s rn6dulos a b j e t o s

3 . Um E d i t o r de r e f e r g n c i o , q u e j u n t a , e f e s a l v e as r e f e r e cias e n $ r e o s m á d u l o s .

4. Um S i m u l a d a r do Terminal I n t e l i g e n t e T f

5 . U m &dulo d e ~ e ~ u r e ~ ~ s , que permà%e uma simuhaGão %terat&

v a a s i m b 6 ã i c a usando uma L i n g u e g e m de a l t o - n a v e 1

6 , U m a s6sis ds u t i l i l ~ r i a s p a r a m a n i p u l e ç ã e das m6dulas.

7,

U m m g d u l o d e c o n t r o l s (n6elao central de s i s t e m a ) p a r e

(9)

t s á f l c a m e n t a podemos r e p r e s e n t a r a intsgraSão da s i s t e m a SOS com a s ~ b s i s t a m a ERA como sendo fiy. 2

(10)

D ERA

6

um programa que interpreta o s comandos d e r o t i n a s w- eras ( s e r & d e s c s i & a â no d e c o r r e r d e s t e trabalho).

P s d s t ~ o s d e f i n i r u m a r o t i n a wãcso i n f o r m a l m e n t e , come senda u m b l a c a d e instruçães c o n s t i t u i d a d e u m ccrpe s de dois d e l i m i t a d o r e s , u m i n f e r i a s s o o u t r a s u p e r i a r 92,2.

Q corpo p o d e ser ~ e f e s e n c i a b o paza ser i n c l u i d a , em u m pse

-

g r a m e a ser expandido, a t r a v é s de u m comando denoainado chamada d e ma

-

era.

E x e m p l o

(didático)

Seja a rotina rnacro

E X P H R D HACAO ( d e l ã m i t e d o r s u p e r i u s f

GMUR ( d s b i r n i t a d o r inf esier)

Çeja o programa f a r t e

A

B

EXPAMB (chamada da rotina EXPANDI

C

B

EXPANB (chamade ds rotina

E X P A N D )

_."---

(11)

--

C

Programa s e s u l t a n t a

âp6s

s e x p a n s g s

D

ou p r o g r a m e f o n t e expandido. N ~ ~ l i c a ~ õ e s c a m a e s t a . sao m u i t o c o m u n s sm p r o y s a m G ~ o assmrbler ande a s r ~ ~ s t i ~ e e s d e b b a c o s s z a m u i t a f r e q u e n t e s , as v e t e s mudando apenas u m operando, a u aparador, ou t o d a a i n s t r u ç & ,

Geralmente o uso das rotinas maçros f a c i l i t a o t z a b s l h o de co-

d i f i c a ç g e , depuraGgo, além das u s u a r i a s p o d e r e m o s criar n o v o s coman- dos n o A s s c m b l s r usado,

No c a p i t u l o k apresentamos g a n a r e l i d a d a s sobre a s o r i g e n s dos

o uso das maerus p r a c a ç s a d o s e ç nas l i n g u a g e n s d e e x ~ e n s o g s ,

No c a p i t u l a 2 d e f i n i m o s d e uma m e n a i r a f e r m a à a l i n g u a g a m da EMA. Para i s t o usamos a m e t a - l i n g u a g e m SMF(Bakus Naar Form). Os a x q p l o s d o uso d a s comandas estão na a p ê n d i s a B ,

Na eepitula 3 a p s a â a n t a m o n a o r g a n i z a s & das t a b e l a s , seus usas

Ns c a p i $ u l a 4 descrevemos a s tarefas b a s i c a s para implemantaç%j do s u b s i s t e m a

EHA,

e s a r a complernentado com s ãpendics

C

onde s a s~ c o n t r a o f l u x o dp s u b s i s t e m a

(12)

Baero, d e a c a s d o com a pequena d l c i o n a r i o da l i n g u o p o r t u y u g sa,

é

u m p r e f i x a que em g r e g o s i g n i f i c a gsands. E s t e p r e f i x o

6

usado em varies p a l a v r a s t t h x d c a s sm t o d o s o s remes dos c o n h e c i m e n t o s humsncs,

p o r exemplo: rnacseecanomia, aeexameleeulas, maerorsgiãa, a t c ,

E m linguagem d e p ~ o g r e m a G e o Zste termo

6

usado p a r a d e f i n i r u m a i n s t r u ç ã o q u e por s u a vem, g r o d u a i r 6 uma n o v a s e q u h c i a d e i n s t s w -

básicas d u r a n t e sua exeeusGo,

Entende-se p o r i n s t r u ç a e s b é s l c a s t o d a s e q u a l a s que sejam e x e c u t a v a i s p o r e i r e u i t a a l ó g i c o s d e u m a mãquána,

O c ã ã s s i c e a r t i g o de WcfSlroy

/I/

mostre d e forma sucinta a

t r u ç ã e s , U m a das g r a n d e s v a n t a g e n s

6

ã m o n t a g e m c a n d i c i o n n l controlada p o r p a r b e t r a s .

C r s n o l e g i c a m e n t e e idéia d e macro surgiu n a l i t e s e % u s a c i e n - tlfice em

1962

num trabalho de H a l p e s n , W . 1 , / 2 / cam a p r o c e s s a d o r d e

m a c r o XPOP, que tem come l i n g u a g e m base CI FAP. Tentou-se c r i a r u m a lin- guagem d o pregsamaçBa, e u j e s comandas s e apraximassem a m a i s p o ç ç ~ w e l

d s i n g l e s natural, entretanto nãa contou com B apoio n a c e s s é r i o e terai-

nsu desistindo,

E m

1964 /3/ Vilkes, $+,V, U n i v c r s í t y Computer t a b a s a t e r y Cambridge, d e s e n v o f v e u a

WISP.

Censtava d e u m processedor de E a c r o s que explorava d u e ç i d g i a s b 6 g i c õ s , o p r a ç e s s a m e n t o d e L i s t a s s z3Self-Camp& latorits, Rleste t r a b a l h o s u r g i u pela priirieirai v e z a t á c n i c a ds u m recanhq

n a l i d a d e d e a j u d a s a c r i q i o de c o m p i l a d a s

&$L

e s c r i t a para a c s m p u t a - dar T I T A N S t r a e h s y

C,

/ P / p r o j e t a o C ~ & S S ~ G Q d a s procsçsadorss d e macro

"General Paapeso E a c r o g e n e r e t a r t t

( G P M )

q u e

6

considerada a m a i s econ&n& co e e l e g a n t e sob s ponte de vis-ka d e l i n g u a g e m d e p x ~ g r a m a g n o .

(13)

Mo inicio o uso dos p s a c e s s a d o r e a macres era m a i s f i g a d o a

gerãGGe d e compiladosea,

Com e a v a n p da t e c n e l a g i e Q uso das computadores

e

ceda v e z

m a i s s o l i c i t a d a , para executar a s m s i s d i f e r e n t e s t a r e f a s d a s ativida- d e s humanas.

Desta n e c e s s i d a d e s u r g i u u m a cemplexidade cada v e z mais ereg

c a n t e d a s sistern~s d a computaç&, s o b r e t o d a s o s aspectos,

Um das aspectos que enfacasemas

s e r 6

o da linguagem de p s o

-

g r a m ç s o , P a r a a t e n d s r a s diversas Grees d e c o n h e c i m e n t o humana fsrarn criadas v 6 r i a o l i n g u a y a n s da p s o g r a r n ~ G ~ a , a p r o x i n a n d a - s e o mais passi-

vel

da l i n g u a g e m n a t u r a l das tkpos d e gsnb2emas s n f o c a d a s , p o r exempla, d e u m a semtensa m a t e m á t i c a caso 8 l i n g u a g e m s e j a e i e n % i f i c a , ow melhas,

Como nem s e m p r e a t a r e f a a s e s o l v e r

6

numerica d a i s u r g i r a m

Apesar d e Codas as Z i n g u a g e n s s e r e m c r i a d a s p a r a ter a p l i c a -

ç g e s em d e t e r m i n e d a s & m a s

&

sempre p o a s ~ v e 3 . resolves p x o b f s m a s q u e es-

t e j a m f a s e d o campo pasa a s q u a i s f o r a m c r i a d e s , Mestes casas geram e&-

dágos i n a f i c i s n t e s , alem d e distanciar de l i n g u a g e m n a l u r a l da p r a b l e - me, d a s s n c o r a j ã n d a aos progmmadores usá-las f o r a d e sua Grea, E x e m p l e r

sesalver em p m b l e m a n&rnea'ico u s a n d o tI5P o u xesofwer um problema d e lista usanda FQRTRAM o i d e a l seria u m a l i n g u a g e m g e r a l q u e s e ç o l v e s s e ~ t o d a s a s a p l i c a G B a s . Sab

e

ponto d e v i s t a teórico

6

p l e n a m e n t e p a ~ s í v s l

da ponta d e vista pr6tico

e

i n v i i v e l , Outra s o l u ç ã o s e r i a uma

li2

guagtm pasa c a d a tipo d e apliceçao. Se a númeso d e u â u a r i o s for p e q u e n o sm cede aplicação, a saluç&

6

a n t i - e c e n & i c a , Ume s o l q G o v i b a l e, em certas c a s o s , chega ser até econ6mica

6

a partir d e uma l i n g u a g e m base estender seus comandos para cada aplicação, Isto

e

p a s ç ~ v a l u s a n d o u m pracsssader d e rotinas rnacra ( ~ ~ ^ @ n d i c e A ) . Deste modo poderemas

t e r

urrri.i

b i c a l i n g u a g e m base, e v á r i o s c o n j u n t o s d e e x t e n u ~ e s p r o j e t a d a s p a r a

de-kerminadas t a r s f a s , Assim senda cada usuário c r i a r novos coma'

(14)

guage Indepsndent Macrs ~ r a c e s s o r ] desenualvida por M a l t e , V,@. n a

Uni-

- v e r s b t y d a Calorada ./.i/ e 0

EL/?

(Ffaer0 banguegs/P) d e ç e n v a à v i d e p o r

B r a w n , J, na U n i v s r s i t y Iqathsmatical Laboratory CambrPdge

/ 6 / ,

5Go gra- csssadores para e s t e n d e r linguagens,

(15)

3 - 1 , ~ e f i n i ç ã s Formal dos Elemsntas de binsuaaam

Rlaç d e f i n i g õ e ~ dos comandos EFM,. p a r a a u x i l l ã a c sua e a n c e i t u - aGZo, usaremos a meta-linguagem 2%F / S 0 - 2 l f .

A q u i definiremos a s eleaienlçls d a I i n g u a g s n mais tosadas na d a correr d e s t a t r a b a l h e ,

&armo) : :: <fator> (termo) (op-wult) <fator) < f a t o r > : :i < i d e n t i f ) \ @ g ) (((expressão>)

( i d e n t i f > : :, /\letra> Q d e n t i f ) .(klstra>

1

(idantif) ( d l c j i t o s )

<;I?) : :r (digito>(

(na2

Q Z g i t o >

(expceosau b o o l e s n a ) :: ( a x p r e s s ~ o ) (cp-bool). ( e x p r e s n ~ ò 7

Cl n u l o

6

r e p r e s e n t a d a p e l o ç&ibalo

rgwfi,

enquanto que e bran-

(16)

<&atina nacro) : :ZT lidentif}

e.

M A C A 0 . @ i s t a d a p a r e m . f o r m a i s >

<corpo do m a c r o ) ENDP:

(lista d e perani. f o r m a i s ) :

:=

forntnl)

1

( l i s t a d e peran.for-

*

mais), ( p a r a m . formel). G e r e m . ~ o r m a i )

:;=

& <identif)

(corpo ds rnacro)

::=(é

o c o n j u n t o dos comandos d e s c r i t o s n e s t e C R -

p i t u l o )

As

p a l a v r a s rcssrvsdae HACRQ rs E R D H ~ i & d e l i n i i t a d o r s s do corpo da r o t i n a .

Fermata de p r i m e i r o cartzo

Os brancos c o n t i d a s n a lista d e p a r & s t r a s f o r m a i s ser& s u b g t i t u i d a s por nulo. Exemplo:

ENDERE

kf

RACRO

ld

&A, &ELEM, &ACHA, b5

6

e q u i v a l e n t e a

E N D E R E

!&#

RACRO & A , &ELEW, &A

ld

C b

kf

HA, 8-5

ld

e q u i v a l e a um b r a n c o

O ú l t i m a certoo d a r o t i n a tem a s e g u i n t e fsrmãto:

EMDM

é

o d e l i m i t a d a r òa f i m d o macro

Devemas s a l i e n t a r q u e c a d a camando d e v e e s t a r c o n t i d o em um r e g i s t r o ,

(17)

0s cemandcs da sub-sistema

E M A

podem ser cbessHfieados em

%,e,

glupOS:

U

1, Os que c o n t r o l e m as expansassg

2. 0s d e m a n u t s n S ã o e c o n s u l t e das Bibliotecas d e blaeros; 3 . Os v g i i d a s no sistema S O S ,

G R U P O

1 C a n s u l t a a , EXTEWNQ E i b l i o t a c a . L I % T E ~ a n u t o n ~ ã a d e B i b l i o t e c a

.

APAGUE , CUkWRIPlA

(18)

Bs cnmandos do EHA podam ser d e e s i t a s e o m ~ .

i m p o r t a n t e frisar q u e as c o m a n d e s da g r u p o I s 8 sno váli- d o s d e n t r o d a s r o t i n a s m a c r o s , c o m a x c s G z s das chamadas d e macrus, q u e sie v i h i d a s tento d e n t r o como f o z a das r a t à n a â , ( ~ n ã o observaçêo causa-

~ 3 x 3 s e m g n t i c o )

-

O

swbsis%ems EfqA, a d m i t e d o i s t ã p a s d e r ó t u l a : u m d e Assem

-

b l e r

TE

d e s e s i t o em

/7/

q u e p o d e s e z m o d i f i c a d o dux-ante w expansão d o uma macso, i s t o

G ,

pode f a z e r p a x t e dos g a r & e t r o â farmais d e uma r o t i - na macro, e o s &ulo

ERA

q u e 5% c a r a c t e s i t a d a s p a r :

b. &o podem ser m o d i f i c a d a s d u r a n t e u m a e x p a n s g e ;

2 . Fadem s e r c o l o c a d o s sm qualquer e c l u n a d e c a r t a s ;

3 , 580 f a r m a d o s p a r um i d e n t i f i c a d a s s e g u i d o d e u m earaeter reservado do s u b s i s t e m a ERA;

4 , Podem ser nulas;

5, 5ãa t r a n s p a r e n t e s e x p a n s 8 0 , isto

6

nas

censtem da ar-

quivo d e seáda.

3 , 3 , 3 , E h a m a d a de r o t i n a m e c g

E s t e comando i n v o c a a c x p a n s 8 n do c o r p o d a m w r a em um pro- grama, s a g u i n d w a s rr gsas d e f i n i 6 e s n a s rnacsos a ntzrem e x p a n d i d a s i

(19)

(chameda d e r o f lna) : : ( r ó t u l 6 3 / b n % /noara d a macra) (bs

/ \

?

( l i s t a d e porêm. a t u e i s ) ( c o n : e n t á r i o s )

A

Gista

d e param. a t u a i s 3 : : - atual)

i

('lista d e p a

* iC ram. a t u a i s ) (paraai. a t u a l > ,* (param. atual, : : i < i d e n t i f 2 Formata d a Comanda R s ç t r a r e m o s a t r v é s do e x e m p l o abaixo a y e n a x a l i d e d e do asa d a s chamadas das rotinas na E P A B

S e j a a s e g u i n t ~ s o t ã n a meexo

S u p o n h a m o s a s e g u i n t e chemede. Ex P 3 q19q2,qJ, ...,qk, onda . q . q 3 . " . 9 q k

SBO

O S p a r & e t r o s atuein. Este chamada s e r p a p r o c e s s a d a

ql. 2

o b s a r v a n d o a s s e g u i n t e s regras: o per&mmtrrã a b a 1 q 1' s u b s t i t u i r a n o c o r p o da nacro, o f o r m a l pl, o q 2 ao p Z r a assim s u c e s s i v a m e n t e , isto

6,

(20)

a

S e n d o n e k o n6rnero d a p a r a m e t r o formais e a t u a i s , rsspecti- vamente, causar; a s s e g u i n t e s i m p l i ç a r ; a e s no usa do conando.

1. Se

k)

n o s k-n par&rnetxos formais a p a r t i r d e q s ~ r ã o

iq

~+1, n a r a d a s ,

2. 5 e kC,n sarga g e r a d o s n-k par$motros a t u a i s nulos.

E x e m p l a 4

E X P 4

RACRC &A,&.B,&C, &B, &E

~:o validas â s s e g u i n t e s chamadas:

Como já f o i m o s t r a d o , a ERA s u b s t i t u i os par&tetras ãtueis em branco por n u h , ~ e i t s r e m ~ s :

a )

k

n s e s e eliminado o quinto garamatra; bj Do p r i m e i r o ao q u i n t o serão nulos; c ) Do segundo ao quinto serão nulos; d ) O segundo e o quinto sesga nulos;

(21)

Este coitiande concakena q u a l q u e r c a d e i a d e c ã r a c t e r e s com um p a r h e t r o formal ou vice-versa,

D d s l i r n i t a r l e r

"

6

t r a n s p a r e n t e

è

expansão, isto B,n& cang $ a d a qryuivo d e s a l d e , Formato do comando

-

G s d e i a d e c a r a

--

E x e m p l o

(22)

RB comando ( i ) denas como delimitedores n a p r i m e i r a pas$metrol formal o ponta t z , n e no s e g u n d o o b r a n c a , e p r o d u z o comande ( I ] .

No comanda

(ii), e

deiimitador

6

o branco e gere

o

comsnds(XI

1-

No comanda

(iiã)

s d e l i m i t a d a r

6

e ponta e produz ( f f 1)-

(23)

3-3.5, Comanda d o transf er&c:ia

-

I.F

1,

A e x p r e s ã U u bsoleana d e v e e s t a c o n t i d a e n t r e p a r e n t e s e s , se W

o r e s u l t a d a de e x p r e s s ã e b o o l e a n a f o r v e r d e e i r e t r a n s f e r e o c x p a n s a a de rotina p a r a B r ó t u l o 6$i8, que s e j a i g u o 3 iao s & t c i l o i n d i c a d o na c o a ~ a n d o , 0 dománia d c ação de t r a n s f c r & w í a

&

restrita a macro que cantem B c o m a n d o e A fiz0 sxãsk&?c.i.a do r á t u l o d e ~rsnsfcr&cia, o eontre- l e d e r o t i n a psssará p a r a o pr6xima comanda d e p a i s d a t e r d a d a u m a a d v e r tencia.

1

7

d i f e r e n t e O p e r a d o r a s ,{ mejner q u e b o o l e s n a

( 7

maior que

Devemos s a l i e n t a r que a s ~ b s i s t e ~ i a - E M A t e m u m limitador d e ciclol ç u j a v a l o r máximo

6

i g u a l a 58, p a r a c a d a s a t i n a macso, Ao atin- gir o m á x i m o s e r e d a d o u m a a d v e r t & s i a , s e expans& d a macro

6

s u p r i m i - da passando a o comando s e g u i n t e

;

c h a m a d a rnacsa.

A

f i n a l i d a d e d e s t e limitaS&a

6

p a r ã q u e não h a j a c i c k e s 3n- Pànitaa, q u e consumise m u i t o t e m p o d e psocessernento inLti.1,

Caço a u s u á r i o necessita d e m a i s d c 5 0 c i c l o s em d s t a r m i n a -

(24)

F o r m a t o d e comando

@ . 3 , ? . Camânefo d e a t r i b u i % & LET

LET

6

um comendo d e ã % r i b u i G & o n d e o i d e n t i f i c a d a r do Iade esquasdo c a comamdo a r i t m é t i c o , rsccbe o s r e s u l t a d o s das a p s r w õ s s , e

g u a r d s numa % & e l a d e ~ a s i 6 v e l descrito arn 2 , 3 , 9 ,

(cuniando L E T ) ~ : : (bn) {rótulo EMA) L E T { ~ ~ ) (comando a r i t . ) {bs) ( c o m e n t á r i o

>

(25)

F o r r n a t o de c o m a n d o

E x e m p l o :

e )

LET

( A s A q B

-

B g 9 . 2

-

5 ) / ( A - 8 ) )

3 , 3 , 8 . Comando NOP

É o comande q u e nza a l t e x a a 1 Q g i c a d a expansGo,serve p a r e 9

e ,

inserir rótulo,

Formato do comanda

(26)

Tadas a s variáveis de çubsisterna são i n i c i e l i z a d a s cem ts- ro.

H;

dois t i p o s d e v a r i a v e i s :

G L O B A I S

e

LOCAIS.

As v e ~ i & v e i s

G L O B A I S

g u a r d a m seus v a l o r e s d u r a n t e t o d a a t3xpansao do programa, podendo, poriarito asrvisr d e trarismisç& de

tro e n t r a es macanas q u e e o n s l i t u e a o programa, &a definidos peJ.o.usu6- rio d e a c o r d a com R p a r a g r a f o 2 . 3 , l . Q .

Enquanto q u e as variáveis

LOCAIS

s ó g u a r d a m o s e u v a l o r d l r a n t e o t e m p o q u e e r o t i n a nincrs está a t i v a , isto

6 ,

e cada chamada d e r o t i n a tedas a s v a r i á v a i s

L O C A I S

s z a r e i n i c i a l i z a d a s cem z o s a e x e m p l e no a p z n d i c s B ,

k

! u m c a m a n d a q u e c u f o c a na t a b e l e d e v a r i á v e i s globaisf

N

( T v G L ) a s v a r i ~ v e i s q u e g u a r d s s a o seu valor ap&a a ~ C r m i n e d â e x p a n ç a a da inacra.

(27)

E s t e c o m a n d a d e v e ser c a l o c a d o na p r i m e i r a r o t i n a d a programa a u n a p r i m e i r a rotina em q u e a p a r e ç e u m a d a s v e r â a v e i s q u e c o n s t ~ d a l í g t o d e v e s i i v e i s g l o b a i s . (Exemplo: V i d e a a p A n d i c e B ) ,

É a comanda que d i a e s t a d a da p r o ç r a m a e x p a n s o r a t é a q u e l e ponto q u e f o i p s a e a s s e d o , É usado cama d a p u r a d o r d o p r o g r a m a e rsçultado n a s s e g u i n t e s i n f a r m e s ~ e ã . 1.

f

~ i s e t 6 r i . o d a s Mãcras; 2.) T a b e l a d e d e f i n i ç ã o de Maera5 3.) T a b e l a de v a r i á v e i s l o c a i s ; 4.) Tabela de v a r i á v e i s globais; 5,)

inicio

da 6 l t i m e blaca d e i n f o r m a S o e s a e n t r a s na p i - l h a ;

6,)

F i l h a d e b l o c o s d e i n f a s m e ç ~ e a . rU As t a b e l a s s e r a o d e t a l h a d a s n o c a p í t u l o s a b r e €lrganlzaçâa d e T a b e l a s no ERA,

(28)

E s t e camando s u b s t i t u i u m i d e n t i f i c a d o r galo seu v a l o r n&mer.ics.

S B

n&3 f ~ r a t r i b u i d a newhum v a l o r ao i d e n t i f i c a d o r o r e s u l t a - d o se& i g u a l a z e r s ,

Exemplo

Supanhames K como e v a l o r i g u a l e b e n t ã o fij e

i )

$ices&

3 , & ~ e n u t e n ç & e Consultes a s Bibliatecas

A nenutanF80 a a consulte das b i b l i o t e c a s

sãs

faites etraves de comandos q u e criam, apagam, gravam, comprimem, listsm rotinas conti- das nas bibfiatecas, fistam a d i r e t 6 r i o das

r o t i n a s ,

au carregam r045

-

M

nas n o programa em e x p s n s a o ,

Coa sxceçee du comando que eersegg rstines macros na grogre- m e e ser expandida, os demais sso feitas s t r s v 6 s d e u t á l i t 6 r i s que s e

-

(29)

Q s u b s i s t e m a

ERA

d i s p a e d e d u a s b i b l i o t e c a s d e macras, para c o n s u l t a : ume p r i m i t i v a do u s u á r i o . e e o u t r a do s l s t e a e . Esta t e r ; e c g

ss Zivse p a r a tados as u ç u a r l o s ,

3.4,Z. Comando

E X T E R N Q

Este comanda c a r r e g a d e uma das b i b l i a % s c a s , ne programa ?

que est6 seada e x p a n d i d a , a s s a l i n a s r e q u e x i d a s ,

<comendo .EXTERNO> : :=(bn> .EXTERNO ( <lista d a nomes d e r o t i n a s

>

) (comantPrio)

Q i s t a de n o m e da r o t i n a s ) ::i <nome d e r o t i n a ) (lista de

nomqf d e rotina) <nome d e r o t i n a >

I n i c l e l ~ e n t e pesquisado a b i b l i o t e c a do usu&r.io. &&I o b t e s d o sucesso, p e s q u i s a a do sistema, Caso venha a o b t e r nove i n s u c s ç s a e m i t e uma mensagem d e e d v e s t & x i a ,

(30)

N e s t e c a p i t u l a deçcrevemoç as t a b e l a s u s a d a s na s u b s i s t e m a ERA, suas c a s n ç t e r ~ s t i c a a e s u a s f u n ç e e s . Bevemos s a l i e n t a r i n i c f a l r n e n - t e , que t o d a s a s t a b e l a s s ã o a l o e a d a s d i n a m i c a m e n t e , isto

é,

v a r i a n d o q temenho e m f u n ç ã o d o p r o g r a m a e s e r e x p a n d i d a . ~ e r ã a a t i v a d a s ~ n q u a n t a C" d u r a r s e x p a n s ã o e r e m o v i d a s assim q u e a c a b a r t o d a s a s e x p a n s s e s p e l a sisttrma. 4,2. T a b e l a q u e g u a r d a o s p a s a m e t r o s f o r m a i s ( A L A ) E s t a t a b s l e g u a r d e o s psr&mstras f o r m a i s , (como j a f o i v i s % % estes p a r a m a t r o s , e n t r a m no s i s t e m a atrav&s do p r i m e i r o comando d a r o t i n a m e c s a ) , e s e r á u s a d a p o s t s r i a r m e n t e na c o d i f i ~ a ~ a o dos comandas, o u m e l h o r n a s u b s t i t u i ç ã o d o a pnrgmctros formais dos d e m e i s comandos, pela s e u i n d i c e n a tabela, s e g u i d o do s:mbolo,

E s t a ~ e d i f i c a ~ e o

6

f e i t a p z r a t o r n a r meis f 6 c i l a substitui-

w

~ s o das v a r i g v e i s a t u a i s na rotina macra.

A

t a b e l a ALA

6

d e s t r u i d a d e - p a i s d a c o d i f i e a ~ ã a da macso,

Exemplo

(31)

1

1

1

tabele que g u a r d a

'

E s t e tabela

6

o d i r e t á r i a das macsas e x i s t e n t e s no pregxame, Guarda .E seus r ã g i s t r o s e s t r u t u r a s . com a nome da mecro, a n t h e r o da

par&tetros formais d e rnacro e sua posiy% d e n t r o d a t a b e l e d e d e f i n i ç % d e mscro (TMH), c u j a t a b e l a s a r a e x p o s t a n e s t e ç a p l t u l o ,

Fig,

3

-

~ s t r u t u r a dos R e g i s t r o s da TNM

Seu

a c e s s o

&

feita s a q u s n e i a l m e n t a

4.4, TABELA

DE

~ I E F I N I L Ã O

DE

MACRO (oP4)

(32)

1 . S u b s t i t u i . r a s p a r & e t s o s fesrneis p e l o simbolo s e g u i d o d e s e u i n d i e e na t a b e l a A L A ;

2.PIasca a s c o m a n d o s

IF

e LET cam o s i m b a l o v a f i m d e fg c i l i t a r s u a interpretaç% n a hora de exacuças;

3.Colocas a s e x p r e s s õ e s b o o l e e n a s e a & m & t i c s ç n a f o r m a pa- l a n e s e p e s f i x a d a / 2 2 / .

O

a c e s s o f e i t o atrãv&s d a s i n f a s m a g a e s contido em TNM, au s e j a , a c e s s o d i r e t o , E x e m p l o : s e j a m a s rnacras:

(33)

A p a r t i r das r o t i n a s rnaeros geramos a s ç d g u i n t ~ s t e b e l a s :

TAB. 2

-

TabeZê d e d s f i n i S Q e s d e Macraç

.a

!%IRA M C R O A R G 9 , AR62, AR63, LRW#A LAR L R H # ~ A3 EOUPIBJI REPETE EACRQ M,

N

3

LET(I,#I,=,

OUT

/

q t I P t

9

L f 3 ( I 9 I , 3 5 z 9 ) I F (1,#2,(~) A

Gil

I F

(H,u,),)

F X R

a

L E T ( H 9 ~ : , 1 . + , = . ) CAL DELAY

Q

I F ( H J , < .

1

A G O TO b NUF EiuDF4 TESTE . HWCRU R A R LDE LEA

EN

DF! - -

(34)

T a b e l e d e Noms d e Hãcro

(TNH)

N o t e q u e n a t a b e l e 2 a simbolo s e g u i d o d e u m nómera sgo &a par8metsos formais a a d i f i c a d o ç , onda o numero

@

a

sua ardem na l i s t s d e

E*

per&xetros f e ~ m a b s , Os comandos

fF

e LET, sues f a m a s c o d i f i e a d s s , saa 3 n i c i a l i z t a d a s p o r " a w , a a expressnc e r l ~ m @ t i c a a u b s o l e a n e

6

colocadaq na f o r m a p o h n e s â p o s f i x ~ d a e n t r e p a r k t e s a â , com a f i n a l i d a d e d e sim- plificar e a suas a n & . i s e s , d u r a n t e a s expans&.m,

Observamas que n a t a b e l a não cansta o s r ó t u l o s FfENA" porque d u r a n t e s c o d i f i ~ a ~ ~ o e processador, ao encontrar u m a à n ~ t r u ~ ã o cata um s á t u l a EEA, o comando

6

g u a r d a d a em TBH s o r á t u l a

6

marcado com a sim- bola

"

" *

seguido do indiee de nome d a rotina em TDB, s celocedo na t a - b e l a de v a r i 6 v e i s g l e b e i s , ( R a i s d e t a l h e s daremos no p a r & r e f a s e g u i n t d

O Expansor d e Resso A s ç e m b l e r tem duas t a b e l a s d e v a r i á v e i s : u m a das v a a i ~ v e i s lecais

TBS

e outra d e v a r i ; v e i s g l o b a i s , Os registros sae constitu3dos d a s seguintes e s t r u t u r a s :

e) estrutura das registros d a s variáveis locais h ) estsutura dos r s y i s t r o s d a s variaueis glabais.

(35)

FIG.4 a ) E s t r u t u r a d o s r e g i s t r o s TABS h ) E s t r u t u r a d o s r e g i s t r o s TVGL o n d e NOME

é

o i d e n t i f i c a d o r d a v a r i a v e l , VALOR

é

o v a l o r n ú m e r i c o

-

a t r i b u i d o a v a r i á v e l e PROX

é

o h d i c e de, e n c a d e i a m e n t o d a v a r i á v e l q u e t e n h a o mesmo " h a s h " . (Mais d e t a l h e s no d e c o r r e r d e s t e c a p z t u i o 1. A t a b e l a d e v a r i á v e i s l o c a i s (TABS)

é

a p a g a d a t o d a s a s ve- z e s q u e a r o t i n a

6

d e s a t i v a d a d o programa d e e x p a n s ã o , e n q u a n t o q u e a t a b e l a d e v a r i á v e i s g l o b a i s TVGL

6

a p a g a d a s quando o EMA r e t o r

-

n a o c o n t r o l e a o n ú c l e o c e n t r a l do SOS. Uma p a r t i c u l a r i d a d e d a TVGL

e

q u e g u a r d a ,

além

d a s v a r i á

-

v e i s g l o b a i s , o s r ó t u l o s EMA d e p o i s d e c o d i f i c a d o s , s e n d o q u e , n o s campos r e s e r v a d o s a o s v a l o r e s a t r i b u i d o s a s v a r i á v e i s , s ã o c o l o c a

-

d o s o s T n d i c e s em TDM, c o r r e s p o n d e n t e s a o s comandos q u e o s c o n t i n h a m . A o r g a n i z a ç ã o d a s t a b e l a s d e v a r i a v e i s l o c a i s e g l o

-

b a i s f o r a m i m p l e m e n t a d a s s e g u n d o a s t é c n i c a s " S c a t t e r I n d e x T a b l e

"

que s e g u n d o a l i t e r a t u r a ,

é

uma d a s m a i s e f i c i e n t e s , / 8 / / 9 / / 1 0 /

.

B a s e i a - s e na g e r a ç ã o d a s c h a v e s e m f u n ç ã o d o s s?mbolos q u e não en- t r a r n a t a b e l a , o n d e

é

usa'da uma f u n ç ã o Hash / l l / / 1 2 / .

(36)

E s t a s c h a v e s sau associadas a u m endeaego e g u a r d a d a s numa " f l a s h T a b l e f l , ~ e r v i r ã o cama a p o n t a d o s o s d e c a b e ç a s d e listas qus s e e~ csntram em outra LabePa c h a m a d a tabala d e v a r 5 á v e i s , c u j a s r e g i s t r a s c a n t é m campas para t r i b u t o s das v a r i j v e i s e um campa d e encadeismento , U m autro importante pãxâmetra

e

fazer u m a p o n t a d o s para a d t i m o segiç-

$ E O colocada na tabela,

COESULTA A

TABELA

---

Suponhamos que dasejassemos inserir, c o p i a r , au a l t e r a r uma determinada v e s i á v e l ,

T n i c i a f m a n t e , a p l i c a n d o esta v a r i g v e l e u m a funçao "hesh"

q u i s ã s e q u e n c í a l na flhash t e b l e t t v e r i f i c a s & m s s s e s chave consCa ou

A

chave c o n s t a da t a b e l a , e n t g o ssLe f a r n e c ~ a a p o n t a d o r da c a h e ~ s de l i s t a pesquisada na tabela d e s f m b a f c , 5 a 3 informas8a nãa

c o n s t e do p r i m e i r a ela da l i s t a , houve u m a colis&, ~ n t & ersnaultarsmos o campa d e encadeamantéi q u e c a n t t k ts próximo elarnento que Lam a mesma hash.

Se

nga obtivermos sucesso houve outra colisaa, ~ n t & seguiremos s e c e ã s í v e a e n t e e % ; encontrar o s i m b e l o p e s q u i s a d a a u u m z e r o na campo d e eneadeementa, onde tomamos a decisaa e p m p r i a d a p a r a o eventa.

A chave não conste d e "Rash tablen, Se f o r urna i ç e s G a a e n t ã o eolaearemas as v a s i & v e i a com s e u s a t r i b u t o s nq p r á m s i r s r e g i s t r a

Ibvre

de t a b e l e d e w a r i a v ~ i s , D e p o i s atua3izeremea e !?Mash T a b l e w , g u a r d a n d o 9

(37)

HASR TABLE

Com e s s a a s g e n i z e ç e a , B numero d e c ~ r n ~ a r a ~ â a para encontrar uma v ~ r i i v e l

6

s e m p r e menor du que q u a l q u e r o u t r o t i p o c e n v s n c i a n a l , Ea m é d i o

6

d a d o p o r :

N

-

NRP5

6:

----

(38)

H

é

B n&mero d e comgareç&s m e d i a ;

c

NRfS

6

o n&xtero d e r e g i s t r o s na t a b e l a de v a r i á v e i s

N

&

o &mero d e chaves n a "hask t a b L e R ,

K

Como vemos

w

m e d i a d e çomparaç&m

6

i n v e s ç a m e n % e propaeienal ao n6mero d e c h a v s s da fvhash t s b l c v f ,

D&

o sucesso depende da funç& 'hãshF1 usada, /12/ /11/,

(39)

O!

;"

)

* o r- o

a X

al

(40)

B sub sistema r e c e b e o programa a ser e x p a n d i d a do a r q u i v a criado p e l o S Ú S , Codifica as rotinas macros c o n t i d a s no programa e a a q u e ç& r e f e r e m e i a d a s p e l e programa n a b i b l i o t e c a , D e p o i s celacâ t o d a s *

na t a b e l a d e dcfíniçges d e meem ( P D R ) ,

Em

s e g u i d a s e r i iniciada a e x p a n s & , que b a s i c a m e n t e

é

çonst' t u i d a das seguintes reconhecedores:

1) R e c o n h e c e d o r d e r o t i n a s macrop

2 ) Recanhecedar d e comandas EMA;

3) Rccenhecador e e x e e u t o r das chamadâs maceas;

4 )

Consultar de b i b l i o t e c a d e Maerag

N

5 ) A r q u i v o d e programa após a e x p a n s a o ,

Ao e n c a n t s e r ã p a l a v r a r e s e r v a d a RACRO, em u m , s e g i s t r u d e en

-

tradâ, a s t e

6

colocado TDN s em ~ e g u i d a c s b o c a no d i s e t á r i o TNR o nome

,

s u a p o s i ç ã o e m TDM e númera d e par&netses f o r m a i ç . Como tambem guarde

n a

t a b e l a ALA o s p a r & a t r o s f o r m a i s ,

5 , 3 . Reconhece* dos Comandos ERA

I n i c i d m m t e analise o s comandus e verifica s e está w i n t e t i c a - m e n t e c o r r e t a . Depais p r o c e s s e a codificaçao que consta dos s e g u i n t ~ s

*

passos:

e ) Guarda B rótulo

ERA

n a t a b e l a d e v a r i á v e i s globais:

b ) Substitui o s p e s & e t s e s formais pelo simbalo seguido da

h-

d i c e da par&elre n a tabele N A , q u e cha,arernos, dapois d e

(41)

cabificado, d e p a . r k e t r o f o r m a l c x d í f i c ã d o j

c ] Os comandos ERA q u e t e n h a m expressões aritmética o u b a o à c ~

na;

a s

õ x p r c s s B e s s& c e l o c a d a a na forma p o l o n e s a p e s f i x a - da,

e

acrescentado ao i n í c i o d e comanda a s i m b o l o f 3 , ( B s - vs-se r e s s a l t a r q u e esta e d i S b

&

para d i m i n u i r a tempo d e

. p z ~ e e s s a m e n t a caso o cremerido e s t e j a com erro sem%tntica);

d ) Coloca em TDH o s c o m a n d o s c o d i f i c a d a s ,

Este

r e c o n h e c e d e r ao encontrar u m a c h a m a d a da retina n a c r o v 2 s i f i c a s e a aesma c o n s t a ou nao 6a d i r e t ó r l o TNM. S e h z o c o n s t a

6

ernitf d a u m a g d v e r t e n c i a e v o l t a a ler o comando. Ss c o n s t a , e n t ã o

6

gerado uma p i l h a ds hlacas ds %nfarinaç;es que

ir6

g e r e r i s i a s a cxpansGo, Ceda b l o c o cant6m:

a ) R i n d i c e d e i n i c i a do &ltimo blsco que s n t r a u na p i l h a ; b )

O

f n d i c e da Gltima i n s t r u G & e x e c u t a d a e m TDR;

c ) Uma lista dos parâmetsms atuais d a chamada da r o t i n a ,

L )

o item f@afl ele contém 2 ) C â d a blaco do p r i m e i r a blace d i f e r e das d e m a i s p a r q u e " f l a g " de p i l h a v a z i a , c o s m s p s n d s a u m a chamada,

Ae aparecer uma chamada

6

c r i a d o u m b l a c c ~ d e i n f a r m a ç g e s como ei descrito,

Se

d u r a n t e a expansão for e n c o n t r a d a uma segunda chamada, este bloco s e r i guaxdade na p i l h a , n a s c o n d i G ã e s em que s e e n c o n t r a , s

M

6

criada um nova bloco, que passe a g s r & c i a r e expansao e assim suces- s i v a m e n t e a t 6 e n c o n t r a r B f i m da Y l t i m a r o t i n a que este sendo e x p a n d i d a

(42)

Testamos e n t b se

6

s 61t~rno b l a c ~ , ( v i d e n e s t e par&grafa o b s e r v a G & 1)' QE f o r terminaremos a expanç%, c a ç o c o n t r a r i a , d e s e m p i l h a m a s um blocet

s continuamos B ~ ~ B C S S Ç O a t 6 a páãhe ficar vazia,

CsnceituaPmsnte e s t e t r a t a w s n l o

6

c o n h e c i d a cama L I F R ( L s s t -

Bn

f k r s t - o u t ) , su s e j a , o ;ltima a e n t r a s

6

a p r i m e i r a a s a i r , Para d a r melhor i d & i a de como f u n c i o n e a p i l h a de b l o c o , vamos mostrar em u~

(43)

FACT

NWP

O

r e c o n h e c e d o r d e chamada d e r o t i n a macros ao encantrar o e 2

mando ,FACT 3 s e s i criado o p s i m e l r o blace d e infarmsçDes,(~er q u e s t h ' puramente d i d á t i c a e p i l h a es& com o s e n t i d o i n v e r s a d e m a l , B &.tima b h c a a entrar

6

a que

t e m

o m a i o r i n d i c e na pilhsl.

(44)

TAB, 6

-

P i l h a d e ~ n f o x r n e ~ D ~ s -1 V L s g " que i n u i c a p i l h a v a z i a 3 % n d l c e dos comandas e f e t u a d a s em

T B M

3 ~ a r i á v e l d e primeira chamada

--

1 f n d á e a do i n i c i a d a uXt,bloc, a e n t , na p i l h a 4 , 7 , 8 , 9 , 3 t l i n d i c e dos comandos e f e t u a d o s em

V B M

3 ~ a r f h v e l d a s e g u n d ã chamada e n t , n a p i l h a 6,9,8,9,18 f n d i c e das camandos e f e t u a d a s em

TBM

2 ~ a r i a v e l da t e r c e i r a chamada 7 f n d i c e do i n i c , do u l t , b h e , a e n t . n e p i l h a 6,7,0,9,m i n d á c e das comandos e f e t u a d o s

L

~ a r i a v s l da q u a r t a chamada -L.

(45)

comentarias

--

í n d i c e d a i n c e d o ult, e e n t . na p i l h a

h d i c e

dos camandos e f e - t u ã d o s e m

TDM

~ a r i & e ~ da q u i n t a chamj bloc. e ent. na p i l h a

ffbaervande s p i l h a natamos q u e a s thtirms comandos e x e c u t a d o s em TDM em ceda b l o c a sea i g u a i s e 10, ( d e v i d o e l Ú g i c a da expens;ol cem

e x c e s 8 0 do primeira e do s e x t o . U primeira est; fora d a recursao, e n q u a 2

%o que B s e x t a a lagiea f e z sair d a f @ l o o p " ao e n c o n t r a r E R D H no comando

%i?-. l a m e ç a então d e s e m p i l h o o d o o bleec em q u e s t % , e x e c u t a a s comandos ale c i 2 g , v o l t a n d a a e n c o n t r s r o comande EWBM, ~ n t e o d e s e m p i l h a a blacn 4 0 e segus o p r o c e s s e a n t e r i o r I g u a l m e n t e para o s blocos 3 Q s 29 no l g bloco, o pr6xirno comanda a ser e x e c u t a d a , sexá o

4Q BC

T t F " e no 5 0 encan tramas um EMDH, Termina a e x p a n s ã o da r o t i ~ a , v o f - b e n d s a ler ~ u t r o cama& de no arquive da entrada,

5,s-

Consultor de Biblioteca

Rit

O p s o c e s s a d o r d e r o t i n a s mecros diapeje d e d u a s b i b l i o t e c a s p s ra serem cansubtadaâ: uma d o u s u á r i a e a su%ra de sistema, A do usuarint

6

u m a b i b l i o t e c a p r i v â d s i o n d e somente ele tem @ c e s s o a s informações, en- quanto que n a b i b l i o t e c a do sistema

6

livre o a c e s a a para cansulta â t a

(46)

O e a n ç u l t ~ r d e b i b l i o t e c a

e

e processado^ do comanda ,EXYER-

R@. Wa e n c o n t r a r e comando ,EXTERMQ, p a g a c a d a r o t i n a d a l i s t a e werifk c a s e consta $ 9 biblãat&ca d a u s o á s i a ou d a biblioteca de sistema. Se a

p r s y e s i s & f o r v e r d a d e i r a , i s h

e,

a r o t i n a raquesida consta d e uma das b i b l i u % e c e s , e n t ã o c e m e g a o r o t i n a no programa que e s t 6 senda e x p a n d i - da, Caso ç a n t r e s i o , emite u m a edvert&ncla do i n s x i s t ~ n e i a d e l a ,

E

a s s i m segue sucessivamente at6 p r o c e s s a 2

e

ú l t i m a r o t i n a d a l b ~ t a a Devemos e

(47)

O

ENA foi i r n p l e m e n t a d s na c o m p u t a d o r Burroughç

B

6700 da NCE/

1, G r e n d e s recursos d e programeFas para e x e c u t a s o tipo de t r e b a i h e proposta;

Sab s p o n t a d e v i s t a d e progrmnaG~a o P$/P nas dg g r a n d e s f a - cilidades pãra tratamento de d e d o s nãa nhmericoa, p o r a p r e s e n t a r u m e m - j u n t e d e abuift-àn" com e s t s f i m , o q u e

nas

a c o n t e c e cem as o u t r a s lin

-

g u a g e n s s x i s t a n t s s a t u a l m e n t e no N C E / U F R J . Dessas facilidades s u r g e um

*

i n c o v i n i e n t e , que

6

a seu t e m p o d e cornpãlaç&a tendo em vista que, em re- lação a s s i m i l a r e s

&

s e l e t i v a m e n t e m i a r , E n t z e t a n t o , neo consideramos

com g r a n d e r s l e v ~ n ç i e e s t e f e t o p o r q u e CI s u b s i s t e m a EMA ficará r e s i d e n t e no disco d e p o i s de compilada.

Senda assim um f a t a r importante

6

o t e m p e d e exeeuçaa. I n i c i - a l m e n & s tentamos, n a literatura e s p e c i a l i z a d a , estudos c o m p a r a t i v s s so- bre ternpa d e execuçao entre a s l i n g u a g e n s e x i s t e n t e s no B/67QO,

não abtiwamas sucesso, Partimos pãra m e d i r experimentelmente, e p a r a is-

to, f i z e m o s u m programa em P I / I e outra em A t G O t cúntendo apenas cciriian

-

dos d e a t x i b u à ç o e s , depois d e p r o c e s s a - l o s no B/67QO o b t i v e m o s os s s g u i ~ t e s r e s u l t a d o s :

(48)
(49)

Pela g r 6 f i c o podemos t i r a r a s s e g u i n t e s conclusaes:

1, E x i s t a u m a g r a n d e f l u t u a s a c na tampe d e execução d e

um

h 2

xário para o u t r o , Este f a t o acosse em funG& da Amero de jobs qus e s t G o sendo p r a c e s s e d a s n a q u e l e mesmo instante,

2. Em n é d i a , o tempo da e x e r u â ã o nzo difsre s i g n i f i e a t i v a r n e n t e e n t r a e ALGDL e o P1/4.

Ao f i n d da tr3balha v e r i f i c a m a s que o Pb/l do

R/610Bo

Par enquanto na0 s e p a d e fazer l i g a S ; e s com ~s o u t r a s l i n g u a g e n s e x i s t s n t s s no

B/67QO,

Exemplo: FORTRAN

ALGOL

e v i c e - v e r s o , Pêra s a n a r e s t a defici-

6

e n c i a usamos arquivos a u x i l i a r e s de l i g a ç õ e s do s u b s i s t e ~ s

E@&

cem a s i s t e m a SPS,

Referências

Documentos relacionados

Este artigo visa avaliar a efetividade do uso de software para estimular linguagem de indivíduos com deficiência auditiva. A pesquisa foi desenvolvida na

5.7 Deverá sempre aparecer em qualquer suporte de edição, promoção ou difusão posterior da obra a referência à ajuda obtida pelo Programa IBERMÚSICAS com a lenda “Esta obra

O requerimento de isenção deverá ser apresentado por meio de processo protocolado junto ao Setor de Protocolo Central da UFMT, instruído com

A vibração do núcleo estatórico é fruto de uma interação de campos magnéticos principal, de reação da armadura do estator e do campo de excitação. É conveniente uma

[r]

No presente estudo avaliámos a evolução do processo terapêutico de uma menina em período de latência, encaminhada por apresentar dificuldades escolares de provável causa

Pedreira Barra Bonita Barra Bonita Guarani Guarani Jurumirim / Sorocaba Jurumirim / Sorocaba Sorocaba / Sarapuí Sorocaba / Sarapuí Itatinga - Itapanhaú Itatinga -

Diante da problemática da hanseníase e do aumento da população acima de 60 anos no Brasil, foi realizado um estudo que teve os seguintes objetivos: conhecer