.text stuff: .ent stuff .set push .set noreorder .set noat add $0, $0, $31 add $1, $10, $3 add $31, $31, $0 addi $31, $0, 0 addi $1, $10, 3 addi $0, $31, -1 addiu $31, $0, 0 addiu $1, $10, 3 addiu $31, $0, 0xFFFF and $0, $0, $31 and $1, $10, $3 and $31, $31, $0 andi $31, $0, 0 andi $1, $10, 3 andi $0, $31, 0xFFFF nop # The c.lt.s instruction of R5900 has the same opcode as c.olt.s of MIPS I. c.lt.s $f0, $f31 c.lt.s $f31, $f0 # The c.le.s instruction of R5900 has the same opcode as c.ole.s of MIPS I. c.le.s $f0, $f31 c.le.s $f31, $f0 c.eq.s $f0, $f31 c.eq.s $f31, $f0 c.f.s $f0, $f31 c.f.s $f31, $f0 # The cvt.w.s instruction of the R5900 does the same as trunc.w.s in MIPS I. # The cvt.w.s instruction of MIPS I doesn't exist in the R5900 CPU. # For compatibilty the instruction trunc.w.s uses the opcode of cvt.w.s. # cvt.w.s should not be used on R5900. trunc.w.s $f0, $f31 trunc.w.s $f31, $f0 # 128 bit store instruction. sq $0, 0($0) sq $1, 0x7fff($1) sq $8, -0x8000($8) sq $31, -1($31) # 128 bit load instruction. lq $0, 0($0) lq $1, 0x7fff($1) lq $8, -0x8000($8) lq $31, -1($31) # Prefetch cache pref 0, 0($0) pref 1, 0x7fff($1) pref 8, -0x8000($8) pref 31, -1($31) # Preformance counter registers mfpc $31, 0 mfpc $0, 1 mfps $0, 0 mfps $31, 0 mtpc $31, 0 mtpc $0, 1 mtps $0, 0 mtps $31, 0 # Pipeline1 mfhi1 $0 mfhi1 $31 mthi1 $0 mthi1 $31 mflo1 $0 mflo1 $31 mtlo1 $0 mtlo1 $31 movn $0, $0, $31 movn $31, $31, $0 movz $0, $0, $31 movz $31, $31, $0 # Parallel instructions operating on 128 bit registers: pcpyld $0, $0, $31 pcpyld $31, $31, $0 pextlh $0, $0, $31 pextlh $31, $31, $0 pextlw $0, $0, $31 pextlw $31, $31, $0 # G1 instructions mult $0, $0, $31 mult $31, $31, $0 multu $0, $0, $31 multu $31, $31, $0 mul $0, $0, $31 mul $31, $31, $0 madd $0, $0, $31 madd $31, $31, $0 madd $0, $31 madd $31, $0 maddu $0, $0, $31 maddu $31, $31, $0 maddu $0, $31 maddu $31, $0 sync .set pop .set push .set reorder # Short loop fix. li $3, 300 short_loop1: addi $3, -1 addi $4, -1 # NOP should be inserted in branch delay. bne $3, $0, short_loop1 li $4, 3 .set pop .space 8 .end stuff