a23.s 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Test ALU ABS accumulators
  2. # mach: bfin
  3. .include "testutils.inc"
  4. start
  5. R0 = 0x00000000;
  6. A0.w = R0;
  7. R0 = 0x80 (X);
  8. A0.x = R0;
  9. A0 = ABS A0;
  10. R4 = A0.w;
  11. R5 = A0.x;
  12. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff );
  13. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  14. R0 = 0x00000001;
  15. A0.w = R0;
  16. R0 = 0x80 (X);
  17. A0.x = R0;
  18. A0 = ABS A0;
  19. R4 = A0.w;
  20. R5 = A0.x;
  21. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff );
  22. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  23. R0 = 0xffffffff;
  24. A0.w = R0;
  25. R0 = 0xff (X);
  26. A0.x = R0;
  27. A0 = ABS A0;
  28. R4 = A0.w;
  29. R5 = A0.x;
  30. DBGA ( R4.H , 0x0000 ); DBGA ( R4.L , 0x0001 );
  31. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x0000 );
  32. R0 = 0xfffffff0;
  33. A0.w = R0;
  34. R0 = 0x7f (X);
  35. A0.x = R0;
  36. A0 = ABS A0;
  37. R4 = A0.w;
  38. R5 = A0.x;
  39. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xfff0 );
  40. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  41. R0 = 0x00000000;
  42. A0.w = R0;
  43. R0 = 0x80 (X);
  44. A0.x = R0;
  45. A1 = ABS A0;
  46. R4 = A1.w;
  47. R5 = A1.x;
  48. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff );
  49. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  50. R0 = 0x00000000;
  51. A0.w = R0;
  52. R0 = 0x80 (X);
  53. A0.x = R0;
  54. R0 = 0x00000002;
  55. A1.w = R0;
  56. R0 = 0x80 (X);
  57. A1.x = R0;
  58. A1 = ABS A1, A0 = ABS A0;
  59. R4 = A0.w;
  60. R5 = A0.x;
  61. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xffff );
  62. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  63. R4 = A1.w;
  64. R5 = A1.x;
  65. DBGA ( R4.H , 0xffff ); DBGA ( R4.L , 0xfffe );
  66. DBGA ( R5.H , 0x0000 ); DBGA ( R5.L , 0x007f );
  67. pass