// test program for microcontroller instructions | |
// Test instructions | |
// r4 = r2 & r3; | |
// r4 = r2 | r3; | |
// r4 = r2 ^ r3; | |
// r4 = ~ r2; | |
# mach: bfin | |
.include "testutils.inc" | |
start | |
loadsym P0, data0; | |
R0 = [ P0 ++ ]; | |
R1 = [ P0 ++ ]; | |
R2 = [ P0 ++ ]; | |
R3 = [ P0 ++ ]; | |
R4 = [ P0 ++ ]; | |
R7 = R0 & R1; | |
DBGA ( R7.L , 0x1111 ); | |
DBGA ( R7.H , 0x1111 ); | |
R7 = R2 & R3; | |
DBGA ( R7.L , 0x0001 ); | |
DBGA ( R7.H , 0x0000 ); | |
R7 = R0 | R1; | |
DBGA ( R7.L , 0xffff ); | |
DBGA ( R7.H , 0xffff ); | |
R7 = R2 | R3; | |
DBGA ( R7.L , 0x000f ); | |
DBGA ( R7.H , 0x0000 ); | |
R7 = R0 ^ R1; | |
DBGA ( R7.L , 0xeeee ); | |
DBGA ( R7.H , 0xeeee ); | |
R7 = R2 ^ R3; | |
DBGA ( R7.L , 0x000e ); | |
DBGA ( R7.H , 0x0000 ); | |
R7 = ~ R0; | |
DBGA ( R7.L , 0xeeee ); | |
DBGA ( R7.H , 0xeeee ); | |
R7 = ~ R2; | |
DBGA ( R7.L , 0xfffe ); | |
DBGA ( R7.H , 0xffff ); | |
pass | |
.data | |
data0: | |
.dw 0x1111 | |
.dw 0x1111 | |
.dw 0xffff | |
.dw 0xffff | |
.dw 0x0001 | |
.dw 0x0000 | |
.dw 0x000f | |
.dw 0x0000 | |
.dw 0x0000 | |
.dw 0x0000 |