12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

En consecuencia consi<strong>de</strong>ramos que CODE-2reúne todos los requisitos establecidos en [27]para un procesador pedagógico.3. Repertorio <strong>de</strong> instrucciones máquina <strong>de</strong>CODE-2El repertorio <strong>de</strong> instrucciones máquina <strong>de</strong> CODE-2 se muestra en <strong>la</strong> Tab<strong>la</strong> 1. Los nemotécnicos quese utilizan son los propuestos en el estándar IEEE694 [28]. Aparte <strong>de</strong> <strong>la</strong>s instrucciones <strong>de</strong> carga yalmacenamiento (comentadas en <strong>la</strong> secciónanterior) hay dos instrucciones <strong>de</strong> carga inmediata<strong>de</strong> registros, que utilizan el formato F3 (Figura 2):una <strong>de</strong> el<strong>la</strong>s (LLI) carga <strong>la</strong> parte baja <strong>de</strong>l registroespecificado en <strong>la</strong> instrucción y otra (LHI) <strong>la</strong> partealta <strong>de</strong>l registro. También se han incluidoinstrucciones específicas <strong>de</strong> entrada y salida, locual no impi<strong>de</strong> que el profesor explique <strong>la</strong>posibilidad <strong>de</strong> realizar entradas y salidasutilizando direcciones <strong>de</strong>l mapa <strong>de</strong> memoria. Lasinstrucciones <strong>de</strong> salto y <strong>de</strong> l<strong>la</strong>mada a subrutinautilizan el formato F2, <strong>de</strong> forma que el segundocampo <strong>de</strong> 4 bits especifica si <strong>la</strong> bifurcación esincondicional (cnd=0000) o, en caso contrario <strong>la</strong>condición <strong>de</strong> salto (especificada con otros valores<strong>de</strong> cnd). La dirección <strong>de</strong> salto hay que almacenar<strong>la</strong>previamente en el registro rD <strong>de</strong>l banco <strong>de</strong>registros.Debido a <strong>la</strong> ortogonalidad <strong>de</strong> CODE-2, quedivi<strong>de</strong> todas <strong>la</strong>s instrucciones en campos <strong>de</strong> 4 bits(1 cifra hexa<strong>de</strong>cimal) es inmediato pasar <strong>de</strong>nemónicos a código hexa<strong>de</strong>cimal; en efecto, <strong>la</strong>primera cifra hexa<strong>de</strong>cimal i<strong>de</strong>ntifica el codop, <strong>la</strong>segunda uno <strong>de</strong> los 16 registros <strong>de</strong> RF (0, 1,...,E,F) o <strong>la</strong> condición <strong>de</strong> salto, y los otros doscampos dos registros o un valor inmediato (v), enhexa<strong>de</strong>cimalCuando se realiza un programa en lenguajemáquina para CODE-2, se recomienda al alumnocargar en los registros r0 y r1 los valores 0 y 1,respectivamente, con dos instrucciones LLI. Unavez almacenados estos valores, resulta inmediatollevar el contenido <strong>de</strong> un registro a otro (con <strong>la</strong>instrucción <strong>de</strong> suma, sumando el contenido <strong>de</strong> r0al registro origen, y llevando el resultado alregistro <strong>de</strong>stino), o incrementar o <strong>de</strong>crementar elcontenido <strong>de</strong> un registro (sumándole o restándoleel contenido <strong>de</strong> r1, respectivamente).A<strong>de</strong>más <strong>de</strong>l lenguaje máquina, se ha <strong>de</strong>finidoun lenguaje ensamb<strong>la</strong>dor, siguiendo el estándarIEEE694 [28] tanto para <strong>la</strong> <strong>de</strong>finición <strong>de</strong> losnemónicos (que coinci<strong>de</strong>n con los <strong>de</strong> <strong>la</strong> cuartacolumna <strong>de</strong> <strong>la</strong> Tab<strong>la</strong> 1) como <strong>de</strong> <strong>la</strong>s directivas quese han implementado (ORG, EQU, DW, DR eINCLUDE).4. Montaje <strong>de</strong> CODE-2Tab<strong>la</strong> 1. Repertorio <strong>de</strong> instrucciones <strong>de</strong> CODE-2El CODE-2, para ser utilizado por los alumnoscomo entrenador, se encuentra montado en unpequeño bastidor cuyo panel frontal se muestra en<strong>la</strong> Figura 2, y que contiene los siguienteselementos:Codopbinario HexNombreNemónicoPárametrosFor.Explicación00000001001000110100010101100111100010011010101111001101111011110123456789ABCDEFCargarAlmacenarCarga inme.bajaCarga inme. altaEntradaSalidaSumaRestaNANDDesp<strong>la</strong>za izquierdaDesp<strong>la</strong>za <strong>de</strong>rechaDesp<strong>la</strong>za arit. dch.SaltoSubrutinaRetornoPararLDSTLLILHIINOUTADDSSUBSNANDSHLSHRSHRAB-CALL-RETHALTrx,[v][v],rxrx,vrx,vrx,IPvOPv,rxrx,rs,rarx,rs,rarx,rs,rarxrxrxcndcnd--F3F3F3F3F3F3F4F4F4F1F1F1F2F2F0F0rx←M(rD+v)M(rD+v)←rxrx(15:8)←H’00; rx(7:0)←vrx(15:8)←vrx←IPvOPv←rxrx←rs+rarx←rs-rarx←(rs·ra)’C←rx(15), rx(i)←rx(i-1), i=15,…,1; rx(0)←0C←rx(0), rx(i)←rx(i+1), i=0,…,14; rx(15)←0C←rx(0), rx(i)←rx(i+1), i=0,…,14Si cnd se cumple, PC←rDSi cnd se cumple, rE←rE-1, M(rE)←PC, PC←rDPC← M(rE); rE←rE+1Parar

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!