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