home *** CD-ROM | disk | FTP | other *** search
- 333,334c333,334
- < jmp *L%d(r0)\n\
- < .data\n\
- ---
- > asl r0\n\
- > jmp L%d(r0)\n\
- 338,347d337
- < char simpsw[] {"\
- < mov $L%d,r1\n\
- < mov r0,L%d\n\
- < L%d:cmp r0,(r1)+\n\
- < jne L%d\n\
- < jmp *L%d-L%d(r1)\n\
- < .data\n\
- < L%d:\
- < "};
- <
- 353,359c343,344
- < add $L%d,r1\n\
- < mov r0,*(r1)+\n\
- < mov (r1)+,r1\n\
- < L%d:cmp r0,-(r1)\n\
- < jne L%d\n\
- < jmp *L%d-L%d(r1)\n\
- < .data\n\
- ---
- > asl r1\n\
- > jmp L%d(r1)\n\
- 390c375
- < printf("L%d\n", fp->swlab);
- ---
- > printf("012707\nL%d\n", fp->swlab);
- 393c378
- < printf("L%d\n", deflab);
- ---
- > printf("012707\nL%d\n", deflab);
- 399,401d383
- < i = isn++;
- < j = isn++;
- < printf(simpsw, i, j, isn, isn, j, i, i);
- 403,408c385,392
- < for (; fp<=lp; fp++)
- < printf("%o\n", fp->swval);
- < printf("L%d:..\n", j);
- < for (fp = afp; fp<=lp; fp++)
- < printf("L%d\n", fp->swlab);
- < printf("L%d\n", deflab);
- ---
- > for (; fp<=lp; fp++) {
- > if (fp->swval)
- > printf("cmp r0,$%o\n", fp->swval);
- > else
- > printf("tst r0\n");
- > printf("jeq L%d\n", fp->swlab);
- > }
- > printf("jbr L%d\n", deflab);
- 429c413
- < printf(hashsw, tabs, isn, i, i, isn+tabs+1, isn+1, isn);
- ---
- > printf(hashsw, tabs, i, i);
- 431,432c415,416
- < for (i=0; i<=tabs; i++)
- < printf("L%d\n", isn+i);
- ---
- > for (i=0; i<tabs; i++)
- > printf("012707\nL%d\n", isn+i);
- 434c418
- < printf("L%d:..\n", isn++);
- ---
- > printf("L%d:\n", isn++);
- 436,437c420,427
- < if (lrem(0, swp->swval, tabs) == i)
- < printf("%o\n", ldiv(0, swp->swval, tabs));
- ---
- > if (lrem(0, swp->swval, tabs) == i) {
- > if (ldiv(0, swp->swval, tabs))
- > printf("cmp r0,$%o\n", ldiv(0, swp->swval, tabs));
- > else
- > printf("tst r0\n");
- > printf("jeq L%d\n", swp->swlab);
- > }
- > printf("jbr L%d\n", deflab);
- 439,445d428
- < printf("L%d:", isn++);
- < for (i=0; i<tabs; i++) {
- < printf("L%d\n", deflab);
- < for (swp=fp; swp<=lp; swp++)
- < if (lrem(0, swp->swval, tabs) == i)
- < printf("L%d\n", swp->swlab);
- < }
- 447c430
- < printf(".text\n");
- ---
- > ;
-