testb.s 1.71 KB
/************************************************************************
  This RSP program implements Test B by Suk and Reddy for DMEM stuck-at
  and coupling faults.
 ************************************************************************/

	.base 0x04001000

	nor	$31, $0,  $0

	ori	$20, $0,  0x001F
	ori	$29, $0,  0x0FFC

	ori	$30, $0,  0
	or	$1,  $0,  $0
StepR:	sw	$0,  0 ($1)
	bne	$1,  $29, StepR
	addi	$1,  $1,  0x0004

	ori	$30, $0,  1
	or	$1,  $0,  $0
Step1:	ori	$4,  $0,  1
  Step1a:
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	beq	$3,  $4,  Fail
	or	$2,  $2,  $4
	sw	$2,  0 ($1)
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	bne	$3,  $4,  Fail
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	beq	$3,  $4,  Fail
	or	$2,  $2,  $4
	sw	$2,  0 ($1)
	sll	$4,  $4,  1
	bne	$4,  $0,  Step1a
	nop
	bne	$1,  $29, Step1
	addi	$1,  $1,  0x0004
	
	ori	$30, $0,  2
	or	$1,  $0,  $0
Step2:	ori	$4,  $0,  1
  Step2a:
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	bne	$3,  $4,  Fail
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	or	$2,  $2,  $4
	sw	$2,  0 ($1)
	sll	$4,  $4,  1
	bne	$4,  $0,  Step2a
	nop
	bne	$1,  $29, Step2
	addi	$1,  $1,  0x0004
	
	ori	$30, $0,  3
	or	$1,  $29, $0
Step3:	lui	$4,  0x8000
  Step3a:
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	bne	$3,  $4,  Fail
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	srl	$4,  $4,  1
	bne	$4,  $0,  Step3a
	nop
	bne	$1,  $0,  Step3
	addi	$1,  $1,  0xFFFC
	
	ori	$30, $0,  4
	or	$1,  $29, $0
Step4:	lui	$4,  0x8000
  Step4a:
	lw	$2,  0 ($1)
	and	$3,  $2,  $4
	beq	$3,  $4,  Fail
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	xor	$2,  $2,  $4
	sw	$2,  0 ($1)
	srl	$4,  $4,  1
	bne	$4,  $0,  Step4a
	nop
	bne	$1,  $0,  Step4
	addi	$1,  $1,  0xFFFC
	
	ori	$1,  $0,  0xFEED
Fail:	break