📄 tt.core.s
字号:
l443: .datac.ule.s_: .asciiz "Testing C.ULE.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 c.ule.s_ syscall lwc1 $f0 fp_s1 lwc1 $f2 fp_s1p5 lwc1 $f4 fp_sm2 c.ule.s $f0 $f2 bc1f fail bc1t l450 j faill450: c.ule.s $f2 $f0 bc1t fail bc1f l451 j faill451: c.ule.s $f0 $f0 bc1f fail bc1t l452 j faill452: c.ule.s $f4 $f0 bc1f fail bc1t l453 j faill453: .datac.un.d_: .asciiz "Testing C.UN.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 c.un.d_ syscall lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 lwc1 $f4 fp_d1p5 lwc1 $f5 fp_d1p5+4 c.un.d $f0 $f2 bc1t fail bc1f l460 j faill460: c.un.d $f0 $f4 bc1t fail bc1f l461 j faill461: .datac.un.s_: .asciiz "Testing C.UN.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 c.un.s_ syscall lwc1 $f0 fp_s1 lwc1 $f2 fp_s1 lwc1 $f4 fp_s1p5 c.un.s $f0 $f2 bc1t fail bc1f l470 j faill470: c.un.s $f0 $f4 bc1t fail bc1f l471 j faill471:# CFC1 and CTC1 tested previously .dataceil.w.d_: .asciiz "Testing CEIL.W.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 ceil.w.d_ syscall lwc1 $f2 fp_d0 lwc1 $f3 fp_d0+4 ceil.w.d $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 ceil.w.d $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_d1p5 lwc1 $f3 fp_d1p5+4 ceil.w.d $f0 $f2 mfc1 $6 $f0 bne $6 2 fail .dataceil.w.s_: .asciiz "Testing CEIL.W.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 ceil.w.s_ syscall lwc1 $f2 fp_s0 ceil.w.s $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_s1 ceil.w.s $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_s1p5 ceil.w.s $f0 $f2 mfc1 $6 $f0 bne $6 2 fail .datacvt.d.s_: .asciiz "Testing CVT.D.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.d.s_ syscall lw $4 fp_d0 lw $5 fp_d0+4 lwc1 $f0 fp_s0 cvt.d.s $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f0 fp_s1 cvt.d.s $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_dm1 lw $5 fp_dm1+4 lwc1 $f0 fp_sm1 cvt.d.s $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail .datacvt.d.w_: .asciiz "Testing CVT.D.W\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.d.w_ syscall lw $4 fp_d0 lw $5 fp_d0+4 mtc1 $0 $0 cvt.d.w $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_d1 lw $5 fp_d1+4 li $t1 1 mtc1 $t1 $0 cvt.d.w $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_dm1 lw $5 fp_dm1+4 li $t1 -1 mtc1 $t1 $0 cvt.d.w $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail .datacvt.s.d_: .asciiz "Testing CVT.S.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.s.d_ syscall lw $4 fp_s0 lwc1 $f0 fp_d0 lwc1 $f1 fp_d0+4 cvt.s.d $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_s1 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 cvt.s.d $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_sm1 lwc1 $f0 fp_dm1 lwc1 $f1 fp_dm1+4 cvt.s.d $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail .datacvt.s.w_: .asciiz "Testing CVT.S.W\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.s.w_ syscall lw $4 fp_s0 mtc1 $0 $0 cvt.s.w $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_s1 li $t1 1 mtc1 $t1 $0 cvt.s.w $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_sm1 li $t1 -1 mtc1 $t1 $0 cvt.s.w $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail .datacvt.w.d_: .asciiz "Testing CVT.W.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.w.d_ syscall lwc1 $f0 fp_d0 lwc1 $f1 fp_d0+4 cvt.w.d $f2 $f0 mfc1 $6 $f2 bne $0 $6 fail lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 cvt.w.d $f2 $f0 mfc1 $6 $f2 li $4 1 bne $4 $6 fail lwc1 $f0 fp_dm1 lwc1 $f1 fp_dm1+4 cvt.w.d $f2 $f0 mfc1 $6 $f2 li $4 -1 bne $4 $6 fail .datacvt.w.s_: .asciiz "Testing CVT.W.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 cvt.w.s_ syscall lwc1 $f0 fp_s0 cvt.w.s $f2 $f0 mfc1 $6 $f2 bne $0 $6 fail lwc1 $f0 fp_s1 cvt.w.s $f2 $f0 mfc1 $6 $f2 li $4 1 bne $4 $6 fail lwc1 $f0 fp_sm1 cvt.w.s $f2 $f0 mfc1 $6 $f2 li $4 -1 bne $4 $6 fail .datadiv.s_: .asciiz "Testing DIV.S\n"fp_s2: .float 2.0fp_s3: .float 3.0fp_s1p5:.float 1.5 .text li $v0 4 # syscall 4 (print_str) la $a0 div.s_ syscall lw $4 fp_s1 lwc1 $f0 fp_s1 div.s $f2 $f0 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_s1p5 lwc1 $f0 fp_s3 lwc1 $f2 fp_s2 div.s $f4 $f0 $f2 mfc1 $6 $f4 bne $4 $6 fail .datadiv.d_: .asciiz "Testing DIV.D\n"fp_d2: .double 2.0fp_d3: .double 3.0fp_d1p5:.double 1.5 .text li $v0 4 # syscall 4 (print_str) la $a0 div.d_ syscall lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 div.d $f2 $f0 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_d1p5 lw $5 fp_d1p5+4 lwc1 $f0 fp_d3 lwc1 $f1 fp_d3+4 lwc1 $f2 fp_d2 lwc1 $f3 fp_d2+4 div.d $f4 $f0 $f2 mfc1 $6 $f4 mfc1 $7 $f5 bne $4 $6 fail bne $5 $7 fail .datafloor.w.d_: .asciiz "Testing FLOOR.W.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 floor.w.d_ syscall lwc1 $f2 fp_d0 lwc1 $f3 fp_d0+4 floor.w.d $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 floor.w.d $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_d1p5 lwc1 $f3 fp_d1p5+4 floor.w.d $f0 $f2 mfc1 $6 $f0 bne $6 1 fail .datafloor.w.s_: .asciiz "Testing FLOOR.W.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 floor.w.s_ syscall lwc1 $f2 fp_s0 floor.w.s $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_s1 floor.w.s $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_s1p5 floor.w.s $f0 $f2 mfc1 $6 $f0 bne $6 1 fail .dataldc1_: .asciiz "Testing LDC1\n" .align 2ldc1d_: .word 0x7f7f7f7f, 0xf7f7f7f7 .text li $v0 4 # syscall 4 (print_str) la $a0 ldc1_ syscall la $2 ldc1d_ ldc1 $f0 0($2) mfc1 $3, $f0 mfc1 $4, $f1 lw $5 0($2) bne $5 $3 fail lw $5 4($2) bne $5 $4 fail .datal.d_: .asciiz "Testing L.D\n" .align 2l.dd_: .word 0x7f7f7f7f, 0xf7f7f7f7 .text li $v0 4 # syscall 4 (print_str) la $a0 l.d_ syscall la $2 l.dd_ l.d $f0 0($2) mfc1 $3, $f0 mfc1 $4, $f1 lw $5 0($2) bne $5 $3 fail lw $5 4($2) bne $5 $4 fail .datalwc1_: .asciiz "Testing LWC1\n" .align 2lwc1d_: .word 0x7f7f7f7f .text li $v0 4 # syscall 4 (print_str) la $a0 lwc1_ syscall la $2 lwc1d_ lwc1 $f0 0($2) mfc1 $3 $f0 lw $4 0($2) bne $4 $3 fail .datal.s_: .asciiz "Testing L.S\n" .align 2l.sd_: .word 0x7f7f7f7f .text li $v0 4 # syscall 4 (print_str) la $a0 l.s_ syscall la $2 l.sd_ l.s $f0 0($2) mfc1 $3 $f0 lw $4 0($2) bne $4 $3 fail# MFC1 tested previously .datamov.s_: .asciiz "Testing MOV.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 mov.s_ syscall lw $4 fp_s1 lwc1 $f2 fp_s1 mov.s $f4 $f2 mov.s $f6 $f4 mfc1 $6 $f6 bne $4 $6 fail .datamov.d_: .asciiz "Testing MOV.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 mov.d_ syscall lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 mov.d $f4 $f2 mov.d $f6 $f4 mfc1 $6 $f6 mfc1 $7 $f7 bne $4 $6 fail bne $5 $7 fail .datamovf.d_:.asciiz "Testing MOVF.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movf.d_ syscall li $2 0xf0 ctc1 $2 $25 lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 mtc1 $0 $6 mtc1 $0 $7 movf.d $f4 $f2 1 movf.d $f6 $f4 7 mfc1 $6 $f4 mfc1 $7 $f5 bne $4 $6 fail bne $5 $7 fail mfc1 $6 $f6 mfc1 $7 $f7 bne $6 0 fail bne $7 0 fail .datamovf.s_:.asciiz "Testing MOVF.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movf.s_ syscall li $2 0xf0 ctc1 $2 $25 lw $4 fp_s1 lwc1 $f2 fp_s1 mtc1 $0 $6 mtc1 $0 $7 movf.s $f4 $f2 1 movf.s $f6 $f4 7 mfc1 $6 $f4 bne $4 $6 fail mfc1 $6 $f6 bne $6 0 fail .datamovn.d_:.asciiz "Testing MOVN.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movn.d_ syscall li $2 2 lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 movn.d $f2 $f0 $2 mfc1 $6 $f2 mfc1 $7 $f3 bne $6 $4 fail bne $7 $5 fail lwc1 $f0 fp_d1p5 lwc1 $f1 fp_d1p5+4 movn.d $f2 $f0 $0 mfc1 $6 $f2 mfc1 $7 $f3 bne $6 $4 fail bne $7 $5 fail .datamovn.s_:.asciiz "Testing MOVN.s\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movn.s_ syscall li $2 2 lw $4 fp_s1 lwc1 $f0 fp_s1 movn.s $f2 $f0 $2 mfc1 $6 $f2 bne $6 $4 fail lwc1 $f0 fp_s1p5 movn.s $f2 $f0 $0 mfc1 $6 $f2 bne $6 $4 fail .datamovt.d_:.asciiz "Testing MOVT.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movt.d_ syscall li $2 0xf ctc1 $2 $25 lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 mtc1 $0 $6 mtc1 $0 $7 movt.d $f4 $f2 1 movt.d $f6 $f4 7 mfc1 $6 $f4 mfc1 $7 $f5 bne $4 $6 fail bne $5 $7 fail mfc1 $6 $f6 mfc1 $7 $f7 bne $6 0 fail bne $7 0 fail .datamovt.s_:.asciiz "Testing MOVT.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movt.s_ syscall li $2 0xf ctc1 $2 $25 lw $4 fp_s1 lwc1 $f2 fp_s1 mtc1 $0 $6 mtc1 $0 $7 movt.s $f4 $f2 1 movt.s $f6 $f4 7 mfc1 $6 $f4 bne $4 $6 fail mfc1 $6 $f6 bne $6 0 fail .datamovz.d_:.asciiz "Testing MOVZ.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movz.d_ syscall li $2 2 lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 movz.d $f2 $f0 $0 mfc1 $6 $f2 mfc1 $7 $f3 bne $6 $4 fail bne $7 $5 fail lwc1 $f0 fp_d1p5 lwc1 $f1 fp_d1p5+4 movz.d $f2 $f0 $2 mfc1 $6 $f2 mfc1 $7 $f3 bne $6 $4 fail bne $7 $5 fail .datamovz.s_:.asciiz "Testing MOVZ.s\n" .text li $v0 4 # syscall 4 (print_str) la $a0 movz.s_ syscall li $2 2 lw $4 fp_s1 lwc1 $f0 fp_s1 movz.s $f2 $f0 $0 mfc1 $6 $f2 bne $6 $4 fail lwc1 $f0 fp_s1p5 movz.s $f2 $f0 $2 mfc1 $6 $f2 bne $6 $4 fail# MTC1 tested previously .datamul.s_: .asciiz "Testing MUL.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 mul.s_ syscall lw $4 fp_s1 lwc1 $f0 fp_s1 mul.s $f2 $f0 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_s3 lwc1 $f0 fp_s1p5 lwc1 $f2 fp_s2 mul.s $f4 $f0 $f2 mfc1 $6 $f4 bne $4 $6 fail .datamul.d_: .asciiz "Testing MUL.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 mul.d_ syscall lw $4 fp_d1 lw $5 fp_d1+4 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 mul.d $f2 $f0 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_d3 lw $5 fp_d3+4 lwc1 $f0 fp_d1p5 lwc1 $f1 fp_d1p5+4 lwc1 $f2 fp_d2 lwc1 $f3 fp_d2+4 mul.d $f4 $f0 $f2 mfc1 $6 $f4 mfc1 $7 $f5 bne $4 $6 fail bne $5 $7 fail .dataneg.s_: .asciiz "Testing NEG.S\n"fp_sm3: .float -3.0 .text li $v0 4 # syscall 4 (print_str) la $a0 neg.s_ syscall lw $4 fp_sm1 lwc1 $f0 fp_s1 neg.s $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_s3 lwc1 $f0 fp_sm3 neg.s $f2 $f0 mfc1 $6 $f2 bne $4 $6 fail .dataneg.d_: .asciiz "Testing NEG.D\n"fp_dm3: .double -3.0 .text li $v0 4 # syscall 4 (print_str) la $a0 neg.d_ syscall lw $4 fp_dm1 lw $5 fp_dm1+4 lwc1 $f0 fp_d1 lwc1 $f1 fp_d1+4 neg.d $f2 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_d3 lw $5 fp_d3+4 lwc1 $f0 fp_dm3 lwc1 $f1 fp_dm3+4 neg.d $f4 $f0 mfc1 $6 $f4 mfc1 $7 $f5 bne $4 $6 fail bne $5 $7 fail .dataround.w.d_: .asciiz "Testing ROUND.W.D\n"fp_d1p6:.double 1.6 .text li $v0 4 # syscall 4 (print_str) la $a0 round.w.d_ syscall lwc1 $f2 fp_d0 lwc1 $f3 fp_d0+4 round.w.d $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_d1 lwc1 $f3 fp_d1+4 round.w.d $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_d1p6 lwc1 $f3 fp_d1p6+4 round.w.d $f0 $f2 mfc1 $6 $f0 bne $6 2 fail .dataround.w.s_: .asciiz "Testing ROUND.W.S\n"fp_s1p6:.float 1.6 .text li $v0 4 # syscall 4 (print_str) la $a0 round.w.s_ syscall lwc1 $f2 fp_s0 round.w.s $f0 $f2 mfc1 $6 $f0 bne $6 0 fail lwc1 $f2 fp_s1 round.w.s $f0 $f2 mfc1 $6 $f0 bne $6 1 fail lwc1 $f2 fp_s1p6 round.w.s $f0 $f2 mfc1 $6 $f0 bne $6 2 fail .datasqrt.d_:.asciiz "Testing SQRT.D\n"fp_d9: .double 9.0 .text li $v0 4 # syscall 4 (print_str) la $a0 sqrt.d_ syscall ldc1 $f2 fp_d9 sqrt.d $f0 $f2 mul.d $f4 $f0 $f0 c.eq.d $f2 $f4 bc1f 0 fail .datasqrt.s_:.asciiz "Testing SQRT.S\n"fp_s9: .float 9.0 .text li $v0 4 # syscall 4 (print_str) la $a0 sqrt.s_ syscall ldc1 $f2 fp_s9 sqrt.s $f0 $f2 mul.s $f4 $f0 $f0 c.eq.s $f2 $f4 bc1f 0 fail .datasub.s_: .asciiz "Testing SUB.S\n" .text li $v0 4 # syscall 4 (print_str) la $a0 sub.s_ syscall lw $4 fp_s0 lwc1 $f0 fp_s0 sub.s $f2 $f0 $f0 mfc1 $6 $f2 bne $4 $6 fail lw $4 fp_sm1 lw $5 fp_s1 lwc1 $f0 fp_s0 lwc1 $f2 fp_s1 sub.s $f4 $f0 $f2 mfc1 $6 $f4 bne $4 $6 fail sub.s $f4 $f2 $f0 mfc1 $6 $f4 bne $5 $6 fail lw $4 fp_s1p5 lwc1 $f0 fp_s1p5 lwc1 $f2 fp_s3 sub.s $f4 $f2 $f0 mfc1 $6 $f4 bne $4 $6 fail .datasub.d_: .asciiz "Testing SUB.D\n" .text li $v0 4 # syscall 4 (print_str) la $a0 sub.d_ syscall lw $4 fp_d0 lw $5 fp_d0+4 lwc1 $f0 fp_d0 lwc1 $f1 fp_d0+4 sub.d $f2 $f0 $f0 mfc1 $6 $f2 mfc1 $7 $f3 bne $4 $6 fail bne $5 $7 fail lw $4 fp_dm1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -