Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Set de instrucciones del Simulador WinMIPS64 Arquitectura de Computadoras 2015 Instrucciones de Transferencia de Datos lb rd, Inm(ri) Copia en rd un byte (8 bits) desde la dirección (Inm+ri) (con extensión del signo) lbu rd, Inm(ri) Copia en rd un byte (8 bits) desde la dirección (Inm+ri) (sin extensión del signo) sb rf, Inm(ri) Guarda los 8 bits menos significativos de rf en la dirección (Inm+ri) lh rd, Inm(ri) Copia en rd un half-word (16 bits) desde la dir. (Inm+ri) (con extensión del signo) lhu rd, Inm(ri) Copia en rd un half-word (16 bits) desde la dir. (Inm+ri) (sin extensión del signo) sh rf, Inm(ri) Guarda los 16 bits menos significativos de rf a partir de la dirección (Inm+ri) lw rd, Inm(ri) Copia en rd un word (32 bits) desde la dir. (Inm+ri) (con extensión del signo) lwu rd, Inm(ri) Copia en rd un word (32 bits) desde la dir. (Inm+ri) (sin extensión del signo) sw rf, Inm(ri) Guarda los 32 bits menos significativos de rf a partir de la dirección (Inm+ri) ld rd, Inm(ri) Copia en rd un double word (64 bits) desde la dirección (Inm+ri) sd rf, Inm(ri) Guarda rf a partir de la dirección (Inm+ri) l.d fd, Inm(ri) Copia en fd un valor en punto flotante (64 bits) desde la dirección (Inm+ri) s.d ff, Inm(ri) Guarda ff a partir de la dirección (Inm+ri) mov.d fd, ff Copia el valor del registro ff al registro fd mtc1 rf, fd Copia los 64 bits del registro entero rf al registro fd de punto flotante mfc1 rd, ff Copia los 64 bits del registro ff de punto flotante al registro rd entero cvt.d.l fd, ff Convierte a punto flotante el valor entero copiado al registro ff, dejándolo en fd cvt.l.d fd, ff Convierte a entero el valor en punto flotante contenido en ff, dejándolo en fd Instrucciones Aritméticas dadd rd, rf, rg Suma rf con rg, dejando el resultado en rd (valores con signo) daddi rd, rf, N Suma rf con el valor inmediato N, dejando el resultado en rd (valores con signo) daddu rd, rf, rg Suma rf con rg, dejando el resultado en rd (valores sin signo) daddui rd, rf, N Suma rf con el valor inmediato N, dejando el resultado en rd (valores con signo) add.d fd, ff, fg Suma ff con fg, dejando el resultado en fd (en punto flotante) dsub rd, rf, rg Resta rg a rf, dejando el resultado en rd (valores con signo) dsubu rd, rf, rg Resta rg a rf, dejando el resultado en rd (valores sin signo) sub.d fd, ff, fg Resta fg a ff, dejando el resultado en fd (en punto flotante) dmul rd, rf, rg Mutiplica rf con rg, dejando el resultado en rd (valores con signo) dmulu rd, rf, rg Mutiplica rf con rg, dejando el resultado en rd (valores sin signo) mul.d fd, ff, fg Multiplica ff con fg, dejando el resultado en fd (en punto flotante) ddiv rd, rf, rg Divide rf por rg, dejando el resultado en rd (valores con signo) ddivu rd, rf, rg Divide rf por rg, dejando el resultado en rd (valores sin signo) div.d fd, ff, fg Divide ff por fg, dejando el resultado en fd (en punto flotante) slt rd, rf, rg Compara rf con rg, dejando rd=1 si rf es menor que rg (valores con signo) slti rd, rf, N Compara rf con el valor inmediato N, dejando rd=1 si rf es menor que N (valores signo) c.lt.d fd, ff Compara fd con ff, dejando flag FP=1 si fd es menor que ff (en punto flotante) c.le.d fd, ff Compara fd con ff, dejando flag FP=1 si fd es menor o igual que ff (en punto flotante) c.eq.d fd, ff Compara fd con ff, dejando flag FP=1 si fd es igual que ff (en punto flotante) Instrucciones Lógicas and rd, rf, rg Realiza un AND entre rf y rg (bit a bit), dejando el resultado en rd andi rd, rf, N Realiza un AND entre rf y el valor inmediato N (bit a bit), dejando el resultado en rd or rd, rf, rg Realiza un OR entre rf y rg (bit a bit), dejando el resultado en rd ori rd, rf, N Realiza un OR entre rf y el valor inmediato N (bit a bit), dejando el resultado en rd xor rd, rf, rg Realiza un XOR entre rf y rg (bit a bit), dejando el resultado en rd xori rd, rf, N Realiza un XOR entre rf y el valor inmediato N (bit a bit), dejando el resultado en rd Instrucciones de desplazamiento de bits dsll rd, rf, N Desplaza a izquierda N veces los bits del registro rf, dejando el resultado en rd dsllv rd, rf, rN Desplaza a izquierda rN veces los bits del registro rf, dejando el resultado en rd dsrl rd, rf, N Desplaza a derecha N veces los bits del registro rf, dejando el resultado en rd dsrlv rd, rf, rN Desplaza a derecha rN veces los bits del registro rf, dejando el resultado en rd dsra rd, rf, N Igual que dsrl pero mantiene el signo del valor desplazado dsrav rd, rf, rN Igual que dsrlv pero mantiene el signo del valor desplazado Instrucciones de Transferencia de Control j offN Salta a la dirección rotulada offN jal offN Salta a la dirección rotulada offN y copia en r31 la dirección de retorno jr rd Salta a la dirección contenida en el registro rd beq rd, rf, offN Si rd es igual a rf, salta a la dirección rotulada offN bne rd, rf, offN Si rd no es igual a rf, salta a la dirección rotulada offN beqz rd, offN Si rd es igual a 0, salta a la dirección rotulada offN bnez rd, offN Si rd no es igual a 0, salta a la dirección rotulada offN bc1f offN Salta a la dirección rotulada offN si flag FP=0 (ó false) (en punto flotante) bc1t offN Salta a la dirección rotulada offN si flag FP=1 (ó true) (en punto flotante) Instrucciones de Control nop Operación nula halt Detiene el simulador
Compartir