@ -24,21 +24,21 @@
*
* /
.extern ulRegTest1LoopCounter
.extern ulRegTest2LoopCounter
.extern ulRegTest1LoopCounter
.extern ulRegTest2LoopCounter
.global vRegTest1Implementation
.global vRegTest2Implementation
.global vRegTest1Implementation
.global vRegTest2Implementation
/*-----------------------------------------------------------*/
/* Constants to define the additional registers found on the Pulpino RI5KY. */
# define l p s t a r t 0 0 x7 b0
# define l p e n d0 0 x7 b1
# define l p c o u n t 0 0 x7 b2
# define l p s t a r t 1 0 x7 b4
# define l p e n d1 0 x7 b5
# define l p c o u n t 1 0 x7 b6
# define l p s t a r t 0 0 x7 b0
# define l p e n d0 0 x7 b1
# define l p c o u n t 0 0 x7 b2
# define l p s t a r t 1 0 x7 b4
# define l p e n d1 0 x7 b5
# define l p c o u n t 1 0 x7 b6
/*-----------------------------------------------------------*/
@ -50,147 +50,145 @@
.align ( 4 )
vRegTest1Implementation :
/* Fill the additional registers with known values. */
li t 0 , 0 x a a
csrw l p s t a r t 0 , t 0
li t 0 , 0 x a b
csrw l p s t a r t 1 , t 0
li t 0 , 0 x a c
csrw l p e n d0 , t 0
li t 0 , 0 x a d
csrw l p e n d1 , t 0
li t 0 , 0 x a e
csrw l p c o u n t 0 , t 0
li t 0 , 0 x a f
csrw l p c o u n t 1 , t 0
/* Fill the core registers with known values. */
li x5 , 0 x5
li x6 , 0 x6
li x7 , 0 x7
li x8 , 0 x8
li x9 , 0 x9
li x10 , 0 x a
li x11 , 0 x b
li x12 , 0 x c
li x13 , 0 x d
li x14 , 0 x e
li x15 , 0 x f
li x16 , 0 x10
li x17 , 0 x11
li x18 , 0 x12
li x19 , 0 x13
li x20 , 0 x14
li x21 , 0 x15
li x22 , 0 x16
li x23 , 0 x17
li x24 , 0 x18
li x25 , 0 x19
li x26 , 0 x1 a
li x27 , 0 x1 b
li x28 , 0 x1 c
li x29 , 0 x1 d
li x30 , 0 x1 e
/* Fill the additional registers with known values. */
li t 0 , 0 x a a
csrw l p s t a r t 0 , t 0
li t 0 , 0 x a b
csrw l p s t a r t 1 , t 0
li t 0 , 0 x a c
csrw l p e n d0 , t 0
li t 0 , 0 x a d
csrw l p e n d1 , t 0
li t 0 , 0 x a e
csrw l p c o u n t 0 , t 0
li t 0 , 0 x a f
csrw l p c o u n t 1 , t 0
/* Fill the core registers with known values. */
li x5 , 0 x5
li x6 , 0 x6
li x7 , 0 x7
li x8 , 0 x8
li x9 , 0 x9
li x10 , 0 x a
li x11 , 0 x b
li x12 , 0 x c
li x13 , 0 x d
li x14 , 0 x e
li x15 , 0 x f
li x16 , 0 x10
li x17 , 0 x11
li x18 , 0 x12
li x19 , 0 x13
li x20 , 0 x14
li x21 , 0 x15
li x22 , 0 x16
li x23 , 0 x17
li x24 , 0 x18
li x25 , 0 x19
li x26 , 0 x1 a
li x27 , 0 x1 b
li x28 , 0 x1 c
li x29 , 0 x1 d
li x30 , 0 x1 e
reg1_loop :
/ * Check e a c h r e g i s t e r s t i l l c o n t a i n s t h e e x p e c t e d k n o w n v a l u e .
vRegTest1 I m p l e m e n t a t i o n u s e s x31 a s t h e t e m p o r a r y , v R e g T e s t 2 I m p l e m e n t a t i o n
uses x5 a s t h e t e m p o r a r y . * /
li x31 , 0 x5
bne x31 , x5 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x6
bne x31 , x6 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x7
bne x31 , x7 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x8
bne x31 , x8 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x9
bne x31 , x9 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x a
bne x31 , x10 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x b
bne x31 , x11 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x c
bne x31 , x12 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x d
bne x31 , x13 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x e
bne x31 , x14 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x f
bne x31 , x15 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x10
bne x31 , x16 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x11
bne x31 , x17 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x12
bne x31 , x18 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x13
bne x31 , x19 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x14
bne x31 , x20 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x15
bne x31 , x21 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x16
bne x31 , x22 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x17
bne x31 , x23 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x18
bne x31 , x24 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x19
bne x31 , x25 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 a
bne x31 , x26 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 b
bne x31 , x27 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 c
bne x31 , x28 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 d
bne x31 , x29 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 e
bne x31 , x30 , r e g 1 _ e r r o r _ l o o p
/ * Check a d d i t i o n a l c h i p s p e c i f i c r e g i s t e r s s t i l l c o n t a i n t h e e x p e c t e d
values. * /
csrr x30 , l p s t a r t 0
li x31 , 0 x a a
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p s t a r t 1
li x31 , 0 x a b
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p e n d0
li x31 , 0 x a c
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p e n d1
li x31 , 0 x a d
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p c o u n t 0
li x31 , 0 x a e
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p c o u n t 1
li x31 , 0 x a f
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
/* Everything passed, increment the loop counter. */
lw x31 , u l R e g T e s t 1 L o o p C o u n t e r C o n s t
lw x30 , 0 ( x31 )
addi x30 , x30 , 1
sw x30 , 0 ( x31 )
/* Restore clobbered register reading for next loop. */
li x30 , 0 x1 e
/* Yield to increase code coverage. */
ecall
/* Start again. */
jal r e g 1 _ l o o p
/ * Check e a c h r e g i s t e r s t i l l c o n t a i n s t h e e x p e c t e d k n o w n v a l u e .
vRegTest1 I m p l e m e n t a t i o n u s e s x31 a s t h e t e m p o r a r y , v R e g T e s t 2 I m p l e m e n t a t i o n
uses x5 a s t h e t e m p o r a r y . * /
li x31 , 0 x5
bne x31 , x5 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x6
bne x31 , x6 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x7
bne x31 , x7 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x8
bne x31 , x8 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x9
bne x31 , x9 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x a
bne x31 , x10 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x b
bne x31 , x11 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x c
bne x31 , x12 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x d
bne x31 , x13 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x e
bne x31 , x14 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x f
bne x31 , x15 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x10
bne x31 , x16 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x11
bne x31 , x17 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x12
bne x31 , x18 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x13
bne x31 , x19 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x14
bne x31 , x20 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x15
bne x31 , x21 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x16
bne x31 , x22 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x17
bne x31 , x23 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x18
bne x31 , x24 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x19
bne x31 , x25 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 a
bne x31 , x26 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 b
bne x31 , x27 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 c
bne x31 , x28 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 d
bne x31 , x29 , r e g 1 _ e r r o r _ l o o p
li x31 , 0 x1 e
bne x31 , x30 , r e g 1 _ e r r o r _ l o o p
/ * Check a d d i t i o n a l c h i p s p e c i f i c r e g i s t e r s s t i l l c o n t a i n t h e e x p e c t e d
values. * /
csrr x30 , l p s t a r t 0
li x31 , 0 x a a
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p s t a r t 1
li x31 , 0 x a b
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p e n d0
li x31 , 0 x a c
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p e n d1
li x31 , 0 x a d
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p c o u n t 0
li x31 , 0 x a e
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
csrr x30 , l p c o u n t 1
li x31 , 0 x a f
bne x30 , x31 , r e g 1 _ e r r o r _ l o o p
/* Everything passed, increment the loop counter. */
lw x31 , u l R e g T e s t 1 L o o p C o u n t e r C o n s t
lw x30 , 0 ( x31 )
addi x30 , x30 , 1
sw x30 , 0 ( x31 )
/* Restore clobbered register reading for next loop. */
li x30 , 0 x1 e
/* Yield to increase code coverage. */
ecall
/* Start again. */
jal r e g 1 _ l o o p
reg1_error_loop :
/ * Jump h e r e i f a r e g i s t e r c o n t a i n s a n u x p e c t e d v a l u e . T h i s s t o p s t h e l o o p
counter b e i n g i n c r e m e n t e d s o t h e c h e c k t a s k k n o w s a n e r r o r w a s f o u n d . * /
ebreak
jal r e g 1 _ e r r o r _ l o o p
/* Busy loop which holds the task. */
jal r e g 1 _ e r r o r _ l o o p
.align ( 4 )
ulRegTest1LoopCounterConst : .word u l R e g T e s t 1 LoopCounter
@ -200,146 +198,142 @@ ulRegTest1LoopCounterConst: .word ulRegTest1LoopCounter
.align ( 4 )
vRegTest2Implementation :
/* Fill the additional registers with known values. */
li t 0 , 0 x1 a a
csrw l p s t a r t 0 , t 0
li t 0 , 0 x1 a b
csrw l p s t a r t 1 , t 0
li t 0 , 0 x1 a c
csrw l p e n d0 , t 0
li t 0 , 0 x1 a d
csrw l p e n d1 , t 0
li t 0 , 0 x1 a e
csrw l p c o u n t 0 , t 0
li t 0 , 0 x1 a f
csrw l p c o u n t 1 , t 0
/* Fill the core registers with known values. */
li x6 , 0 x61
li x7 , 0 x71
li x8 , 0 x81
li x9 , 0 x91
li x10 , 0 x a1
li x11 , 0 x b1
li x12 , 0 x c1
li x13 , 0 x d1
li x14 , 0 x e 1
li x15 , 0 x f1
li x16 , 0 x20
li x17 , 0 x21
li x18 , 0 x22
li x19 , 0 x23
li x20 , 0 x24
li x21 , 0 x25
li x22 , 0 x26
li x23 , 0 x27
li x24 , 0 x28
li x25 , 0 x29
li x26 , 0 x2 a
li x27 , 0 x2 b
li x28 , 0 x2 c
li x29 , 0 x2 d
li x30 , 0 x2 e
li x31 , 0 x2 f
/* Fill the additional registers with known values. */
li t 0 , 0 x1 a a
csrw l p s t a r t 0 , t 0
li t 0 , 0 x1 a b
csrw l p s t a r t 1 , t 0
li t 0 , 0 x1 a c
csrw l p e n d0 , t 0
li t 0 , 0 x1 a d
csrw l p e n d1 , t 0
li t 0 , 0 x1 a e
csrw l p c o u n t 0 , t 0
li t 0 , 0 x1 a f
csrw l p c o u n t 1 , t 0
/* Fill the core registers with known values. */
li x6 , 0 x61
li x7 , 0 x71
li x8 , 0 x81
li x9 , 0 x91
li x10 , 0 x a1
li x11 , 0 x b1
li x12 , 0 x c1
li x13 , 0 x d1
li x14 , 0 x e 1
li x15 , 0 x f1
li x16 , 0 x20
li x17 , 0 x21
li x18 , 0 x22
li x19 , 0 x23
li x20 , 0 x24
li x21 , 0 x25
li x22 , 0 x26
li x23 , 0 x27
li x24 , 0 x28
li x25 , 0 x29
li x26 , 0 x2 a
li x27 , 0 x2 b
li x28 , 0 x2 c
li x29 , 0 x2 d
li x30 , 0 x2 e
li x31 , 0 x2 f
Reg2_loop :
/ * Check e a c h r e g i s t e r s t i l l c o n t a i n s t h e e x p e c t e d k n o w n v a l u e .
vRegTest2 I m p l e m e n t a t i o n u s e s x5 a s t h e t e m p o r a r y , v R e g T e s t 1 I m p l e m e n t a t i o n
uses x31 a s t h e t e m p o r a r y . * /
li x5 , 0 x61
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x71
bne x5 , x7 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x81
bne x5 , x8 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x91
bne x5 , x9 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x a1
bne x5 , x10 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x b1
bne x5 , x11 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x c1
bne x5 , x12 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x d1
bne x5 , x13 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x e 1
bne x5 , x14 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x f1
bne x5 , x15 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x20
bne x5 , x16 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x21
bne x5 , x17 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x22
bne x5 , x18 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x23
bne x5 , x19 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x24
bne x5 , x20 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x25
bne x5 , x21 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x26
bne x5 , x22 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x27
bne x5 , x23 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x28
bne x5 , x24 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x29
bne x5 , x25 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 a
bne x5 , x26 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 b
bne x5 , x27 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 c
bne x5 , x28 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 d
bne x5 , x29 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 e
bne x5 , x30 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 f
bne x5 , x31 , r e g 2 _ e r r o r _ l o o p
/ * Check a d d i t i o n a l c h i p s p e c i f i c r e g i s t e r s s t i l l c o n t a i n t h e e x p e c t e d
values. * /
csrr x5 , l p s t a r t 0
li x6 , 0 x1 a a
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p s t a r t 1
li x6 , 0 x1 a b
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p e n d0
li x6 , 0 x1 a c
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p e n d1
li x6 , 0 x1 a d
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p c o u n t 0
li x6 , 0 x1 a e
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p c o u n t 1
li x6 , 0 x1 a f
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
/* Everything passed, increment the loop counter. */
lw x5 , u l R e g T e s t 2 L o o p C o u n t e r C o n s t
lw x6 , 0 ( x5 )
addi x6 , x6 , 1
sw x6 , 0 ( x5 )
/* Restore clobbered register reading for next loop. */
li x6 , 0 x61
/* Start again. */
jal R e g 2 _ l o o p
/ * Check e a c h r e g i s t e r s t i l l c o n t a i n s t h e e x p e c t e d k n o w n v a l u e .
vRegTest2 I m p l e m e n t a t i o n u s e s x5 a s t h e t e m p o r a r y , v R e g T e s t 1 I m p l e m e n t a t i o n
uses x31 a s t h e t e m p o r a r y . * /
li x5 , 0 x61
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x71
bne x5 , x7 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x81
bne x5 , x8 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x91
bne x5 , x9 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x a1
bne x5 , x10 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x b1
bne x5 , x11 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x c1
bne x5 , x12 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x d1
bne x5 , x13 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x e 1
bne x5 , x14 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x f1
bne x5 , x15 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x20
bne x5 , x16 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x21
bne x5 , x17 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x22
bne x5 , x18 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x23
bne x5 , x19 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x24
bne x5 , x20 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x25
bne x5 , x21 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x26
bne x5 , x22 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x27
bne x5 , x23 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x28
bne x5 , x24 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x29
bne x5 , x25 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 a
bne x5 , x26 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 b
bne x5 , x27 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 c
bne x5 , x28 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 d
bne x5 , x29 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 e
bne x5 , x30 , r e g 2 _ e r r o r _ l o o p
li x5 , 0 x2 f
bne x5 , x31 , r e g 2 _ e r r o r _ l o o p
/ * Check a d d i t i o n a l c h i p s p e c i f i c r e g i s t e r s s t i l l c o n t a i n t h e e x p e c t e d
values. * /
csrr x5 , l p s t a r t 0
li x6 , 0 x1 a a
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p s t a r t 1
li x6 , 0 x1 a b
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p e n d0
li x6 , 0 x1 a c
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p e n d1
li x6 , 0 x1 a d
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p c o u n t 0
li x6 , 0 x1 a e
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
csrr x5 , l p c o u n t 1
li x6 , 0 x1 a f
bne x5 , x6 , r e g 2 _ e r r o r _ l o o p
/* Everything passed, increment the loop counter. */
lw x5 , u l R e g T e s t 2 L o o p C o u n t e r C o n s t
lw x6 , 0 ( x5 )
addi x6 , x6 , 1
sw x6 , 0 ( x5 )
/* Restore clobbered register reading for next loop. */
li x6 , 0 x61
/* Start again. */
jal R e g 2 _ l o o p
reg2_error_loop :
/ * Jump h e r e i f a r e g i s t e r c o n t a i n s a n u x p e c t e d v a l u e . T h i s s t o p s t h e l o o p
counter b e i n g i n c r e m e n t e d s o t h e c h e c k t a s k k n o w s a n e r r o r w a s f o u n d . * /
ebreak
jal r e g 2 _ e r r o r _ l o o p
/* Busy loop which holds the task. */
jal r e g 2 _ e r r o r _ l o o p
.align ( 4 )
ulRegTest2LoopCounterConst : .word u l R e g T e s t 2 LoopCounter