URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 24 |
Rev 33 |
# fr30 testcase for div1 $Ri
|
# fr30 testcase for div1 $Ri
|
# mach(): fr30
|
# mach(): fr30
|
|
|
.include "testutils.inc"
|
.include "testutils.inc"
|
|
|
START
|
START
|
|
|
.text
|
.text
|
.global div1
|
.global div1
|
div1:
|
div1:
|
; Test div1 $Ri
|
; Test div1 $Ri
|
; example from the manual -- all status bits 0
|
; example from the manual -- all status bits 0
|
mvi_h_gr 0x00ffffff,r2
|
mvi_h_gr 0x00ffffff,r2
|
mvi_h_dr 0x00ffffff,mdh
|
mvi_h_dr 0x00ffffff,mdh
|
mvi_h_dr 0x00000000,mdl
|
mvi_h_dr 0x00000000,mdl
|
set_dbits 0x0
|
set_dbits 0x0
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 0
|
test_cc 0 0 0 0
|
test_dbits 0x0
|
test_dbits 0x0
|
test_h_gr 0x00ffffff,r2
|
test_h_gr 0x00ffffff,r2
|
test_h_dr 0x00ffffff,mdh ; misprinted in manual?
|
test_h_dr 0x00ffffff,mdh ; misprinted in manual?
|
test_h_dr 0x00000001,mdl
|
test_h_dr 0x00000001,mdl
|
|
|
; D0 == 1
|
; D0 == 1
|
set_dbits 0x1
|
set_dbits 0x1
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 0
|
test_cc 0 0 0 0
|
test_dbits 0x1
|
test_dbits 0x1
|
test_h_gr 0x00ffffff,r2
|
test_h_gr 0x00ffffff,r2
|
test_h_dr 0x01fffffe,mdh
|
test_h_dr 0x01fffffe,mdh
|
test_h_dr 0x00000002,mdl
|
test_h_dr 0x00000002,mdl
|
|
|
; D1 == 1
|
; D1 == 1
|
set_dbits 0x2
|
set_dbits 0x2
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 0
|
test_cc 0 0 0 0
|
test_dbits 0x2
|
test_dbits 0x2
|
test_h_gr 0x00ffffff,r2
|
test_h_gr 0x00ffffff,r2
|
test_h_dr 0x03fffffc,mdh
|
test_h_dr 0x03fffffc,mdh
|
test_h_dr 0x00000004,mdl
|
test_h_dr 0x00000004,mdl
|
|
|
; D0 == 1, D1 == 1
|
; D0 == 1, D1 == 1
|
set_dbits 0x3
|
set_dbits 0x3
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 0
|
test_cc 0 0 0 0
|
test_dbits 0x3
|
test_dbits 0x3
|
test_h_gr 0x00ffffff,r2
|
test_h_gr 0x00ffffff,r2
|
test_h_dr 0x08fffff7,mdh
|
test_h_dr 0x08fffff7,mdh
|
test_h_dr 0x00000009,mdl
|
test_h_dr 0x00000009,mdl
|
|
|
; C == 1
|
; C == 1
|
mvi_h_gr 0x11ffffef,r2
|
mvi_h_gr 0x11ffffef,r2
|
set_dbits 0x0
|
set_dbits 0x0
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 1
|
test_cc 0 0 0 1
|
test_dbits 0x0
|
test_dbits 0x0
|
test_h_gr 0x11ffffef,r2
|
test_h_gr 0x11ffffef,r2
|
test_h_dr 0x11ffffee,mdh
|
test_h_dr 0x11ffffee,mdh
|
test_h_dr 0x00000012,mdl
|
test_h_dr 0x00000012,mdl
|
|
|
; D0 == 1, C == 1
|
; D0 == 1, C == 1
|
mvi_h_gr 0x23ffffdd,r2
|
mvi_h_gr 0x23ffffdd,r2
|
set_dbits 0x1
|
set_dbits 0x1
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 1
|
test_cc 0 0 0 1
|
test_dbits 0x1
|
test_dbits 0x1
|
test_h_gr 0x23ffffdd,r2
|
test_h_gr 0x23ffffdd,r2
|
test_h_dr 0xffffffff,mdh
|
test_h_dr 0xffffffff,mdh
|
test_h_dr 0x00000025,mdl
|
test_h_dr 0x00000025,mdl
|
|
|
; D1 == 1, C == 1
|
; D1 == 1, C == 1
|
mvi_h_gr 0x00000003,r2
|
mvi_h_gr 0x00000003,r2
|
set_dbits 0x2
|
set_dbits 0x2
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 1
|
test_cc 0 0 0 1
|
test_dbits 0x2
|
test_dbits 0x2
|
test_h_gr 0x00000003,r2
|
test_h_gr 0x00000003,r2
|
test_h_dr 0x00000001,mdh
|
test_h_dr 0x00000001,mdh
|
test_h_dr 0x0000004b,mdl
|
test_h_dr 0x0000004b,mdl
|
|
|
; D0 == 1, D1 == 1, C == 1
|
; D0 == 1, D1 == 1, C == 1
|
mvi_h_gr 0xfffffffe,r2
|
mvi_h_gr 0xfffffffe,r2
|
set_dbits 0x3
|
set_dbits 0x3
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 0 0 1
|
test_cc 0 0 0 1
|
test_dbits 0x3
|
test_dbits 0x3
|
test_h_gr 0xfffffffe,r2
|
test_h_gr 0xfffffffe,r2
|
test_h_dr 0x00000002,mdh
|
test_h_dr 0x00000002,mdh
|
test_h_dr 0x00000096,mdl
|
test_h_dr 0x00000096,mdl
|
|
|
; remainder is zero
|
; remainder is zero
|
mvi_h_gr 0x00000004,r2
|
mvi_h_gr 0x00000004,r2
|
set_dbits 0x0
|
set_dbits 0x0
|
set_cc 0x00
|
set_cc 0x00
|
div1 r2
|
div1 r2
|
test_cc 0 1 0 0
|
test_cc 0 1 0 0
|
test_dbits 0x0
|
test_dbits 0x0
|
test_h_gr 0x00000004,r2
|
test_h_gr 0x00000004,r2
|
test_h_dr 0x00000000,mdh
|
test_h_dr 0x00000000,mdh
|
test_h_dr 0x0000012d,mdl
|
test_h_dr 0x0000012d,mdl
|
|
|
pass
|
pass
|
|
|
|
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.