• Domingo 22 de Diciembre de 2024, 13:21

Autor Tema:  [SOLUCIONADO] Ensamblador MIPS  (Leído 1926 veces)

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
[SOLUCIONADO] Ensamblador MIPS
« en: Miércoles 6 de Mayo de 2009, 17:35 »
0
No sé si alguien estará muy puesto en esto, pero yo lo pongo (si éste no es el lugar adecuado, mis disculpas anticipadas):

Código: ASM
  1.     00000000:    3c040440   lui $a0,0x440      
  2.     00000004:    3c05047a   lui $a1,0x47a      
  3.     00000008:    ac800000   sw  $zero,0($a0)       
  4.     0000000c:    24840004   addiu   $a0,$a0,4      
  5.     00000010:    1485fffd   bne $a0,$a1,0x8    
  6.     00000014:    00000000   nop            
  7.     00000018:    04110001   bgezal  $zero,0x20     
  8.     0000001c:    00000000   nop            
  9.     00000020:    03e08021   addu    $s0,$ra,$zero      
  10.     00000024:    26040508   addiu   $a0,$s0,1288=0x0508 
  11.     00000028:    3c030881   lui $v1,0x881      
  12.     0000002c:    3c1209ea   lui $s2,0x9ea      
  13.     00000030:    36520c46   ori $s2,$s2,0xc46      
  14.     00000034:    3c130015   lui $s3,0x15       
  15.     00000038:    3673f3ac   ori $s3,$s3,0xf3ac     
  16.     0000003c:    00734021   addu    $t0,$v1,$s3    
  17.     00000040:    00804821   addu    $t1,$a0,$zero
  18.  
La instrucción bgezal $zero,0x20 (0x18) me parece que no tiene ningún sentido, ya que salta a 0x38... ¿Alguien le ve alguna lógica?
« última modificación: Jueves 7 de Mayo de 2009, 12:32 por m0skit0 »

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ensamblador MIPS
« Respuesta #1 en: Miércoles 6 de Mayo de 2009, 17:50 »
0
Una logica le veo 0x20+0x18 que salte a 0x38  :P

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Ensamblador MIPS
« Respuesta #2 en: Miércoles 6 de Mayo de 2009, 17:56 »
0
Ok Eternal Idol, gracias por la ayuda...  :lol:

Ahora en serio, no tiene sentido modificar la media palabra (16 bits) baja del registro S3 y después sumárselo a V1 cuando ni siquiera sabemos qué hay en la media palabra alta. Sí tendría lógica si se ejecutara lui $s3,0x15 (0x34) que carga la media palabra alta de S3. De hecho, LUI y ORI siempre van juntas para cargar un registro con un valor inmediato.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Ensamblador MIPS
« Respuesta #3 en: Jueves 7 de Mayo de 2009, 12:31 »
0
Vale, resulta que 0x20 no es un desplazamiento + PC, sino directamente el PC :P