URL
https://opencores.org/ocsvn/amber/amber/trunk
[/] [amber/] [trunk/] [hw/] [tests/] [tst.S] - Diff between revs 82 and 83
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 82 |
Rev 83 |
Line 59... |
Line 59... |
|
|
// should not unset the V flag value
|
// should not unset the V flag value
|
tst r1, #0
|
tst r1, #0
|
|
|
// Check the V flag and Z flag are still set, the C flag
|
// Check the V flag and Z flag are still set, the C flag
|
// gets the carry out value from the barrel shifter, which is
|
// is clear, and the N flag gets cleared
|
// the C flag in this case, and the N flag gets cleared
|
|
bvc testfail
|
bvc testfail
|
bne testfail
|
bne testfail
|
bcc testfail
|
bcs testfail
|
bmi testfail
|
bmi testfail
|
|
|
// Test "Strange issue with r12 after TEQLSP"
|
// Test "Strange issue with r12 after TEQLSP"
|
mov r1, #0x1
|
mov r1, #0x1
|
mov r2, #0x1
|
mov r2, #0x1
|
Line 83... |
Line 82... |
movls r4, r11
|
movls r4, r11
|
movhi r3, #0
|
movhi r3, #0
|
teqp r1, r2 // r1 XOR r2 = 0x1 -> sets the mode bits of the PC to 1
|
teqp r1, r2 // r1 XOR r2 = 0x1 -> sets the mode bits of the PC to 1
|
mov r12, r6 // normal r12 or FIRQ r12 ?
|
mov r12, r6 // normal r12 or FIRQ r12 ?
|
|
|
|
|
|
// test if carry flag correctly set
|
|
// set the carry up
|
|
mov r1, #0xffffffff
|
|
adds r1, r1, #1
|
|
|
|
// do the test
|
|
mov r1, #0x00800000
|
|
tst r1, #0x00ff0000
|
|
movcc r0, #0
|
|
movcs r0, #1
|
|
|
b testpass
|
b testpass
|
|
|
testfail:
|
testfail:
|
ldr r11, AdrTestStatus
|
ldr r11, AdrTestStatus
|
str r10, [r11]
|
str r10, [r11]
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.