Search
lxdream.org :: lxdream/test/sh4/rot.s
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/rot.s
changeset 396:0738dbc01d95
author nkeynes
date Thu Jul 24 07:27:48 2008 +0000 (15 years ago)
permissions -rw-r--r--
last change Halt emulation after reporting an error
file annotate diff log raw
nkeynes@396
     1
.section .text
nkeynes@396
     2
.include "sh4/inc.s"
nkeynes@396
     3
nkeynes@396
     4
.global _test_rot
nkeynes@396
     5
_test_rot:
nkeynes@396
     6
	start_test
nkeynes@396
     7
nkeynes@396
     8
test_rotl_1:
nkeynes@396
     9
	add #1, r12
nkeynes@396
    10
nkeynes@396
    11
	mov.l test_rotl_1_input, r3
nkeynes@396
    12
	mov.l test_rotl_1_result, r4
nkeynes@396
    13
	clrt
nkeynes@396
    14
	rotl r3
nkeynes@396
    15
	bf test_rotl_1_fail
nkeynes@396
    16
	cmp/eq r3, r4
nkeynes@396
    17
	bt test_rotl_2
nkeynes@396
    18
test_rotl_1_fail:	
nkeynes@396
    19
	fail test_rot_str_k
nkeynes@396
    20
	bra test_rotl_2
nkeynes@396
    21
	nop
nkeynes@396
    22
test_rotl_1_input:
nkeynes@396
    23
	.long 0x94E12323
nkeynes@396
    24
test_rotl_1_result:
nkeynes@396
    25
	.long 0x29C24647
nkeynes@396
    26
nkeynes@396
    27
test_rotl_2:
nkeynes@396
    28
	add #1, r12
nkeynes@396
    29
	mov.l test_rotl_2_input, r3
nkeynes@396
    30
	mov.l test_rotl_2_result, r4
nkeynes@396
    31
	sett
nkeynes@396
    32
	rotl r3
nkeynes@396
    33
	bt test_rotl_2_fail
nkeynes@396
    34
	cmp/eq r3, r4
nkeynes@396
    35
	bt test_rotcl_1
nkeynes@396
    36
test_rotl_2_fail:	
nkeynes@396
    37
	fail test_rot_str_k
nkeynes@396
    38
	bra test_rotcl_1
nkeynes@396
    39
	nop
nkeynes@396
    40
test_rotl_2_input:
nkeynes@396
    41
	.long 0x29C24646
nkeynes@396
    42
test_rotl_2_result:
nkeynes@396
    43
	.long 0x53848C8C
nkeynes@396
    44
nkeynes@396
    45
nkeynes@396
    46
test_rotcl_1:
nkeynes@396
    47
	add #1, r12
nkeynes@396
    48
nkeynes@396
    49
	mov.l test_rotcl_1_input, r3
nkeynes@396
    50
	mov.l test_rotcl_1_result, r4
nkeynes@396
    51
	clrt
nkeynes@396
    52
	rotcl r3
nkeynes@396
    53
	bf test_rotcl_1_fail
nkeynes@396
    54
	cmp/eq r3, r4
nkeynes@396
    55
	bt test_rotcl_2
nkeynes@396
    56
test_rotcl_1_fail:	
nkeynes@396
    57
	fail test_rot_str_k
nkeynes@396
    58
	bra test_rotcl_2
nkeynes@396
    59
	nop
nkeynes@396
    60
test_rotcl_1_input:
nkeynes@396
    61
	.long 0x94E12323
nkeynes@396
    62
test_rotcl_1_result:
nkeynes@396
    63
	.long 0x29C24646
nkeynes@396
    64
nkeynes@396
    65
test_rotcl_2:
nkeynes@396
    66
	add #1, r12
nkeynes@396
    67
	mov.l test_rotcl_2_input, r3
nkeynes@396
    68
	mov.l test_rotcl_2_result, r4
nkeynes@396
    69
	sett
nkeynes@396
    70
	rotcl r3
nkeynes@396
    71
	bt test_rotcl_2_fail
nkeynes@396
    72
	cmp/eq r3, r4
nkeynes@396
    73
	bt test_rotr_1
nkeynes@396
    74
test_rotcl_2_fail:	
nkeynes@396
    75
	fail test_rot_str_k
nkeynes@396
    76
	bra test_rotr_1
nkeynes@396
    77
	nop
nkeynes@396
    78
test_rotcl_2_input:
nkeynes@396
    79
	.long 0x29C24646
nkeynes@396
    80
test_rotcl_2_result:
nkeynes@396
    81
	.long 0x53848C8D
nkeynes@396
    82
nkeynes@396
    83
test_rotr_1:
nkeynes@396
    84
	add #1, r12
nkeynes@396
    85
nkeynes@396
    86
	mov.l test_rotr_1_input, r3
nkeynes@396
    87
	mov.l test_rotr_1_result, r4
nkeynes@396
    88
	clrt
nkeynes@396
    89
	rotr r3
nkeynes@396
    90
	bf test_rotr_1_fail
nkeynes@396
    91
	cmp/eq r3, r4
nkeynes@396
    92
	bt test_rotr_2
nkeynes@396
    93
test_rotr_1_fail:	
nkeynes@396
    94
	fail test_rot_str_k
nkeynes@396
    95
	bra test_rotr_2
nkeynes@396
    96
	nop
nkeynes@396
    97
test_rotr_1_input:
nkeynes@396
    98
	.long 0x94E12323
nkeynes@396
    99
test_rotr_1_result:
nkeynes@396
   100
	.long 0xCA709191
nkeynes@396
   101
nkeynes@396
   102
test_rotr_2:
nkeynes@396
   103
	add #1, r12
nkeynes@396
   104
	mov.l test_rotr_2_input, r3
nkeynes@396
   105
	mov.l test_rotr_2_result, r4
nkeynes@396
   106
	sett
nkeynes@396
   107
	rotr r3
nkeynes@396
   108
	bt test_rotr_2_fail
nkeynes@396
   109
	cmp/eq r3, r4
nkeynes@396
   110
	bt test_rotcr_1
nkeynes@396
   111
test_rotr_2_fail:	
nkeynes@396
   112
	fail test_rot_str_k
nkeynes@396
   113
	bra test_rotcr_1
nkeynes@396
   114
	nop
nkeynes@396
   115
test_rotr_2_input:
nkeynes@396
   116
	.long 0xC2709192
nkeynes@396
   117
test_rotr_2_result:
nkeynes@396
   118
	.long 0x613848C9
nkeynes@396
   119
nkeynes@396
   120
nkeynes@396
   121
test_rotcr_1:
nkeynes@396
   122
	add #1, r12
nkeynes@396
   123
nkeynes@396
   124
	mov.l test_rotcr_1_input, r3
nkeynes@396
   125
	mov.l test_rotcr_1_result, r4
nkeynes@396
   126
	clrt
nkeynes@396
   127
	rotcr r3
nkeynes@396
   128
	bf test_rotcr_1_fail
nkeynes@396
   129
	cmp/eq r3, r4
nkeynes@396
   130
	bt test_rotcr_2
nkeynes@396
   131
test_rotcr_1_fail:	
nkeynes@396
   132
	fail test_rot_str_k
nkeynes@396
   133
	bra test_rotcr_2
nkeynes@396
   134
	nop
nkeynes@396
   135
test_rotcr_1_input:
nkeynes@396
   136
	.long 0x94E12323
nkeynes@396
   137
test_rotcr_1_result:
nkeynes@396
   138
	.long 0x4A709191
nkeynes@396
   139
nkeynes@396
   140
test_rotcr_2:
nkeynes@396
   141
	add #1, r12
nkeynes@396
   142
	mov.l test_rotcr_2_input, r3
nkeynes@396
   143
	mov.l test_rotcr_2_result, r4
nkeynes@396
   144
	sett
nkeynes@396
   145
	rotcr r3
nkeynes@396
   146
	bt test_rotcr_2_fail
nkeynes@396
   147
	cmp/eq r3, r4
nkeynes@396
   148
	bt test_rot_end
nkeynes@396
   149
test_rotcr_2_fail:	
nkeynes@396
   150
	fail test_rot_str_k
nkeynes@396
   151
	bra test_rot_end
nkeynes@396
   152
	nop
nkeynes@396
   153
test_rotcr_2_input:	
nkeynes@396
   154
	.long 0xC2709192
nkeynes@396
   155
test_rotcr_2_result:
nkeynes@396
   156
	.long 0xE13848C9
nkeynes@396
   157
nkeynes@396
   158
nkeynes@396
   159
		
nkeynes@396
   160
nkeynes@396
   161
nkeynes@396
   162
test_rot_end:
nkeynes@396
   163
	end_test test_rot_str_k
nkeynes@396
   164
nkeynes@396
   165
test_rot_str:
nkeynes@396
   166
	.string "ROT"
nkeynes@396
   167
nkeynes@396
   168
.align 4	
nkeynes@396
   169
test_rot_str_k:	
nkeynes@396
   170
	.long test_rot_str
nkeynes@396
   171
	
.