| // 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 |