Ensamblador con Mips

21
Ensamblador MIPS

description

Brebe descripcion de ensamblador con MIPS

Transcript of Ensamblador con Mips

Ensamblador MIPSElentornodetrabajoparalarealizacindelas prcticasserenunsimuladorMIPS,lopuede obtener de la siguiente direccin Web:http://sourceorge!net/projects/spimsimulator/"les/#isponible para $arias plataormas!IntroduccinPara la prcticas se utilizar un simulador basado en MIPS %&''' / %('''%egistros)so de los registros*zero tiene cableado el $alor num+rico cero!,osregistros*a',*a-,*a&.*a(seutilizanparapasar parmetros a subrutinas!*$' . *$- se utilizan para de$ol$er $alores de subrutinas!Elregistro*racontieneladireccinderetorno.seutiliza para $ol$er despu+s de una llamada a subrutina!,osregistros*s',*s-,*s&,*s(,*s/,*s0,*s1.*s2son registros sal$ados!,os registros *t', *t-, *t&, *t(, *t/, *t0, *t1, *t2, *t3 . *t4 son registros temporales!El registro *gp contiene el puntero global!El registro *sp contiene el puntero de pila!El registro *p contiene el puntero de marco de pila!Elregistro*atestreser$adoparaelusoporel ensamblador . no debe ser usado por los programadores!,os registros *5' . *5- estn reser$ados para su uso por el n6cleo del sistema operati$o)so de registros7ombrado de los registros: 7ombre simblico: Ejemplo: *t'8 76mero de registro 9'!!(-:! Ejemplo: *3Modelo de la memoria,lamadas al sistemaSon instrucciones ;ue permiten obtener un ser$iciodel sistema operati$oS?II 3 bitsEnsamblador MIPS?adal@neadelprogramaenensamblador contiene una 6nica sentencia, ejemplos:A esto es un comentario hasta "n de l@nea!data>dd *t', *s', *s-#irecti$as Directivas Uso!data ,os elementos se almacenan en el segmento de datos!teBt ,os elementos se almacenan en el segmento de cdigo!asciiCcadena caracteresC?adena de caracteres ;ue no terminan en carcter nulo!asciiz Ccadena de caracteresC?adena de caracteres ;ue terminan en nulo!b.te -,&,( >lmacena b.tes en memoria!hal &0' >lmacena media palabras en memoria!Dord 0'''' >lmacena palabras en memoria!Eoat -,(, &!/0 >lmacena $alores Eotantes en memoria!double (e&- >lmacena double en memoria!space -' %eser$a espacio de -' b.tes !eBtern eti;ueta n #eclara eti;ueta!globl #eclara eti;ueta como globalEjemplos de instrucciones>ritm+ticasadd rd, r-, r&Salta condicionalbe; r-, r&?arga . almacenamientolD *r-, desplazamiento9*r&:sD r-, desplazamiento9*r&:Estructura de un programa MIPSA#eclaracin de datos!dataA?digo uente, seccin de cdigo del usuario!teBt!globl main Adeclaracin de eti;ueta main de tipo globalmain:A A >;u@ $a el programa!A A