home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / upgrade / c / c11.c < prev    next >
Text File  |  1980-02-17  |  2KB  |  95 lines

  1. 333,334c333,334
  2. < jmp    *L%d(r0)\n\
  3. < .data\n\
  4. ---
  5. > asl    r0\n\
  6. > jmp    L%d(r0)\n\
  7. 338,347d337
  8. < char    simpsw[] {"\
  9. < mov    $L%d,r1\n\
  10. < mov    r0,L%d\n\
  11. < L%d:cmp    r0,(r1)+\n\
  12. < jne    L%d\n\
  13. < jmp    *L%d-L%d(r1)\n\
  14. < .data\n\
  15. < L%d:\
  16. < "};
  17. 353,359c343,344
  18. < add    $L%d,r1\n\
  19. < mov    r0,*(r1)+\n\
  20. < mov    (r1)+,r1\n\
  21. < L%d:cmp    r0,-(r1)\n\
  22. < jne    L%d\n\
  23. < jmp    *L%d-L%d(r1)\n\
  24. < .data\n\
  25. ---
  26. > asl    r1\n\
  27. > jmp    L%d(r1)\n\
  28. 390c375
  29. <                 printf("L%d\n", fp->swlab);
  30. ---
  31. >                 printf("012707\nL%d\n", fp->swlab);
  32. 393c378
  33. <                 printf("L%d\n", deflab);
  34. ---
  35. >                 printf("012707\nL%d\n", deflab);
  36. 399,401d383
  37. <         i = isn++;
  38. <         j = isn++;
  39. <         printf(simpsw, i, j, isn, isn, j, i, i);
  40. 403,408c385,392
  41. <         for (; fp<=lp; fp++)
  42. <             printf("%o\n", fp->swval);
  43. <         printf("L%d:..\n", j);
  44. <         for (fp = afp; fp<=lp; fp++)
  45. <             printf("L%d\n", fp->swlab);
  46. <         printf("L%d\n", deflab);
  47. ---
  48. >         for (; fp<=lp; fp++) {
  49. >             if (fp->swval)
  50. >                 printf("cmp    r0,$%o\n", fp->swval);
  51. >             else
  52. >                 printf("tst    r0\n");
  53. >             printf("jeq    L%d\n", fp->swlab);
  54. >         }
  55. >         printf("jbr    L%d\n", deflab);
  56. 429c413
  57. <     printf(hashsw, tabs, isn, i, i, isn+tabs+1, isn+1, isn);
  58. ---
  59. >     printf(hashsw, tabs, i, i);
  60. 431,432c415,416
  61. <     for (i=0; i<=tabs; i++)
  62. <         printf("L%d\n", isn+i);
  63. ---
  64. >     for (i=0; i<tabs; i++)
  65. >         printf("012707\nL%d\n", isn+i);
  66. 434c418
  67. <         printf("L%d:..\n", isn++);
  68. ---
  69. >         printf("L%d:\n", isn++);
  70. 436,437c420,427
  71. <             if (lrem(0, swp->swval, tabs) == i)
  72. <                 printf("%o\n", ldiv(0, swp->swval, tabs));
  73. ---
  74. >             if (lrem(0, swp->swval, tabs) == i) {
  75. >                 if (ldiv(0, swp->swval, tabs))
  76. >                     printf("cmp    r0,$%o\n", ldiv(0, swp->swval, tabs));
  77. >                 else
  78. >                     printf("tst    r0\n");
  79. >                 printf("jeq    L%d\n", swp->swlab);
  80. >             }
  81. >         printf("jbr    L%d\n", deflab);
  82. 439,445d428
  83. <     printf("L%d:", isn++);
  84. <     for (i=0; i<tabs; i++) {
  85. <         printf("L%d\n", deflab);
  86. <         for (swp=fp; swp<=lp; swp++)
  87. <             if (lrem(0, swp->swval, tabs) == i)
  88. <                 printf("L%d\n", swp->swlab);
  89. <     }
  90. 447c430
  91. <     printf(".text\n");
  92. ---
  93. >     ;
  94.