MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

34
üNI WRSI DAD AUTONOMA METROPOLI TANA-I ZTAPALAPA CIENCIAS RACICAC E INGENIERIH REPORTE DE PROYECTO TERMINAL I Y I1 TEMA MACRO-ENSAAMEL ADORES Z--280 / Z- 1 RO ACESUREC : ING. LAURA ORTIZ EALEUENA. ING. ALEJANDRO MARTINEZ GONZALEZ. INTEGRANTES: ERITO GABRIEL. I HERI\IANDEZ GARCIA VICTOR u SOTO GUADARRAMA JORGE. ! . ,.

Transcript of MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

Page 1: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

üNI WRSI DAD AUTONOMA METROPOLI TANA-I ZTAPALAPA

CIENCIAS RACICAC E INGENIERIH

REPORTE DE PROYECTO TERMINAL I Y I 1

TEMA MACRO-ENSAAMEL ADORES Z--280 / Z- 1 R O

ACESUREC : ING. LAURA ORTIZ EALEUENA.

ING. ALEJANDRO MARTINEZ GONZALEZ.

INTEGRANTES: ERITO GABRIEL. I

HERI\IANDEZ G A R C I A VICTOR u

SOTO GUADARRAMA JORGE.

!

. , .

Page 2: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

Y I NDI LE.

PRIMERA PARTE: MI CRO-PROCESADOR 2-280.

Ariteccodentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Evolución del pP 2-80 al pP 2-280.. . . . . . . . . . . b

Introducción a l pP 2-280.. . . . . . . . . . . . . . . . . . . . 8

Modos de direccionamientu.. . . . . . . . . . . . . . . . . . . €3

Con.junto de instrucciones.. . . . . . . . . . . . . . . . . . . E3

Manejo de memoria.. .......................... Ir>

.

SEGUNDA PARTE: MI CRO-PROCESADOR 2-1 80.

.J Introducción al pP 2-180. .................... ..,...

Caracterlsticas del pP 2-180. . . . . . . . . . . . . . . . . :¡.,.:’

Arquitectura del pP 2-180 .J. i:1.

-r

....................

Modos de di recei onámi ento. . . . . . . . . . . . . . . . . . . . 1 B

Conjunto de instrucciones.. . . . . . . . . . . . . . . . . . . 1E3

TERCERA PARTE: DESARROLLO DEL MACRO-ENSAMBLADOR.

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~1

P1 anteami e n t o del problema. . . . . . . . . . . . . . . . . . . AL-

Propuesta de so luc i t~n. - . - - - - . - - - - . . - . . - . - . . - . 2;

Modelo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Desárrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L4

Diagrama a bloques del ensambladar. . . . . . . . . . - 2 5

riri

r ..T

I

Page 3: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

PAG.

CUARTA PARTE: MANUAL DE USUARIO.

Introducción ....................................

Forma de operación del Macro-Enramblador. . . . . .L/

A r c h i vos generador por el Macr o-Emsambl ador. - 28

Funcionamiento del Macr o-Ensambl ador. . . . . . . . . ..AI

Modo de analizar el archivo fuente. . . . . . . . . . . S~.J

r, -.

-.Y

-I

Mensajes de error s i .............................

I

QUINTA PARTE: RESULTADOS Y CONCLUSIONES.

77 AnAlisis de resultados. . . . . . . . . . . . . . . . . . . . . . . A,:.

Lonclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T .

Page 4: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

I

PRIMERA PARTE:

MI CRO-PROCESADOR 2-280

,

Page 5: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

En un i n i c i o ZILOG era uno de los fabricantes de mayor prest i - g i o en el desarro l lo de micro-procesadores, pues ellos tenian los mayores adelantos tecnologicos, pero con el tiempo surgierón otras I

empresas capaces de competir con ellos.

E l hecho que en un pr inc ip io ZILOG enfocara s u interés hacia apl icaciones de t i p o b&l ico , y otros fabr icantes atendieran l a s necesidades del resto de los usuarios, t r a j o como consecuencia que en l a actualidad =LOG no tenga mucha demanda en otras ramas.

Los nuevos fabricantes eii l a actualidad, superan en tecnologla a P L S ; un ejemplo de empresas de este t i p o son INTEL y MOTOROLA, las cuales cuentan con microprocesadores de 18 y 32 b i t s que t i e n e n una velocidad de respuesta muy grande, capaces de rea l i zar diversas tareas en muy poco tiernp0.y resultar muy versá t i l es .

Debido a esto surgio la necesidad de crear en =LOG un pProcesa- dor de caracter is t icas s imi lares, como respuesta a l adelanto tecnblogico de otros fabricantes, as1 surge el pP 2-280 de 16 b i t s con caracter ls t icas semejantes al Micro-Procesada- 8080 de INTEL.

Page 6: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

EVOLUCION DEL 2-80 AL 2-280.

E l 2-80 esta desarrollado en una versión NMOS l a cual es de bajo costo y con carac te r í s t i cas de a l t o rendimiento. La versión CMOS proporciona un a l t o rendimiento con ba jo consumo de energla.

l i gados a t ravés de un sistema de interrupciones veetorizado. E l pP 2-80 cuenta con una fami l i a de pe r i f e r i cos que pueden ser

E l 2-180 esta desarrollado con una a l t a tecnología CMOS, es un pP de 8-bits el cual provee Los benef ic ios de reducción de costos del sistema y un consumo bajo e n potencia, l a operaeibn de este sistema tambien ofrece gran compatibilidad con el software que se encuentra en el mercado desarrol lado para el pP 2-80.

Un a l t o rendimiento es obtenido debido a que se trabaja a a l t a s frecuencias, se reducen los tiempos de ejecución de l a s instrucciones, se dispone de un conjunto de instrucciones exten- dido con respecto a l pP 2-80 y una unidad de manejo de memoria C M M U J sobre el m i s m o chip, con l a capacidad de direccionar mas de 4 Mbytes de memoria. La reducción de los costos del sistema es obtenido por l a incorporacibn de var ias func i ones c l a ve para el sistema, sobre el mismo chip con el CPU. Estas funciones c laves incluyen d ispos i t i vos de I/O como DMA, UART y canales de timers. Tambien se incluyen sobre el chip funciones tomo seffal de control para el refresco de memorias RAM dinamitas, generador de tiempos de espera, r el o j osci 1 ador y un control ador de i n te r r upci ones.

Con el tiempo y con el propásito de desarrol lar un pP mas po- t e n t e que el 2-80 y Z-180 ZILOG desarro l la el pP 2-280.

Entre l a s carac te r l s t i cas mas relevantes del pP 2-280 pueden mencionarse un avanzada CPU de 1 6 b i t s compatible con el código objeto para el 2-80 y el 2-180, disponible con bus de 8 y 16 b i t s como in t e r f a z externa, carac te r i s t i cas que el 2-80 y el 2-180 nú ofrecen.

La arquitectura de el pP 2-280 ha s i do expandida para i n c l u i r carac te r l s t i cas como un espacio mal t ip le de direcciones de memoria. un manejo e f i c i e n t e de l a s Interrupciones, dos modos de operación como sistema 8 usuario, soporta configuraciones de multiproceso, ademAs de l o contenido en el 2-80 y 2-180 posee funciones para el manejo de memoria, generador de r e l o j i n t e rno , generador de tiempos de espera, memoria cache incluida sobre el propio chip asi c o m o un rirftmer o de di sposi ti vos per i f &r i cos.

Page 7: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

Los Dezeficics de esta arquitectura permiten altas velocida- des en la comunicacibn. un gran nivel de integracibn del sistema, soporta si stemas de oper aci an, densi dad de c6di go, un compi 1 a- dor eficiente para ver su gran versatilidad. Asi, el MPU 2-280 pro- porciona un desarrollado camino para l a existencia de diseños 2-80 básicos y un pr ocesador con al to rendi mi entor para apl i caci ones futuras.

Page 8: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

I NTRODUCCI ON AL Z-280.

E l pP Z-280 t i e n e l a s siguientes caracter is t icas : una avanzada CPU de 10-bits con un código ob je to compatible con el pP 2-80, i n - incluye d i spos i t i vos para el manejo memoria de pe r i f é r i cos , r e f resco l b g i c o de memoria, memoria cache, generador de tiempos de espera y un re lo j osci lador sobre el m i s m o c i r c u i t o integrado.

Cobre el m i s m o chip incluye d i spos i t i vos pe r i f e r i cos como: 4 canales de DMA C D i r e c t Memory Access3.3 counters/tímers y un UART CUniversal Asynchronous Receiver/Transmitter3.

E l pP 2-280 t i e n e multiplexado el bus de datos/direcciones pa- r a l a comunicación con memor i a exter na y di sposi ti vos per i f &r i cos.

Son soportadas dos estructuras d i f e rentes de BUS por el 2-280: como el bus de datos de 8-bits. el cual usa el Z-80 como seriales de un bus de control y un bus de datos de 10-bits usado, como se- riales de un bus de control, por el 2-180-BUS.

M O W S DE DI RECCI ONAMI ENTO.

E l modo de direccionamiento es el método por el cual se especi- f i c a l a l oca l i zac ibn de los operandos. E l CPU 2-280 soporta nueve modos de di r eccf onami ento, i nc l uyendo 1 os c i nco modos d i sponi bl es sobre el CPU 2-80. Los modos de direccionamiento del CPU 2-280 son:

- Registro. - Inmediato. - Regis tro ind irecto . - Indexado Ccon un desplazamiento de 18 bits3. - Ind ice corto Ccon un desplazamiento de 8 bits3 - Re la t i vo a1 Program counter CPC3. - Re la t i vo a l Stack Pointer C S P 3 . - Ind ice base.

CONJUNTO DE I NSTRUCCI ONES.

E l con junto de ins t rucc i ones del pP 2-280 es una expansión del Z-80. también t i e n e algunos modos de direccionamiento &s que el Z-80 asi como nuevas instrucciones.

Page 9: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

E l c o n j u n t o d e i n s t r u c c i o n e s del pP 2-280 provee un g rupo com- p l e t o de i n s t r u c c i o n e s para o p e r a c i o n e s a r i t m é t i c a s de 8 y 16-bits i n c l uyendo mu1 ti p l i c a d ones y d i vi si ones con y si n s i g n o .

Ad i c i ona lmente posee inst . rucc iones de 8-bits l a s c u a l e s sopor- t a n o p e r a c i o n e s a r i t m é t i c a s y lógicas, c o n t i e n e i n s t r u c c i o n e s d e ma- n i p u l a c i ó n de b i t , r o t a c i o n e s y c o r r i m i e n t o s .

Las i n s t r u c c i o n e s de sal tos C j ump3 11 amadas a p r o c e d i m i e n t o s C c a l l 3 y los r e t o r n o s Creturn3 t i e n e n v e r s i o n e s c o n d i c i o n a l e s y no-condi clonal es.

E l d i r e c c i o n a m i e n t o relat ivo es previsto para las i n s t r u c c i o n e s d e sal tos y 11 amadas sopor t a n d o programas de posi c i o n i ndependi e n t e .

E l mov imiento de b l o q u e s , l a s busquedas y l a s i n s t r u c c i o n e s de I/O proveen una manera poderosa para el movimiento de datos.

CONDI C I ONES DE EXCEPCI ON.

E l 2-280 MPU soporta tres tipos de e x c e p c i o n e s Ccond i c i ones que a l t e r n a n con el f l u j o normal de l a e j e c u c i ó n de un programa3: i n - t e r r u p c i o n e s , trampas y resets.

Las i n t e r r u p c i o n e s son t l p i c a m e n t e e v e n t o s a r l n c r o n o s d i spara - das por periféricos que r e q u i e r e n de a lguna a t e n c i ó n . La e s t r u c t u - ra de i n t e r r u p c i o n e s del pP 2-280 ha sido realzada s i g n i f i c a t i v a - mente con el inc remento de l i n e a s de p e t i c i o n de i n t e r r u p c i ó n .

Hay 4 modos para el manejo de i n t e r r u p c i o n e s :

- Compat ib l e c o n 8080, e n el c u a l el dispositivo que interrum- pe provee l a primera i n s t r u c c i b n de l a r u t i n a de i n t e r r u p c i ó n .

- I n t e r r u p c i o n e s dedicadas, e n el c u a l el CPU s a l t a a a lguna determinada d i r e c c i ó n cuando una i n t e r r u p c i ó n ha o c u r r i d o .

- Modo de i n t e r r u p c i b n vectorizado, en el cua l e1 periférico que in t e r rumpe provee un vector h a c i a una tab la de s a l t o s a d i r e c c i o n e s de r u t i n a s de a t e n c i ó n a i n t e r r u p c i o n e s .

- Modo mejorado de i n t e r r u p c i ó n v e c t o r i z a d o . Cuando el CPU t i r a una trampa y una f u e n t e m u l t i p l e de i n t e r r u p c i b n es a c t i v a d a , se salva l a i n f o r m a c i ó n de c o n t r o l . también el contador de programa es guar dado cuando o c u r r e una i n t e r r upc i ón.

Page 10: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

Los primeros 3 modos son compatibles con los modos de interrup- c i ó n del pP 280; los 4 modos proveen una mayor f l e x i b i l i d a d para el manejo de l a s interrupciones.

MANEJO DE MEMORIA.

E l manejo de memoria cons is te principalmente de una re loca l i za - cibn dinámica, y protección de una porción de memoria.

El ca par c i ó n f

propio manejo de memoria puede proveer una estructura l ó g i - .a el espacio de memoria que es independiente de l a l o ca l i z a - ' i s ica actual de los dataos, p ro t e j e a l usuario de errores inadver-

t i dos Ctales como intentar ejecutar datos>. impide accesos no auto- r izados a memoria, y p ro t e j e l a operacián del sistema de trastornos causados por el usuario.

MODO DE MULTIPROCESO.

Un modo especial de operacián permite a l pP 2-280 operar e n un medio que tenga un bus g loba l , donde el bus i n t e r n o del MPU 2-280 no es el bus maestro .

Un con jun to de direcciones de memoria Cdeterminadas bajo con- t r o l del programa> son dedicados a un bus l o ca l , el cual es con- t ro lado por el pP 2-280 y otro conjunto de direcciones es usado para el bus global -

E l pP 2-280 requiere hacer una pe t i c ión de bus, y r e c i b i r un reconocimiento antes de hacer un acceso a memoria para una direc- cibn en el bus global -

E s t e modo de operación f a c i l i t a el uso de pP 2-280 en conf i - guraciones de multiproceso. Por ejemplo, un pP 2-280 podria ser usado como un procesador de I/O en un 280000, 28000 ó un siste- ma 2-280-based.

Page 11: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

. ..--

SEGUNDA PARTE:

MI CRO-PROCESADOR 2-1 80

1 4 6 2 2 9

Page 12: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

ina

I NTRODUCCI ON AL MI CRO-PROCESADOR 2-1 80

El micro-Procesador 2-18C) esta basado en Inidad de ejecu- c i bn m i crocodi f i cada asi como una avanzada tecnol ogi a de manuf ac- turización CMOS, es un pprocesador de 8 b i ts el cual provee los beneficios de un reducido costo de sistema, una operación con un bajo consumo en potencia, mayor capacidad de ejecucibn, ademas de mantener compatibilidad con una gran industria de software estan- dar desar r o1 1 ada par a el ppr cscesador 2-80.

La gran capacidad de eJecucibn es obtenida debido a que el pp 2-180 opera a a ltas frecuencias, reduciendo el tiempo de ejecucibn de l a s instrucciones, aumenta el conjunto de instrucciones y provee una unidad de manejo de memoria C W en el mismo chip, dicha MMU es capaz de direccionar hasta un megabyte de memoria.

La reducción de costo del sistema es obtenida por l a incorpo- ración de funciones clave del sistema en el propio chip. estas fun- ciones clave incluyen dispositivos de E/S ta l como DMA, UART, y canal es de ti mer s - Tambi en i ncl uye var i as f unci ones aRadi das ta l es como control de refresco de memorias dinamicas, generador de esta- dos de espera, r el o j osci 1 adúr y contr o1 ador de i nter r upci ones.

No solo durante l a operación normal el VProcesador 2-180 con- sume una baja cantidad de potencia, sino que tambien cuenta con dos modos de operación disefiados para reducir drarticamente el con- sumo de potencia aun mas. Estos son el modo de "SLEEP" en e l cual el pprocesador pone en un estado de a l to l a CPU, consumiendo menor corriente mientras que e1 dispositivo de E/S del chip esta s in embargo aun en operacibn. el modo "SYSTEM STOP" coloca tanto l a CPU como los perifericos del chip en modo de a l to , reduciendo aun mas e l consumo de energla.

Cuando combinamos otros dispositivos VLSI Cmuy a l t a escala de integración3 y memorias, e l pprocesador 2-180 es una exelente so- lución a aplicaciones de sistemas que requieren de a l t a capacidad de ejecución y operadbn con bajo consumo de energla.

Page 13: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

- Frecuencia de operac:ibn de 10 MHz.

- MMU en el mismo chip, l a cual soporta espacio de direccionamiento exkendido.

- b s canales de DMA.

- Se dispone en el mismo chip de:

- Generadores de estados de espera.

- Controlador de interrupciones.

- Generador de re1 oj .

- Osci 1 ador.

- Dos canales de timers de 16-bits

- Puerto de E/S ser ia l .

- Codigt, compatible con el pprocesador 2-80.

- instrucciones extendidas.

Page 14: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

ARQUI TECTURA DEL M I CRO-PROCESADOR 2-1 80

E l 2-180 combina una CPU principal de a l t a capacidad de eje- cucion con una variedad de sistemas y recursos da E A usados en un amplio rango de aplicaciones. La CPU principal consiste de cinco bl oques funcional es : gener adcsr de re1 o j , control ador de estados del bus C i ncl uyendo refresco de memori as di nami cas3 , control ador de in- terrupciones, unidad de manejo de memoria C M M U 3 y l a unidad central de procesamiento.

- Generador de r e l o j

Esta lógica genera el sistema de re lo j a partir de un cr ista l externo a una entrada de r e l o j

- Controlador del estado del bus

Esta lógica ejecuta todos los estados del bus y controla l a ac- tividad del bus asociada con l a CPU y algun periférico en el chip. Este incluye temporización para estados de espera, c ic los de reset refresco de memoria RAM dinámica e intercambios de bus con DMA.

- Contr 01 ador de i nter r upci ones

Este bloque monitorea y asigna prioridades a una variedad de in- terrupciones internas y externas asi como trampas para asegurar l a correcta respuesta desde l a CPU. Para permanecer compatible con el pprocesador 2-80 se soportan tres modos de manejo de interrupciones.

- Unidad da manejo de memoria

Permite a l usuario mapear l a memoria usada por l a CPU Clogica- mente permite solo el uso de bQKB3 en un rango de direccionamiento de un Mbyte, soportado por e l 2-180.

E l código objeto es compatible con el del pprocesador 2-80 pero l a MMU del 2-180 ofrece acceso a un espaciode memoria extendido. Esto se logra pcr el uso de unesquema efectivo de m e m o r i a.

Page 15: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

- Unidad de procesamiento central.

La CPU es microcodificada tiene ademas un nucleo que suministra cadigo compatible con el 2-80. Cuenta con un conjunto de instruc- e i ones mayor que 1 as del 2-80, i ncl uyendo tanto mu1 ti pl i c a d ones como divisiones de 8 b i ts . La CPU permite tambien ejecutar varias instrucciones con menos cic los de r e l o j .

- Controlador de DMA

Provee transferencias sumamente rapidas entre memoria y dispo- s it ivos de E&. Soporta transferencias de memoria a memoria, memo- r i a a E / S y por ultimo de E,/S a E&. Los modos de transferencia soportados son: peticion, rafaga, y robo de cic lo . Las transferen- cias por DMA pueden accesar completo un rango de directionamiento de 1 Mbyte con una longitud de bloque de hasta 84 Kbytes.

- Interfaz de comunicación ser ia l asíncrona

Esta lógica provee dos UART s FULL-DUPLEX individuales. Cada canal incluye un generador de BAUD RATE programable y sefíales de control de MODEM. Los canales pueden tambibn soportar un formato de comunicaciones mu1 ti proceso.

- Tempori zador recargabl e-programabl e

Esta lbgica consiste de de dos canales separados, cada uno con- tiene un contador CTIMER3 de 16 bits y un registro recargable de conteo. E l tiempo base para los contadores es derivado de el re lo j del sistema Cdividido par 203 antes de alcanzar e1 contador. el ca- nal l provee una sal ida opcional para permitir generacilsn de ondas.

Provee un transmisor y receptor ser ia l HALF-DUPLEX. Este canal puede ser usado para intercambio dé datos de a l t a velocidad con otro micro-procesador o micro-computadora.

Page 16: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

MODOS DE DI RECCI ONAMI ENTO

El conjunto de instrucciones del s180 incluye 8 modos de direc- ciorlamiento:

- Registro implícito

- Di recto por r egi star o

- Indirecto por registro

- Extendi do

- Inmediato

- Re1 at i vo

- Regi s t r o i mpl 1 c i to

Ciertos cbdigos de operacibn automaticamente indican el registro usado ta les como l a s operaciones aritntéticas, l a s cuales inherente- mente refer enci an a l acumul ador, regi rtr os 1 ndi ces , apuntador a 1 a p i l a o registros de proposito general.

- Directo por registro

Varios cbdigos de operacibn contienen campos de b i t s sspecifican- do registros que reran usados para l a operacibn. La definicion del campo de b i t exacto varia dependiendo de l a instruccibn que se tra- t e

Page 17: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

registrs

La direccibn del operando en memoria es contenida en uno de los registros de proposito general CBL, DE, HL3

- I ndexado

La dlreccibn del operando en memoria es calculada usando el con- tenido de un registro indicé C I X o I Y 3 y un desplazamiento con signo especificado en l a instzuccibn.

- Extendi do

La direccibn del operando en memoria es especificada por dos bytes contenidos en l a instruccibn.

- I nmedi ato

Lor operandos de memoria son contenidos dentro de uno o dos bytes de l a instruccibn.

- Re1 ati vo

Este modo de direccionamiento es usado unicamente por l a s inrtruc - ci ones de rami f i caci án condi clonal es e i ncondi c i onal es. el despl a- zamiento para el salto Crelativo al contador de programa 3 es con- tenido en l a instruccibn.

E s t e modo de direccionamiento es usado solo por las instrucciones de E&. E s t e modo especifica l a direccibn de E 6 y l a sal ida.

Page 18: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

CONJUNTO DE I NSrrZUCCI ONES

El codigo objeto del 2-180 es compatible con el 2-80 el con- junto de instrucciones es el mismo que el del 2-80 con l a adicibn de nuevas instrucciones:

- SLP :

para ponerse en modo de bajo cconsumo de energla "SLEPP"

- MLT :

multiplicación de 8 hits con resultado de 1 6 bits

- I N O g b C d :

entrada del contenido de una dirección inmediata de E/S

sal ida del contenido de un registro a una dirección in- mediata de Ea.

- OTIM :

sa l ida de bloques can incremento

- OTIMR :

sa l ida de bloques can incremento y repeticibn

- OTDM :

salida de bloques con decremento

- OTDMR :

salida de bloques con decremento y repeticibn

Page 19: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

.-

"Y" acumulador.

lógica no destructiva entre el puerto de E& y el

"Y" lbgica no destructiva entre el registro y el acumulador

"Y" lógica no destructiva entre un un dato inmediato y el acumul ador.

"Y" acumul adúr -

lbgica no destructiva entre un dato en memoria y el

Page 20: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

ENSAMBLADOR ARCHIVO FUENTE

PR IYERA PASADA

( LLENADO DE LA TABLA- DE SIYBOLOS >

I - I u '"'

8 I ME OLOS

SEOUNDA PASADA

( AWALISIS SINTESIS k CODXFICACION DEL A R C ~ I V O

DIAGRAMA A BLOQUES DEL ENS%MBLADOR

146229

1

Page 21: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

TERCERA PARTE:

DESARROLLO DEL MACRO-ENSAMBLADOR

Page 22: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

I NTRODUCCI ON.

Un Macro-Ensamblador es un programa capaz de analizar un ARCHIVO FUENTE <instrucciones puestas como mnemónicos3 y producir un archi- vo en cbdigo hexadecimal CcOdigo que puede entender el sistema3 con el código equivalente a cada una de las instrucciones encon- tradas en el archivo fuente.

Como parte del anál is is se crea un archivo con los errores que se detectan durante en el analisis del archivo fuente, para que asi el usuario tenga l a capacidad de corregir su archivo fuente.

El modo de aná l i s i s de los Macro-Ensambladores generalmente se realiza de dos pasadas, y se pueden explicar de l a siguiente manera:

PRIMERA PASADA. se eliminan las etiquetas, l a s variables decla- radas son almacenadas en una tabla con informacihn de cada una de el las, las variables que vayamos encontrando en el archivo se van cambi ando por sus di r ecci ones cor r espondi entes. Aqui el ar chi vo fuente in ic ia l no se ha modificado para el anál is is en l a segunda pasada.

SEGUNDA PASADA. se rea l iza un proceso de ligado, es decir se va analizando detalladamente cada uno de los renglones que componen el archivo fuente, permitiendo asi obtener el código correspondiente a cada una de las instrucciones que componen el archivo, en el caso de que el &digo no pueda ser obtenido en forma adecuada se mandara un mensaje de error indicando l a l inea en que ocurrio el error y un mensaje que describa dicho error.

Como resultado se crea un archivo especial el cual contiene todo el cbdigo obtenido en el anál is is del archivo fuente.

Page 23: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

PLANTEAMI ENTO DEL PROBLEMA.

NECESIDAD DE CREAR UN MACRO-ENSAMBLAMSR PARA LOS pPRCXESAWRES 2-280 Y 2-180.

La necesidad de realizar un Macro-Enramblador para los pP 2-280 y 2-180 surge debido a que en la actualidad no se encuentran dis- ponibles estos en el mercado, dé ahi l a importancia de poder desa- r ro l l a r este software para usos particulares en un sistema 2-280 o 2-1 80.

I

ANALISIS DEL MACRO-ENSAMELADOR DEL 2-80 PRODUCIW POR SIL=.

El software producido por P L O G para el pP 2-80 es de gran calidad además de 4ue es muy confiable.

Entre sus características importantes pueden men- cionarse:

- Gran velocidad y confiabilidad.

- Tiene l a capacidad de l igar diferentes archivos.los cuales en su conjunto componen el archivo fuente a analizar.

- Ofrece l a posibilidad de declarar variables en un archivo y utilizarlas en otras archivos, por medio de un proceso denominado ligado.

- Posibilidad de emplear MACROS.

- Re1 oca1 i zaci &n de rutinas.

Page 24: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

PROPUESTA DE SOLUCION.

En base a las técnicas de programación conocidas real izar un programa que desempefie l a funcion de un Macro-Ensdmblador para e l Micro-Procesador 2-280, y otro para el pP 2-180 el' cual pueda ser de semej ante cal i dad, con el Macro-Ensambl ador par,a 2-1 80 producido por P L O G el fabricante de estos PProcesadores. ~

MODELO PROPUESTO. ,

En base a l lenguaje de programación TURBO C 240 generar dicho

l a estructura general de dicho programa sera l a siguiente: programa.

1. ANALIZADOR LEXICOGRAFICO: Es el encar ado de reconocer cada un3 de las estructurar qué conforman el prog f ama fuente como son etiquetas, instrucciones, comentarios, etc.

2. ANALIZADOR SINTACTiCD: Es el encargad+ de revisar que l a s instrucciones esten declaradas correctamente.

3. RESULTADOS: son todos los archivos de sal ida los cuales muestran tanto e1 archivo fuente junto con el res eetivo cbdigo en hexadecimal de cada instruccibn, uno eón el codig hexadecimal de todo el archivo fuente y uno con l a tabla de re fe encias que solo es un arreglo de nombres de variable junto con un dirección, o en caso de haber errores mostrara sblo un archivo co B los errores en- contrados durante el ana l i r i s del archivo fuente. 1

Page 25: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

DESARROLLO.

E l programa en su conjunto esta constituido por los archivos que se mencionan a continuacion:

sol as. c - tablas. c - salida. c - sal tos. c A a b r i e l - c - m39, c

- - 1 exi co. c - senci l la . c equi a d c . c fd iv . c - fcarga. c -

para el caso del MACRO-ENSAMBLADOR del 2-880. para el MACRO- ENSAMBLADOR del 2-180 solo re suprimen algunas instrucciones que no soporta este pprocesador, asi el resto de los archivos sigue siendo el mismo.

Page 26: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

CUARTA PARTE:

MANUAL DE USUARIO

Page 27: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

E l Macro-Ensamblador que aquf se presenta. esta realizado en lenguaje C, para l o cual se u t i l i zo el compilador TURBO C en l a version 2 .0 .

FORMA DE OPERACI ON DEL MACRO--ENSAMBLADOR.

La forma de ut i l i za r este Macro-Ensamblador desde l a l inea de comandos del Sistema Operativo es l a siguiente:

Una vez que se encuentre el prompt l i s t o ; Es decir:

usted debera teclear l o siguiente:

Si quiere generar codigo para el PProcesador 2-280, y l a opcion:

Para generar codigo para el VProcosador 2-180.

En ambos caros el nombre de archivo que se proporcinara sera el del ARCHIVO DE ESPECIFICACION, el cual contiene tanto el nombre de cada uno de los archivos fuente como l a direccion in ic ia l de ensambl e. por ejempl o, un archi vo de especi f i caci on 11 amado ESPELI F I . ARC puede contener 1 o sigui ente:

perif. s ~ 1 0 0 : archl. r.arch2. s &OO.- arch3. s . archb. s arch5- s

cuando se invoque 31 macro ensamblador como sigue:

A:.:.MAS-Z280 ESPECI FI . ARC .<enter :::.

Ensamblara l o s archivos como sigue:

Page 28: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

E l archivo PER1F.S comienza en l a localidad 0000. E l archivo ARCH1 - S comienza en l a localidad 010OH E l archivo ARCH2.S comienza en la localidad siguiente a la que termina el ciodigo de ARCH1 . S E l archivo ARCHB. S comienza en l a localidad 800 en hexa E l archivo ARCH4. S se pone en segida de1 codigo del archivo ARCH4.S. y a continuacion se coloca el archivo ARCHS. S

NOTA. l a s direcciones que se ponen en el archivo de especif i - cacibn antes del nombre de un archivo nesesariamente deberan estar en si s t em hexadecimal.

Posi b1 es err or es :

1 - - Si usted solamente tecleara A,MAS-Z280 .:::ENTER::. Co MSM-Zl80 .:::ENTER>.> se presentara el siguiente mensaje de error:

.<:Error *. , No se puede 1 eer el archivo de entrada T e d ear EM-2280 .<Nombre del Ar chi vo - Ext :::. .::: ENTER:::.

O tambien es posible:

.:::Error ? , No se puede 1 eer el archi vo de entrada T e d ear EM-Zl80 .<Nombre del arc hi vo ext :::. .:::ENTER:::.

Respectivamente.

2. - Si usted proporciona algdn nombre de un archivo que no se encuentre en e1 diskette donde esta e l programa MSM-2280, Co MSM-Zl803 se mandara e1 siguiente mensaje de error:

No se puede puede puede abrir el archivo .:::archivo>. f5 no existe.

ARCHI VOS GENERADOS.

Para e1 caro en que rea l izá satisfactoriamente el anál is is del Archivo Fuente se prcsduciran como salidas varios archivos que son los siguientes:

- TABLAS. TAB. En el se encuentran declaradas todas l a s variables encontradas durante el anál is is asi como su dirección correspon- di ente.

- ARCH-HEX. contiene todo el codigo en hexadecimal que se obtuvo a partir de los archivos fuente y el archivo de especificacibn.

Page 29: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

- ER!?c?.P!?i! . Y1 cud coztenbru tcbos los crrsres e2cuztradosen el analisis del Archivo Fuente, indicando el mensaje que describe dicho error asi como l a linea. donde se encontro.

-*. PRN . contiene el Archivo Fuente con el código correspondiente para cada una de las instrucciones que componen el archivo de en- trada, se crea uno para cada archivo fuente mencionado en el archi- vo de especi f i c a d an.

Page 30: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

FUNCIONAMIENTO DEL MACRO-ENSAMBLADOR.

A grandes rasgos l a manera de operar de este macro-ensamblador para el micro-procesador 2-2.90 C o 2-1803 es l a siguiente:

Dado un archivo de entrada a l que llamaremos ARCHIVO FUENTE este es anal i zado por el macr o-ensambl ador C programa MAS-zS80. EXE , o MAS-Zí803 produciendo como sal ida un ARCHIVO. PRN el cual se encon- trara compuesto por todas las instrucciones que contenga el ARCHIVO FUENTE asi como e l código correspondiente a cada una de estas ins- trucciones, donde &te código puede ser usado por un sistema 2-280 Co 2-1803 para real izar l a s tareas que l e fuerón impuestas en este ARCH1 VO FUENTE.

M O W DE ANALIZAR EL ARCHIVO FUENTE.

En base a l a s reglas gramaticales descritas para el analizador 1 exi cogr af i co, este programa ti ene 1 a capaci dad de reconocer :

-MNEMONICOS. Los cuales pueden ser 107 posibles, si es encontrado alguno se almacenara en l a variable "MNEMONICO",además de que l a var i ab1 e "ti po-mnemonl co" a l macenar a el número cor r espondi ente a este mnemonico, para despubs en base a este poder realizar e l aná- l i s i s de l a instrucción encontrada.

-INSTRUCCIONES. Las cuales puede ser que vengan acompañadas por un comentario, todo esto sera almacenado en l a variable "OPERl", par a el anál i si s pr i mer amente debemos de el emi nar el comentar i o, para que así pueda l a variable "OPER1" tener los argumentos reque- ridos para el anal is is de l a instruccián de l a cual forma parte.

erpaci os como tabu1 adores- Por ñltimo esta variable "OPER1" se revisa para eliminar tanto

-SALTOS DE LINEA. Una vez que ha sido alcanzado l a parte f ina l de un renglón, entonces se procede a analizar l a s variables "tipomne- monico" y "OPER1" las cuales tienen l o s pori bles componentes de una instruccián, en e l caso que estas variables cumplan con los reque- rimientos necesarios, entonces en base a un anál is is detallado po- dra obtenerse el código correspondiente a dicha instrucción , donde l a variable "LODIGO" contendra e l cbdigo correspondiente.

En el posible caso de que el anál is is de l a instrucción no se haya realizado por algñn error, entonces se mandara un mensaje de error a un archivo especial indicando ademas el renglbn donde f u e encontrado.

Page 31: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

1 - DIRECCION INVALIDA: quiere decir que l a direccion que se pro- porciono en l a instrucción o bien esta fuera de rango o no esta especificada en l a tabla de simbolos.

2. ARGUMENTOS NO PERMITIDOS E N LA INSI'RUCCION: s igni f ica que los argumentos que se detectaron en dicha instrucción no son soportados por esta, se aconseja checar los parametros en el manual correspon- diente.

3. SEGUNDO OPERANDO INCORRECTO: indica que e1 segundo operando especificado en l a instrucción no esta soportado o esta escr ito de manera i ncor r ecta.

-1.. FALTA SEGUNDO OPERANDO: ocurre cuando no se especifica el segundo argumento de l a instrucción.

1. OPERANDOS INCORRECTOS: se presenta sí los argumentos estan mal escritos en l a instrucción.

P s . FALTAN OPERANDOS: se indica l a instrucción pero no sus argu- mentos.

7 . PRIMER OPERANDO INCORRECTO: se encontro un error en el pri - mer operando o este no es soportado por l a instrucción.

8 , PRIMER OPERANDO FUERA DE RANGO: se esperaba un desplazamien- I to mas pequefio que el que se detecto, revisar manual para la ins-

truccion en l a que aparece el error.

9. REGISTRO NO PERMITIDO: el registro usado en l a instrucción como argumento no esta permitido.

10. REGISTRO NO PERMITIDO EN SEGUNDO OPERANW: e1 registro que se declaro como segundo operando no esta permitido en l a instruc- cíbrl.

11 Ij DESPLAZAMIENTO INCORRECTO: el desplazamiento usado en l a instruccibn esta mal escrito.

12. FALTA DESPLAZAMIENTO EN SEGUNDO OPERANDO: l a instruccihn r equi ere de un despl azami ent o como segundo operando.

13. VALOR NUMERICO FUERA DE RANGO: e1 valor numerico detectado en l a instrucción esta fuera de rango.

1.4. VALOR NUMERICO INCORRECTO: indica que se encontro un numero mal escrito. en l a instrucción.

Page 32: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

QUINTA PARTE:

RESULTADOS Y CONCLUSIONES

Page 33: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

ANALISIS DE RESULTADOS.

A continuación se muestra el resultado obtenido en e l análi- s i s de los archivos:

I - PRU.DAT - PRU1.DAT - PRUB-DAT

En el anál is is de estos archivos de prueba notamos que l a velo- cidad de procesamiento es buena,adends de que el ccidigo generado hasta esta parte fuO relativamente sencillo de veri f icar .

La estructura empleada en el anál is is del archiva fuente nos I

I

parece l a mas razonable y eficiente porque nos permite localizar de manera rápida el cádigo asociado a l a instrucción actual, además de permitir seguir incorporando las dendr instrucciones que compo- nen el cc~njunto de instrucciones del pP 2-280.

i I

Page 34: MACRO-ENSAAMEL ADORES Z--280 Z- 1 RO

CONCLUSI ONES.

E l programa cumplio con los objetivos propuestos al inicio del presente proyecto.

E l desarrollo de programar como este es de gran importancia, pues f ac i l i t an e l trabajar con sistemas de PProcesadores, en este caso con el 2-2e0 y el 2-180. ya que en l a actualidad no se cuenta con los ensambladores para e l los . Pues l a tarea de ensamblar a mano resul ta ser demasiado complicada, débi do pri nci pal mente al cal cul o de despl azami entos usados muy frecuentemente en i nrtrucci ones de Sal tos.

E l programa que aqui se desarrollo, pensamos que con un soporte adecuado bien podria ser puesto a disposicion de personas intere- sadas en adquirir un ensamblador para desarrollar sistemas con los m i cr o-pr ocesador es menci onados , y aun cuando no tenga 1 a cal i dad de los que desarrollan especialistas en el ramo, se pude asegurar que los resultados obtenidos serán satisfactorios.