logic.s 957 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // test program for microcontroller instructions
  2. // Test instructions
  3. // r4 = r2 & r3;
  4. // r4 = r2 | r3;
  5. // r4 = r2 ^ r3;
  6. // r4 = ~ r2;
  7. # mach: bfin
  8. .include "testutils.inc"
  9. start
  10. loadsym P0, data0;
  11. R0 = [ P0 ++ ];
  12. R1 = [ P0 ++ ];
  13. R2 = [ P0 ++ ];
  14. R3 = [ P0 ++ ];
  15. R4 = [ P0 ++ ];
  16. R7 = R0 & R1;
  17. DBGA ( R7.L , 0x1111 );
  18. DBGA ( R7.H , 0x1111 );
  19. R7 = R2 & R3;
  20. DBGA ( R7.L , 0x0001 );
  21. DBGA ( R7.H , 0x0000 );
  22. R7 = R0 | R1;
  23. DBGA ( R7.L , 0xffff );
  24. DBGA ( R7.H , 0xffff );
  25. R7 = R2 | R3;
  26. DBGA ( R7.L , 0x000f );
  27. DBGA ( R7.H , 0x0000 );
  28. R7 = R0 ^ R1;
  29. DBGA ( R7.L , 0xeeee );
  30. DBGA ( R7.H , 0xeeee );
  31. R7 = R2 ^ R3;
  32. DBGA ( R7.L , 0x000e );
  33. DBGA ( R7.H , 0x0000 );
  34. R7 = ~ R0;
  35. DBGA ( R7.L , 0xeeee );
  36. DBGA ( R7.H , 0xeeee );
  37. R7 = ~ R2;
  38. DBGA ( R7.L , 0xfffe );
  39. DBGA ( R7.H , 0xffff );
  40. pass
  41. .data
  42. data0:
  43. .dw 0x1111
  44. .dw 0x1111
  45. .dw 0xffff
  46. .dw 0xffff
  47. .dw 0x0001
  48. .dw 0x0000
  49. .dw 0x000f
  50. .dw 0x0000
  51. .dw 0x0000
  52. .dw 0x0000