pr.s 852 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # mach: bfin
  2. .include "testutils.inc"
  3. start
  4. loadsym R3, foo;
  5. I1 = R3;
  6. R4 = 0x10
  7. R4 = R4 + R3;
  8. P0 = R4;
  9. R4 = 0x14;
  10. R4 = R4 + R3;
  11. I0 = R4;
  12. r0 = 0x22;
  13. loadsym P1, bar;
  14. [i0] = r0;
  15. [i1] = r0;
  16. doItAgain:
  17. p2 = 4;
  18. r5=0;
  19. LSETUP ( lstart , lend) LC0 = P2;
  20. lstart:
  21. MNOP || R2 = [ I0 ++ ] || R1 = [ I1 ++ ];
  22. CC = R1 == R2;
  23. IF CC JUMP lend;
  24. R1 = [ P1 + 0x0 ];
  25. R1 = R1 + R0;
  26. [ P1 + 0x0 ] = R1;
  27. lend:
  28. NOP;
  29. if !cc jump _halt0;
  30. cc = r5 == 0;
  31. if !cc jump _halt0;
  32. r4=1;
  33. r5=r5+r4;
  34. r1=i0;
  35. R4 = 0x24;
  36. R4 = R3 + R4
  37. CC = R1 == R4
  38. if !CC JUMP _fail;
  39. i2=i0;
  40. r2=0x1234;
  41. [i2++]=r2;
  42. [i2++]=r2;
  43. [i2++]=r2;
  44. [i2++]=r2;
  45. [i2++]=r2;
  46. [i2++]=r2;
  47. [i2++]=r2;
  48. jump doItAgain;
  49. _halt0:
  50. r0=i0;
  51. R4 = 0x34;
  52. R4 = R4 + R3;
  53. CC = R0 == R4;
  54. IF !CC JUMP _fail;
  55. pass;
  56. _fail:
  57. fail;
  58. .data
  59. foo:
  60. .space (0x100);
  61. bar:
  62. .space (0x1000);